[英]How to rid of Save As dialog and yellow box in tcpdf
当我使用TCPDF生成并保存带有链接的文档时。 在关闭pdf阅读器之前,它始终显示另存为对话框。
"Do you want to save the changes to file.pdf before closing?"
当我将鼠标悬停在链接上时,Chrome浏览器中还有一个黄色的注释框,如下图所示。
我的问题代码是这样的。
$pdf->writeHTML('<a href="/wp-admin/admin.php?page=system_view_data&id=1">link</a>');
但是,如果我的html中的链接为空,则关闭pdf时没有问题,那么链接中也不再存在黄色框。 例如,以下代码可以正常工作。
$pdf->writeHTML('<a href="">link</a>');
这是重现该问题的完整示例。
require_once __DIR__.'../../external_classes/TCPDF/tcpdf.php';
$pdf = new \TCPDF();
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('ABC');
$pdf->SetTitle('ABC');
$pdf->SetSubject('ABC');
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, "ABC", "ABC");
$pdf->setPrintFooter(false);
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(PDF_MARGIN_LEFT, 10, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->SetFont('helvetica', '', 10);
$pdf->AddPage();
$pdf->writeHTML('<a href="/wp-admin/admin.php?page=system_view_data&id=1">link</a>');
ob_clean();
$pdf->Output('example.pdf', 'D');
上面的示例将生成如下图所示的输出。 这将同时存在两个问题,我已经在tcpdf版本5.9.x和6.2.x上进行了测试。
好的,找到对这两个问题的一些解释。
1.第一个问题:另存为对话框的问题
出于某种原因,tcpdf库在pdf的末尾附加了我的网站html。 我通过使用文本编辑器以纯文本格式查看pdf来发现这一点。
在output()之后立即使用一个现存函数将对其进行修复。
$pdf->Output('example.pdf', 'D');
exit();
2.第二个问题:Chrome中黄色链接框的问题
目前,这是chrome中尚未解决的有效问题。 检查此链接 ,例如在mPdf论坛上。
您可以通过完全删除注释来解决第二个问题。
`$annots .= ' /Contents ' . $this->_textstring($pl['txt'], $annot_obj_id);`
`$annots .= ' /Contents ()';`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.