gpt4 book ai didi

java - 修改Itext中现有PDF的字体

转载 作者:行者123 更新时间:2023-12-01 21:31:55 28 4
gpt4 key购买 nike

我可以修改现有 PDF 的字体吗?我有一些没有任何字体描述符的 Type 3(自定义)字体。我想将它们替换为一些有意义的字体。如何使用 Itext 或 PDFBox 执行此操作?

最佳答案

Type3 字体也称为用户定义字体abc...等字符映射到由人定义的字形。例如,a 对应于 Apple Logo ,b 对应于香蕉形状的字形,c 看起来像椰子。

  • 苹果、香蕉、椰子...的形状使用 PDF 语法存储在 PDF 中。 PDF 查看器(例如 Adob​​e Reader)可以通过执行字体程序绘制苹果、香蕉、椰子等,在本例中该字体程序由 PDF 路径构建和路径组成-绘制运算符和操作数。
  • PDF 查看器没有智能识别这些形状代表苹果、香蕉、椰子……PDF 查看器只知道用户将这些字形映射到诸如 abc 等字符,... 另请参阅我对问题 Why can't I extract text added using a Type3 font correctly? 的回答
有时,人们会匹配字符和字形,就像我为 iText Logo 创建 Type3 字体时所做的那样:阅读 Creating the iText logo witha Type3 font 。然而你不应该指望这一点。任何字符都可以映射到任何字形。

现在您知道了这一点,您应该明白您正在努力实现一些不可能的目标。假设您有一个采用 Type3 字体的 PDF,其中 a 字符对应于苹果,b 字符对应于香蕉,c 字符对应使用椰子,将无法自动将这种用户定义的字体替换为自定义编码以及另一种不知道如何绘制苹果、香蕉和椰子的“正常”字体,并且使用完全不同的编码。

关于java - 修改Itext中现有PDF的字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37354873/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com