我必须在用户需要时合并PDF文件。文件已经存在,一切都很好。我正在使用以下代码来合并文件:
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++)
{
$this->AddPage('P');
$tplidx = $this->ImportPage($i);
$this->useTemplate($tplidx);
}
}
}
}
$pdf = new concat_pdf();
$pdf->setFiles($files); //$files is an array with existing PDF files.
$pdf->concat();
$pdf->Output("bulk.pdf", "D");
所有文件都已合并,所有内容都在那里。问题是,在新文件的每个页面的顶部,出现一条黑线。内容,边距等都与原始文件完全相同,但这条线无处不在(我可以告诉)。它不厚,但清晰可见。它不会混淆其他内容或任何东西,但在那里不需要,我需要删除它。
我尝试将ImportPage()
函数的第二个参数更改为documentation中描述的所有选项,但没有任何区别。因为这是我看到的唯一可以在这几行代码中改变的东西,我真的不知道是什么原因导致黑线出现。
我搜索过类似的问题,但到目前为止 - 没有运气。有人有想法吗?提前谢谢!
答案 0 :(得分:21)
更好的事情是因为您不必修改源代码就是添加以下行:
$this->setPrintHeader(false);
$this->setPrintFooter(false);
在concat()函数的开头。
答案 1 :(得分:3)
要避免编辑TCPDF库,请覆盖扩展类中的Footer和Header方法。
class concat_pdf extends FPDI
{
public function Footer() {}
public function Header() {}
}
答案 2 :(得分:1)
我有解决这个问题的方法。 tcpdf中的默认页眉和页脚包含行。您必须在第4214行的tcpdf类中擦除方法footer()和header()的主体。