修改Itext中已有PDF的字体
Modify the font of existing PDF in Itext
我可以修改现有PDF的字体吗?我有一些没有任何字体描述符的 Type 3(自定义)字体。我想将它们替换为一些有意义的字体。我如何使用 Itext 或 PDFBox 来做到这一点?
Type3 字体也称为用户定义字体。 a
、b
、c
...等字符映射到由个人定义的字形。例如 a
对应苹果标志,b
对应香蕉形状的字形,c
看起来像椰子。
- 苹果、香蕉、椰子...的形状使用 PDF 语法存储在 PDF 中。 Adobe Reader 等 PDF 查看器可以通过执行 字体程序 绘制 苹果、香蕉、椰子...本案例由 PDF 路径构建和路径绘制运算符和操作数组成。
- PDF 查看器无法识别 这些形状代表苹果、香蕉、椰子...PDF 查看器只知道用户将这些字形映射到
a
、b
、c
等字符,...另请参阅我对问题 Why can't I extract text added using a Type3 font correctly? 的回答
有时,人们会匹配字符和字形,就像我为 iText 徽标创建 Type3 字体时所做的那样:阅读 Creating the iText logo witha Type3 font。但是你不应该指望这一点。任何字符都可以映射到任何字形。
既然你知道了这一点,你应该明白你正在努力实现不可能的事情。假设您有一个 Type3 字体的 PDF,其中 a
字符对应苹果,b
字符对应香蕉,c
字符对应椰子,它不会可以用 自定义编码 自动替换这种用户定义的字体,另一种 "normal" 不知道如何画苹果、香蕉和椰子的字体,并且使用完全不同的编码。
我可以修改现有PDF的字体吗?我有一些没有任何字体描述符的 Type 3(自定义)字体。我想将它们替换为一些有意义的字体。我如何使用 Itext 或 PDFBox 来做到这一点?
Type3 字体也称为用户定义字体。 a
、b
、c
...等字符映射到由个人定义的字形。例如 a
对应苹果标志,b
对应香蕉形状的字形,c
看起来像椰子。
- 苹果、香蕉、椰子...的形状使用 PDF 语法存储在 PDF 中。 Adobe Reader 等 PDF 查看器可以通过执行 字体程序 绘制 苹果、香蕉、椰子...本案例由 PDF 路径构建和路径绘制运算符和操作数组成。
- PDF 查看器无法识别 这些形状代表苹果、香蕉、椰子...PDF 查看器只知道用户将这些字形映射到
a
、b
、c
等字符,...另请参阅我对问题 Why can't I extract text added using a Type3 font correctly? 的回答
有时,人们会匹配字符和字形,就像我为 iText 徽标创建 Type3 字体时所做的那样:阅读 Creating the iText logo witha Type3 font。但是你不应该指望这一点。任何字符都可以映射到任何字形。
既然你知道了这一点,你应该明白你正在努力实现不可能的事情。假设您有一个 Type3 字体的 PDF,其中 a
字符对应苹果,b
字符对应香蕉,c
字符对应椰子,它不会可以用 自定义编码 自动替换这种用户定义的字体,另一种 "normal" 不知道如何画苹果、香蕉和椰子的字体,并且使用完全不同的编码。