監査人の処理が必要なユーザーがアップロードしたPDF文書があります。 PDF内のスキャンされたページが横向きまたは逆さまになることがあります。 PHPを使ってページをどのように回転させるのですか?PHPを使用してPDF内のすべてのページまたは特定のページをローテーションするにはどうすればよいですか?
私はTCPDFを使用していると私はFPDF/FPDI
私のコードと同じであると信じてTCPDIは、下記、うまくすべてのページを回転しますが、私はちょうど1ページを指定する場合、の3ページを言わせてページ1と2だけを残し、ページ3を回転し、ページ4と5を回転し続けます。なぜですか?
また、このコードは意味がありますか?これを行う適切な方法ですか、それとも簡単な方法ですか?
function rotatePDF($file, $degrees, $page = 'all'){
$pdf = new TCPDI(); // new object
$pdf->setPrintHeader(false); // no headers
$pdf->setPrintFooter(false); // no footers
$pagecount = $pdf->setSourceFile($file); //the original file
// rotate all - THIS WORKS FINE
if($page=="all"){
for ($i = 1; $i <= $pagecount; $i++) {
$pageformat = array('Rotate'=>$degrees);
$tpage = $pdf->importPage($i);
$size = $pdf->getTemplateSize($tpage);
// get original page orientation
$orientation = $size['w'] > $size['h'] ? 'L' : 'P';
$pdf->AddPage($orientation,$pageformat);
$pdf->useTemplate($tpage);
}
}else{
for ($i = 1; $i <= $pagecount; $i++) {
if($page == $i){
$pageformat = array('Rotate'=>$degrees);
$tpage = $pdf->importPage($i);
$size = $pdf->getTemplateSize($tpage);
// get original page orientation
$orientation = $size['w'] > $size['h'] ? 'L' : 'P';
$pdf->AddPage($orientation,$pageformat);
$pdf->useTemplate($tpage);
}else{
$tpage = $pdf->importPage($i);
$pdf->AddPage();
$pdf->useTemplate($tpage);
}
}
}
$out = realpath($file);
if(rename($file,"files/1/file.bak")){
$result = $pdf->Output($out, "F");
if($result == ""){
echo "ok";
}
}else{
echo "Failed to rename old PDF";
die;
}
}
$file = "files/1/1.pdf";
rotatePDF($file,90); // rotating all works fine
rotatePDF($file,90,3); // rotates page 3 AND all following
PDFは、あるページから別のページに移るものがたくさんあります。回転は明らかにその1つです。次のページを回転させたくないときは、元に戻す必要があります。 –