如何确认 TrueType PDF 字体缺少字形

2024-01-06

我有一个 PDF,它在 Acrobat 中渲染良好,但在打印机 RIP 上的 PDF 到 PS 转换过程中无法打印。用 pdftk 解压缩并编辑后,我发现如果我替换某种字体的使用,它将打印。

该字体是一种奇怪的字体,是带有单个字符(空格)的 TrueType 子集。

如果我通过 Ghostscript 传递 PDF,它不会报告任何错误,但是 Acrobat 飞行前检查将报告缺少空格字形。原始文件不会报告此错误。我只是使用一个基本命令: gswin32c -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -o gs.pdf original_sample.pdf

我已经从原始 PDF 中提取了字体数据并保存了它。运行 TTFDUMP.exe 会产生一个有趣的结果,其中似乎缺少“glyf”表:

4. 'glyf' - chksm = 0x00000000, off = 0x00000979, len =        0
5. 'head' - chksm = 0xE463EA67, off = 0x00000979, len =       54

只是想知道,我对这个结果的解释正确吗?像这样对从 PDF 提取的数据运行 TTFDUMP 是否有效?我认为根据规范需要一个“glyf”表,至少对于前 4 个必要的字符。

在 Ghostscript PDF 上运行 TTFDUMP 会产生类似的结果,但具有 1 字节的“glyf”表。

如果是这样,则 Acrobat 似乎并不特别关心缺少的空间,而其他程序(包括打印机)则特别关心。奇怪的是,直到它通过 Ghostscript 运行才被报告为丢失。

该 PDF 是由 Adob​​e InDesign 创建的,并且该字体像大多数字体一样受版权保护,因此我无法共享它。

编辑 - 我已经接受了 Ken 的回答,因为他在 Ghostscript 错误跟踪器上帮助了我。总之,由于缺少 glyf 表,字体似乎被破坏了。在我听到其他消息之前,我将不得不假设这是 InDesign 中的一个错误,并将继续调查。


是的,您可以在嵌入的子集字体上运行 ttfdump,它仍然是完全有效的字体。

缺少字形并不是一个特别的问题,因为使用了 .notdef 字形,缺少 .notdef 意味着字体不合法。

我认为您对共享PDF文件的合法性存在误解(从字体嵌入的角度来看)。实际上,您看到的每个 PDF 文件都将包含版权字体,但这些字体可以作为 PDF(或实际上是 PostScript)文件的一部分嵌入和分发。 TrueType 字体包含控制字体 DRM 的标志,并且可以拒绝嵌入 PDF(或其他格式)。 Ghostscript 与 Acrobat Distiller 和其他 Adob​​e 产品一样,尊重字体中的这些嵌入标志。

有些字体无意中附带了 DRM,从而阻止了嵌入,并且在某个位置有一个列表,以及来自字体铸造厂的明确声明,表明允许嵌入这些字体。我想这是几年前 Adob​​e 网站上的某个地方。

因此,如果您有一个嵌入了该字体的 PDF 文件(尤其是由 Adob​​e 应用程序生成的),那么我会很高兴它的共享是合法的。

我无法弄清楚问题到底是什么以及您如何使用 Ghostscript。如果您正在运行 PDF->PS,然后返回 PDF,那么坦率地说,所有的赌注都会失败。往返文件通常会引发问题。

无论如何,我很乐意查看该文件,但您必须将其提供。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何确认 TrueType PDF 字体缺少字形 的相关文章

  • iTextSharp 从 WPF 固定文档生成 PDF

    我有一个简单的 WPF 应用程序 可以显示和打印一些内容 使用固定文档进行报告 如何使用免费且开放的解决方案从中生成 PDF 比如iTextSharp WPF 固定文档 也称为 XPS 文档 是对 PDF 的明显改进 它具有 PDF 所缺乏
  • 使用 TCPDF PHP 库横向显示的图像

    我正在使用 TCPDF PHP 库生成包含照片的 PDF 文档 由于某种原因 某些照片在我的计算机和网络上正确显示 但当我将该图像放入 PDF 中时 它似乎是横向的 这只发生在某些图像上 大多数图像显示正确 下面是在 PDF 中横向显示的示
  • 使用 imagettftext 字体时出现问题

    这是当我更改有效网站的环境时收到的错误消息 Warning imagettftext function imagettftext Could not find open font 首先我以为这是因为缺乏文件权限 但事实并非如此 我检查了路径
  • 在 Swing 中使用印度语输入法输入文本时不显示英文字符

    我正在开发一个应用程序 它接受英语文本并使用自定义的第 3 方 API 将音译为印度语 受支持的几种语言之一 该应用程序针对 Windows XP 7 和 Ubuntu 我们使用自定义输入法来加载所需的印度语字体 并使用它渲染文本 此外 用
  • 如何在 Qt-Embedded 中(正确)输出多语言文本?

    我的目标系统是 linux 3 3 7 Qt Embedded 开源版 4 8 Droid 字体 取自 fonts droid 20111207 git 1 all deb Debian 软件包并复制到 usr lib fonts目录 主要
  • 在 WebView 中打开 PDF 文件

    大约 2 天 我尝试在我的自定义中打开 PDF 文件WebvView 这是我的WebView code import android app AlertDialog import android app ProgressDialog imp
  • 使用 Pyqt4 从 URL 下载数千个 PDF

    理想情况下 我试图从给定网站下载数千个 PDF 然而 由于某种原因 它甚至无法下载 100 个 PDF 我不知道为什么 这是代码 usr bin env python import time from pyPdf import PdfFil
  • 如何在我的 AWS EC2 实例上安装特定字体?

    我有一个在 AWS EC2 Amazon Linux Elastic Beanstalk 实例上运行的 Python 应用程序 该实例需要某些特定字体才能生成输出 并且想知道如何在部署或实例启动过程中安装它们 我的代码在本地计算机 OS X
  • itextsharp读取表[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我使用 itextsharp 创建了一个带有表格的 pdf 我找到了一个例子http itextsharp sourceforge n
  • 使用 Quartz 创建 PDF 注释 (iOS)

    有人设法使用 Quartz 在现有 PDF 中编写自定义注释吗 我已经使用 CGPDFDocumentRef 等渲染了 PDF 现在工作正常 我成功地阅读了 Annots 字典 if CGPDFDictionaryGetArray page
  • 如何向 Rails 应用程序添加自定义字体?

    我想在 RoR 应用程序中使用几种字体 但它们的格式主要是 ttf 和 otf 等 我该如何将这些文件嵌入到我的 Rails 应用程序中 也就是说 一旦我将它们放入我的资产文件夹中 将它们嵌入我的 CSS 和 或 LESS 文件中的语法到底
  • 使用 PDFbox 从区域中提取文本

    是否可以从一个区域中提取文本PDFbox http pdfbox apache org index html仅使用二进制文件而不必创建自己的代码 编译这个简单的程序并将其打包到 jar 中 import java awt geom Rect
  • 如何将目录及其子目录中的所有 PDF 文件复制到一个位置?

    如何全部复制PDF文件从目录及其子目录到单个目录 实际上还有更多的文件 并且深度有些任意 假设四个目录的最大深度是公平的 我想这些文件需要重命名 如果a pdf例如 位于多个目录中 因为我会adding https ebooks stack
  • 无法在jspdf中加载多个图像

    我正在尝试加载动态生成的多个图像 我想将这些图像转换为 PDF 格式 HTML 代码如下
  • 编码员的 PDF 规范:Adobe 还是 ISO?

    我想编写一个可以读取和解码 pdf 文档的应用程序 现在我应该在哪里获取此文件格式的规格 PDF 格式是由 ISO 组织标准化的 但我不清楚哪里是获取此类信息的最可靠来源 什么是开始使用这种文件格式的好来源 您实际上可以使用您提到的两个来源
  • Gmail 无法在电子邮件上正确呈现字体

    我已经建立了一个 html 电子邮件并使用了 Google 字体 我已使用以下方法将字体包含在 head 标签中 if mso endif 并使用字体 即我这样做了
  • jQuery 检查字体粗细是正常还是粗体

    我使用以下代码设置 font weight 属性 this css font weight normal 现在我想检查一个元素是否具有粗体或正常的字体粗细属性 我该怎么做 你可以使用以下方法得到它 fontWeight this css f
  • 如何在文本区域中使用除“文本插入符号”之外的透明字体?

    我有一个简单的文本区域 我需要制作透明字母 同时允许文本插入符可见 当我应用以下规则时 我会得到隐形插入符 textarea background transparent opacity 0 当我键入不可见文本时 我需要看到文本插入符移动
  • 单屏上支持多种语言的 Android 字体

    我是安卓新手 我正在实施一个应用程序 该应用程序将采用英语和乌尔都语两种语言 基本上会有一些阿拉伯语文本 其含义将根据用户选择的语言为英语或乌尔都语 我想更改阿拉伯语文本的字体 如果我在整个应用程序中应用字体 它也会改变乌尔都语和英语的外观
  • 如何使用 Ghostscript DLL 将 PDF 转换为 PDF/A

    如何使用 GhostScript DLL 将 PDF 转换为 PDF A 我知道我必须调用 gsdll32 dll 的导出函数 其名称为 gsapi init with args 但如何传递正确的参数 顺便说一句 我正在使用 C 请尝试从命

随机推荐