获取 XPS 文档编写器生成的 odttf 文件的字体名称

发布于 2024-07-27 05:19:00 字数 160 浏览 2 评论 0原文

我有只使用两种字体的 pdf 文件。

但是当将pdf导出为xps格式时,生成的xps文档中有与glyphs元素一样多的odttf文件。

现在我希望具有相同字体类型的每个字形都具有相同的 FontUri 值。 但是如何识别2个odttf文件是否是相同的字体类型呢?

I have pdf file using only 2 type of fonts.

But when exporting the pdf to xps format, there are odttf files as many as glyphs elements in generated xps document.

Now I want every glyphs with the same font type to have the same FontUri value. But how to identify if 2 odttf files is the same font type?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无人问我粥可暖 2024-08-03 05:19:00

有时(但并非总是)可以通过查看 odttf 文件的最后部分来找出字体名称。 事实上,我经常使用 python 脚本从 odttf 文件(由 XPS Document Writer 生成)中提取字体名称,方法是查看紧接在短语“这是一个唯一 ID”之前和之后的内容,该 ID 可以可以在我迄今为止看到的每个 odttf 文件的最后 100 个左右字节中找到。 当然,这是一个可怕的黑客行为 - 但它有效(至少对我来说)。

这是否真的有效似乎取决于生成 PDF 文件的程序和/或用于将 PDF 文件打印到 XPS Document Writer 的程序和/或 PDF 文档包含哪些特定字体。

我的经验主要限于以这种方式转换 pdflatex 生成的 PDF:作为在线数学导师,我需要将公式、文本和绘图从 PDF 转换为 XAML,以便能够将它们粘贴到基于 WPF 的共享白板中。 所以这个技巧可能适合你,也可能不适合你。 (另外:这个 hack 可能会随时停止工作...)

除了尝试找出字体名称之外,您还可以通过完全消除字体引用将 PDF 转换为 XAML:您可以使用 pdfcrop 裁剪 PDF(作者:Heiko Oberdiek)在将其发送到 XPS Document Writer 之前。 根据我的经验,这迫使 Adob​​e Reader 和 XPS Document Writer 的组合(出于我未知的原因)生成不包含任何字形的 XAML 代码,因此不引用字体(包含在混淆的 odttf 中)文件)。 但不幸的是,您会得到更多的 XAML 代码,因为所有字形都必须由路径表示(这涉及大量重复)。

问候,
基督教

Sometimes (but not always) it is possible to figure out the font name by looking at the final part of the odttf file. In fact, I am routinely extracting font names from odttf files (generated by the XPS Document Writer) with a python script by looking at what immediately precedes and follows the phrase "This is a unique ID" that can be found in the last 100 or so bytes of every odttf file that I have seen so far. Of course, this is a terrible hack - but it works (for me, at least).

Whether this really works seems to depend on what program generated the PDF file and/or what program is used to print the PDF file to the XPS Document Writer and/or what specific fonts the PDF document contains.

My experience is mostly limited to converting PDFs generated by pdflatex in this way: as an online math tutor I need to convert formulas, text and drawings from PDF to XAML in order to be able to paste them into a shared whiteboard that is based on WPF. So this hack might or might not work for you. (Also: this hack might stop working any time...)

Instead of trying to figure out the font name you could also convert your PDFs to XAML by eliminating the font references entirely: You can crop the PDF with pdfcrop (by Heiko Oberdiek) before sending it to the XPS Document Writer. In my experience this forces the combination of Adobe Reader and XPS Document Writer (for reasons unknown to me) to produce XAML code that does not contain any Glyphs, and thus no references to fonts (contained in obfuscated odttf files). But, unfortunately, you get much more XAML code, because all glyphs have to be represented by paths (which involves a great deal of repetition).

Regards,
Christian

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文