【问题标题】:chrome not displaying pdf right?chrome不显示pdf对吗?
【发布时间】:2015-01-20 09:54:59
【问题描述】:

起初我认为 TCPDF 的 GetStringWidth() 不能正常工作,给我错误的宽度:

[---------------------------------------------- -------------------------------------------------- ----------------------]

我有一些文本,例如 $txt = "hallo"。

我尝试通过内置函数 GetStringWidth() 获取字符串宽度 然后创建一个具有字符串宽度的单元格。

// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

$pdf->setFontSubsetting(true);

$pdf->AddPage();

$pdf->SetFont('times', '', 20);
$pdf->SetCellPadding(0);

$txt = "hey i'm santa clause";
$width = $pdf->GetStringWidth($txt);

$pdf->Cell($width, $h=0, $txt, $border=1, $ln=0, $align='', $fill=false, $link='', $stretch=0, $ignore_min_height=false, $calign='T', $valign='M');

$pdf->Output('example_001.pdf', 'I');
?>

但是,创建的单元格是其内容的缩写。 如果我尝试使用 courier 也可以正常工作。

我认为这是 GetStringWidth 没有正确处理字体宽度的衡量标准,因为 Courier 对每个字符都有相同的宽度,这是有效的。

如何让 GetStringWidth() 工作

[---------------------------------------------- -------------------------------------------------- ----------------------]

今天我尝试用 Firefox/Evince 而不是 chrome 打开它

结果如下: Firefox 在左边,chrome 在右边。

生成的PDF文件是v.1.7

使用的chrome版本:

google-chrome-beta (41.0.2272.53-1)

这里可能出了什么问题?真的是铬的错吗?还是我在这里遗漏了什么?

谢谢

【问题讨论】:

  • 编辑代码 sn-p。现在是整个文档。添加 $pdf->SetCellPadding(0) 并在 $pdf->GetStringWidth() 之前设置 $pdf->setFont() 后仍然没有成功。
  • 在 TCPDF 错误论坛中创建了一张票。它关闭了两次,没有任何真正的建议。作者说该方法运行良好,并被告知在常规 TCPDF 论坛中寻求帮助。也在那里发布了我的问题。到目前为止没有帮助

标签: google-chrome pdf pdf-generation tcpdf pdf-rendering


【解决方案1】:

您必须尝试替换:

$pdf->Output("{$filename}.pdf", 'I');

与

$pdf->Output("{$filename}.pdf", 'D');

【讨论】:

    猜你喜欢
    • 2016-09-13
    • 2020-01-11
    • 2012-07-13
    • 2019-05-02
    • 1970-01-01
    • 2014-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多