Php PDF/A现有PDF,带有TCPDF和FPDI
您好,我的任务是通过数字签名认证对pdf进行认证,并以pdf/a格式发布。我尝试使用tcpdf,但无法导入现有页面。所以我添加了fpdi,有点混合了它们:Php PDF/A现有PDF,带有TCPDF和FPDI,php,pdf,pdf-generation,tcpdf,fpdi,Php,Pdf,Pdf Generation,Tcpdf,Fpdi,您好,我的任务是通过数字签名认证对pdf进行认证,并以pdf/a格式发布。我尝试使用tcpdf,但无法导入现有页面。所以我添加了fpdi,有点混合了它们: require_once('./tcpdf/tcpdf.php'); require_once('./tcpdf/fpdi.php'); $pdf = new FPDI( ); //$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8'
require_once('./tcpdf/tcpdf.php');
require_once('./tcpdf/fpdi.php');
$pdf = new FPDI( );
//$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false, true);
$file = realpath("484.pdf");
$pagecount = $pdf->setSourceFile($file);
for($i = 1 ; $i <= $pagecount ; $i++){
$tpl = $pdf->importPage($i);
$size = $pdf->getTemplateSize($tpl);
$orientation = $size['h'] > $size['w'] ? 'P':'L';
$pdf->AddPage($orientation);
$pdf->useTemplate($tpl, null, null, $size['w'], $size['h'], true);
}
$pdf->SetCreator("Creator");
$pdf->SetTitle('123Titel');
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$certificate = 'file://123.crt';
$info = array(
'Name' => '123test',
'Location' => 'place',
'Reason' => '123',
'ContactInfo' => '123',
);
$pdf->setSignature($certificate, $certificate, '123', '', 2, $info);
$pdf->SetFont('helvetica', '', 12);
$pdf->addEmptySignatureAppearance(0, 0, 0, 0);
$pdf->Output('test.pdf', 'F');
最后一个“正确”。但我不能使用此tcpdf函数,否则我会:
Call to undefined method TCPDF::setSourceFile() in...
所以我不得不使用$pdf=newfpdi()代码>,无法将pdf保存为pdf/a格式
肯定有人知道我遗漏了什么,我也没有办法做什么了
-我是否可以仅使用tcpdf导入现有pdf?如果是,如何导入?
-有没有其他方法制作pdf/a格式的文件(我找不到)
-任何提示看来我可以用fpdi扩展tcpdf。不知何故,直到我将fpdi_桥更改为始终扩展tcpdf并更改了
new FPDI();
到
new FPDI();
new FPDI(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false, true);