我需要在第一页和最后一页之后在现有PDF文档中添加页面。 我曾经使用Zend_Pdf实现它,但发现它只能处理交叉引用表未压缩为流的PDF(PDF版本1.5中引入的功能)。
所以我正在寻找一个PHP PDF库,它可以修改现有的PDF文档,其中包含对象和存储在流中的外部参照表,如ISO-32000-1(基于PDF-1.7)中所述。
我的需求还有其他PHP PDF库吗?
答案 0 :(得分:0)
class concat_pdf extends FPDI {
var $files = array();
function setFiles($files) {
$this->files = $files;
}
function concat() {
foreach($this->files AS $file) {
$pagecount = $this->setSourceFile($file);
for ($i = 1; $i <= $pagecount; $i++) {
$tplidx = $this->ImportPage($i);
$s = $this->getTemplatesize($tplidx);
$this->AddPage('P', array($s['w'], $s['h']));
$this->useTemplate($tplidx);
}
}
}
}
/* uses example :
$pdf =& new concat_pdf();
$pdf->setFiles(array("doc.pdf","pauta.pdf", "4bp.pdf", "5bp.pdf"));
$pdf->concat();
//$pdf->Output("newpdf.pdf", "I");//for printing on screen
$pdf->Output("newpdf.pdf", "F");//for saving it
*/
但是对于1.4以上的版本,有一个新的conpression使用,FPDI支持它与解析器捆绑,但它不是免费的(100€)。你也可以看看Is there a way to make FPDF/FPDI or Zend_Pdf support the parsing of PDFs greater than 1.4?。