入力タイプ=ファイル(画像)をプレビューし、pdfに生成するスクリプトがあります。プレビュー(データベースなし)で画像のサイズを変更するには
小さな画像でも問題ありません。それから私はサイズ6Mbで入力すると、プレビューはOKですが、pdfに生成すると非常に長い時間がかかり、最終的には停止します。
画像のサイズを200x240pxに変更します。しかし、私はそれを行う方法がわからないので、スクリプトは、javascriptを使用し、私はまだそれを初心者です。
スクリプトのサイズを変更する方法をお手伝いしてください。
スクリプト:
function previewFile(){
var preview = document.querySelector('img'); //selects the query named img
var file = document.querySelector('input[type=file]').files[0]; //sames as here
var reader = new FileReader();
reader.onloadend = function() {
console.log(reader.result);
//preview.src = reader.result;
$('#gen-template-frame').contents().find('.logo img').attr('src', reader.result);
}
if (file) {
reader.readAsDataURL(file); //reads the data as a URL
} else {
preview.src = "";
}
}
はHTML:
<!doctype html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="../css/magang/front.css">
</head>
<body>
<div class="corpname" contenteditable>RUMAH SAKIT HARUM</div>
<div class="logosisma"><img src="https://sismadigroup.com/idcard/images/background/logo-id-card.png" width="219" height="70" /></div>
<div class="logo">
<!--<img src="resize/resize.php?src=https://sismadigroup.com/idcard/templates/images/avatar/3.jpg&scale=10&q=100">-->
<img src="https://sismadigroup.com/idcard/templates/images/avatar/3.jpg" width="200" height="240" />
</div>
<div class="name highlight" contenteditable>Maesyaroh</div>
<div class="position" contenteditable>Siswa Magang</div>
<div class="nik" contenteditable>SM-0035</div>
<div class="BBP">BENAR BAIK PANTAS</div>
<div class="BBPPoint" style="left:135px;"> . </div>
<div class="BBPPoint" style="left:203px;"> . </div>
</body>
</html>
編集:PDF生成のためのPHP:
$frontPage = resolveDependency(stripslashes($_POST[ "html" ]));
$backPage = resolveDependency(stripslashes($_POST[ "html2" ]));
$frontPageCSS = getCSSFromHTML($frontPage);
$backPageCSS = getCSSFromHTML($backPage);
$mpdf = new mPDF('utf-8', array(75, 114.6), 0, '', 0, 0, 0, 0, 0, 0);
$mpdf->WriteHTML($frontPageCSS, 1);
$mpdf->WriteHTML($frontPage, 0);
$mpdf->WriteHTML('<pagebreak>', 2);
$mpdf->WriteHTML($backPageCSS, 1);
$mpdf->WriteHTML($backPage, 0);
$mpdf->Output('card.pdf', 'I');
私はあなたがJSでそれをすることはできないと思いますが、おそらくあなたはサーバー側でそれを行うことができます。どのようにPDFを生成していますか? –
'$ frontPage = resolveDependency(stripslashes($ _POST [" html "])); \t $ backPage = resolveDependency(stripslashes($ _POST ["html2"])); \t $ frontPageCSS = getCSSFromHTML($ frontPage); \t $ backPageCSS = getCSSFromHTML($ backPage); \t $ mpdf =新しいmPDF( 'utf-8'、配列(75,114.6)、0、 ''、0、0、0、0、0、0); \t $ mpdf-> WriteHTML($ frontPageCSS、1); \t $ mpdf-> WriteHTML($ frontPage、0); \t $ mpdf-> WriteHTML( ''、2); \t $ mpdf-> WriteHTML($ backPageCSS、1); \t $ mpdf-> WriteHTML($ backPage、0); \t $ mpdf->出力( 'card.pdf'、 'I'); ' –
私はそのようなスクリプトを使用しています –