【问题标题】:How should I set the download name of a pdf with fpdf?我应该如何使用 fpdf 设置 pdf 的下载名称?
【发布时间】:2018-05-31 20:53:32
【问题描述】:

我正在尝试为使用 FPDF 生成的 pdf 文件设置名称。但是由于某种原因,浏览器会更改一些字符。

我发送这个:

$pdfTitle = 'Overview: 2017/2018'
$pdf->Output( 'D', $pdfTitle, true );

然而,当我保存我的 pdf 时,它会更改一些字符,并且下载名称变为:'Overview_2017_2018'。

我在我的 php 文件上使用 UTF-8 编码。

FPDF 文档:http://fpdf.org/en/doc/output.htm

我有两个问题:

  • 如何确保下载名称与我在 php 文件中设置的名称相同?
  • 改变名称的根本问题是什么?

PS:在实际项目中,字符串将来自数据库,因此我只能以编程方式访问字符串,而不能直接对其进行更改。

【问题讨论】:

  • 某些操作系统不允许在文件名中使用“/”和“:”

标签: php character-encoding fpdf


【解决方案1】:

您在代码中的文件名中使用了特殊字符 :/。因此,fpdf 正在过滤您的输出文件名。

例如:

Overview: 2017/2018
        ^     ^       are not supported as filename in Windows & some other OS.

提示:

如果文件未保存为 pdf 文件,您可以在您的名字中添加.pdf

【讨论】:

  • 是否存在与:/ 在视觉上相同的字符?然后我可以替换我的字符串中的那些字符。但是我不确定这是否是一个好主意(我觉得特殊字符参数太强而无法执行此解决方法,即使使用相似的方法)。不幸的是,我无法更改收到的字符串。用户必须更改标题,否则我将不得不采取替换字符的方法。有没有人对这两种方法有任何好的/坏的经验?
猜你喜欢
  • 1970-01-01
  • 2016-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-29
  • 2022-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多