FPDI合并PDF文件,出现奇怪的线条
Posted
技术标签:
【中文标题】FPDI合并PDF文件,出现奇怪的线条【英文标题】:FPDI merge PDF files, strange line appears 【发布时间】:2012-05-18 09:41:55 【问题描述】:当用户需要时,我必须合并 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 中描述的所有选项,但没有任何区别。由于这是我看到的唯一可以在这几行代码中更改的内容,我真的不知道是什么导致黑线出现。
我已经搜索过类似的问题,但到目前为止 - 没有运气。有人有想法吗?提前致谢!
【问题讨论】:
你会添加截图吗? - 可能是说明问题的最佳方式。 我添加了屏幕截图,但由于我无法显示文件的内容,所以我只剪切了打开同一个文件时在顶部看到的内容 - 一旦正常,一旦与其他文件合并。以下所有内容的位置都完全相同。 【参考方案1】:由于您不必修改源代码,最好的做法是添加以下行:
$this->setPrintHeader(false);
$this->setPrintFooter(false);
在 concat() 函数的开头。
【讨论】:
谢谢,简单但有效。 :)【参考方案2】:为避免编辑 TCPDF 库,请覆盖扩展类中的 Footer 和 Header 方法。
class concat_pdf extends FPDI
public function Footer()
public function Header()
【讨论】:
【参考方案3】:我有这个问题的解决方案。 tcpdf 中的默认页眉和页脚包含行。您必须在第 4214 行删除 tcpdf 类中的方法体 footer() 和 header()。
【讨论】:
以上是关于FPDI合并PDF文件,出现奇怪的线条的主要内容,如果未能解决你的问题,请参考以下文章