FPDF() メソッド (FPDI_Protection.php から) を使用して、既存の PDF をインポートし、パスワード保護を適用しています。
私が抱えている問題は、元の PDF に縦向きと横向きのページ (8.5"X11" & 11"X8.5") が混在しているのに対し、インポート方法では一度定義する必要があることです。新しく作成された PDF を 11"X11" に定義できます。これにより、方向の切り取りの問題が修正されますが、これは印刷目的には理想的ではありません.
元のドキュメントがループされているときに、元のサイズを検出し、その場で新しいページの向きを設定するために使用できるルーチンはありますか?
function pdfEncrypt ($origFile, $password, $destFile) // RESPONSIBLE FOR ADDING PASSWORD PROTECTION TO PDF FILES
{
require_once('fpdi/FPDI_Protection.php');
$pdf = new FPDI_Protection();
// set the format of the destinaton file, in our case 6×9 inch
$pdf->FPDF('P', 'in', array('11','11'));
//calculate the number of pages from the original document
$pagecount = $pdf->setSourceFile($origFile);
// copy all pages from the old unprotected pdf in the new one
for ($loop = 1; $loop <= $pagecount; $loop++)
{
$tplidx = $pdf->importPage($loop);
$pdf->addPage();
$pdf->useTemplate($tplidx);
}
// protect the new pdf file, and allow no printing, copy etc and leave only reading allowed
$pdf->SetProtection(array('print'), $password, '');
$pdf->Output($destFile, 'F');
return $destFile;
}
または、代わりに、php を使用して既存の pdf にパスワードを追加する簡単な方法はありますか?