Q&A
□ アップロードできない・変換されない
ファイル名に日本語を使用している場合、動作保証はしておりません。
ファイル名は、英数半角にしてください。
□ 日本語が表示されない
PDFに日本語が埋め込まれていないと変換できなかったり、文字化けすることがあります。
PDFに日本語を埋め込むかアウトラインを取って再度生成して下さい。
□ JPEGのサイズを変えたい
pdftoppm -r 解像度 pdfファイル tmp
の -r 指定で変更可能です。
□ PDF全ページ行いたい
ソースでは、" pdftoppm -f 1 -l 4 pdfファイル tmp " にて 1ページ目から4ページまでの指定をしています。
-f と -l を削除すると、全ページが対象となります。
処理のソース
アップロードされたpdfの処理
$p_file = $_FILES['f_file'];
$ftmp_name = $p_file['tmp_name'];
$fname = $p_file['name'];
$fsize = $p_file['size'];
$ftype = $p_file['type'];
$kakutyochi = substr(strtolower($fname),-3) ;
if ($kakutyochi=="pdf") { ' 拡張子がPDF
move_uploaded_file($ftmp_name, "./wait_pdf/".$uid.".pdf");
exec("pdfinfo ./wait_pdf/".$uid.".pdf" , $ret, $retCode);' ページ数を取得
foreach($ret as $key =>$value) {
if (substr($value,0,5)=="Pages") {
$max_page = trim(str_replace("Pages:","",$value)) ;
}
}
}
pdfの変換処理
<?php
$pg = $_GET['pg'] ;
$uid = $_GET['uid'] ;
echo "start$lt;br>" ;
if ($pg>4) {' 4ページに限定
$pg = 4;
}
$m_path="./wait_pdf" ;
$u_path="./".$uid ;
$mpath=realpath($m_path) ;
$upath=realpath($u_path) ;
exec("pdftoppm ./wait_pdf/".$uid.".pdf -f 1 -l ".$pg." ".$uid) ;
exec("mogrify -format jpg ./".$uid."*.ppm") ;
for ($i=1; $i<=4; $i++) {
if (is_file("./".$uid."-00000".$i.".ppm")) {
unlink ("./".$uid."-00000".$i.".ppm") ;
echo "<a href='".$uid."-00000".$i.".jpg' target=jpg><img src='".$uid."-00000".$i.".jpg'
width=100 border=1></a> " ;
}
}
echo "<br>finished" ;
?>