13

当用户需要时,我必须合并 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()中描述的所有选项,但没有任何区别。由于这是我看到的唯一可以在这几行代码中更改的内容,我真的不知道是什么导致黑线出现。我已经搜索过类似的问题,但到目前为止 - 没有运气。有人有想法吗?提前致谢!

前 后

4

3 回答 3

24

由于您不必修改源代码,更好的做法是添加以下行:

    $this->setPrintHeader(false);
    $this->setPrintFooter(false);

在你的 concat() 函数的开头。

于 2012-06-04T20:43:34.240 回答
4

为避免编辑 TCPDF 库,请覆盖扩展类中的 Footer 和 Header 方法。

class concat_pdf extends FPDI 
{
    public function Footer() {}
    public function Header() {}
}
于 2013-05-07T07:32:49.293 回答
1

我有这个问题的解决方案。tcpdf 中的默认页眉和页脚包含行。您必须在第 4214 行删除 tcpdf 类中的方法体 footer() 和 header()。

于 2012-05-17T11:23:41.680 回答