Powerpoint 2013 在打印为 PDF 时会破坏 URL?

Powerpoint 2013 在打印为 PDF 时会破坏 URL?

我有以下内容好的幻灯片脚注中的 URL:

https://cs.brown.edu/people/rtamassi/gdhandbook/chapters/force-directed.pdf

在 Windows 10 上,我尝试使用“Microsoft Print to PDF”打印机和“Foxit PhantomPDF Printer”打印到 PDF。我得到了似乎看起来相同,但坏的PDF 输出中的 URL:

https://cs.brown.edu/people/rtamassi/gdhandbook/chapters/force‐directed.pdf

我用了这个 URL 解码器对两个 URL 进行编码,以找出差异。好的网址为:

https%3A%2F%2Fcs.brown.edu%2Fpeople%2Frtamassi%2Fgdhandbook%2Fchapters%2Fforce-directed.pdf

坏的网址为:

https%3A%2F%2Fcs.brown.edu%2Fpeople%2Frtamassi%2Fgdhandbook%2Fchapters%2Fforce%E2%80%90directed.pdf

这两种编码的 URL 在 Firefox 中都不起作用,但我认为它应该能揭示字符中的细微差别。我仍在研究代码%是什么,但编码的 URL 确实表明差异在于破折号。“好”破折号是 ASCII 可编码的,而“坏”破折号是一些复合字符。我可以使用编码的 URL 来避免 PDF 输出中的坏 URL,但它会产生很多认知噪音,尤其是在为多个 URL 添加脚注时。

有什么方法可以让我的 PDF 输出中保留 ASCII 可编码的破折号?

即使我能这么做,这明智吗? 如果 PDF 处理工具(裁剪器、n-uppers、旋转器等)可能无法保留“良好”的破折号,那么最好使用编码的 URL,即使认知噪声会严重降低幻灯片的质量。

请注意,我尝试在 Powerpoint 文件中超链接 URL 文本,但似乎没有任何改变。

我还注意到,并非所有损坏的 URL 都会失败。例如,即使 PDF 中的破折号被修改,以下两个 URL 仍能正常工作。也许大多数 HTTP 服务器都能很好地应对不同的破折号。

In Powerpoint:
https://graphviz.org/resources/#language-bindings

In PDF:
https://graphviz.org/resources/#language‐bindings

为了澄清我的情况,我将好的和坏的 URL 放入 Vim 中以查看代码是什么。

Good dash: Decimal  45,  Hex 2d,  Octal 055
 Bad dash: Decimal 8208, Hex 2010, Oct 20020, Digraph -1

这个“dash”页面,“好的”破折号是“连字符减号”,而“坏的”破折号是“连字符”。将连字符减号替换为%2d适用于上面的原始 URL,但并不总是有效,例如,对于好的 URL https://github.com/nidi3/graphviz-java#user-content-how-it-works,其错误版本是https://github.com/nidi3/graphviz‐java#user‐content‐how‐it‐works。“修复”版本https://github.com/nidi3/graphviz%2djava#user%2dcontent%2dhow%2dit%2dworks在 Firefox 上失败,但在 Chrome 和 Edge 上有效。我仍然坚持尝试找到一种理想地保留连字符减号符号或以健壮的方式重新调整 URL 的方法。

答案1

尝试用 HTML 转义序列替换连字符(“破折号”):‐ 或 -,具体取决于统一码或者不是。 也可以看看https://wikimass.com/html/entities/hyphen

答案2

这是一个解决方法。对于 Powerpoint 中所有必须保留连字符的文本框,请确保字体是固定宽度的,例如,consolas。

当然,这会改变所需的空间,可能不符合作者的喜好。如果用户决定只将连字符减号格式化为固定宽度,并根据需要调整字体大小以补偿字体变化,则可能会有效。

理想的解决方案是,在生成 PDF 时,文本不会在作者不知情的情况下违背作者意愿进行修改。但我们必须看看未来是否会出现这样的改进。

相关内容