我正在使用FPDF()方法(來自FPDI_Protection.php)導入現有的PDF並應用密碼保護。FPDF - 它能處理混合方向(縱向/橫向)的原始PDF嗎?
我遇到的問題是,原始PDF混合了縱向和橫向頁面(8.5「X11」& 11「X8.5」),而導入方法使您可以定義一次。我可以將新創建的pdf定義爲11「X11」,它可以修復其中一個方向裁剪的問題,但這對於打印目的並不理想,因爲PDF會縮放並左對齊,從而導致可讀性/打印輸出較差。
有沒有什麼樣的例程可以使用,因爲原始文檔正在循環檢測原始大小並設置新的頁面方向?
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更簡單的方法?
我想嘗試的一件事是對TCPDF運行稍微修改後的代碼。它是由同一個人寫的,但定期更新。 – mkaatman 2013-03-05 23:19:48
@mkaatman - 我對這個建議非常失望。在我看來,TCPDF要求你在構建時定義一個單一的大小,就像這樣。 – 2013-03-06 07:00:55
我希望進口會更優雅。 – mkaatman 2013-03-06 15:12:26