当前位置: 首页 > 知识库问答 >
问题:

如何使用iText7将字体嵌入pdf/a

胡劲
2023-03-14

我正在尝试将字体嵌入到我的pdf/a中。
我找到了很多答案,但使用的是iTextSharp
在我的cas中,我使用iText7,但我所尝试的都是错误的:
“所有字体都必须嵌入……”

我有一个ttf文件为我的字体,但我没有找到一种方法嵌入到我的pdf使用它...

有人能帮我吗?
事先谢谢

kor6k

共有1个答案

公羊雅达
2023-03-14

正如教程中的文档和您提到的错误(“所有字体都必须嵌入”)所示,您需要嵌入字体。

您可能没有定义字体,在这种情况下,将使用标准的1型字体Helvetica。这些标准的1型字体从未嵌入,因此您需要选择另一种字体。

教程中的示例使用免费字体FreeSans:

public const String FONT = "resources/font/FreeSans.ttf";

字体对象的定义如下:

PdfFont font = PdfFontFactory.CreateFont(FONT, PdfEncodings.WINANSI, true);

此字体用于段落中,如下所示:

Paragraph p = new Paragraph();
p.SetFont(font);
p.Add(new Text("Font is embedded"));
document.Add(p);

这是C版本。如果需要Java版本,请查看本教程的Java版本:

public static final String FONT = "src/main/resources/font/FreeSans.ttf";
PdfFont font = PdfFontFactory.createFont(FONT, PdfEncodings.WINANSI, true);
Paragraph p = new Paragraph();
p.setFont(font);
p.add(new Text("Font is embedded"));
document.add(p);

如果您已经使用了这种方法,但仍然会出现错误,那么您可能在某个地方有一些内容没有定义嵌入的字体。

 类似资料:
  • 我现在试图修改一个只有文本内容的PDF文件。当我使用 谢谢

  • 我正在使用FOP 0.94,我也许可以升级到FOP 0.95。是否可以嵌入Bas14字体?如果可以,如何? 我试过把这个放在fop.xconf里: 那行不通。 最好的问候,莫滕

  • 我正在尝试使用iText7阅读PDF中使用的所有字体。为此,我创建了一个,它将中的字体读取为: 这似乎很好,让我可以阅读所有1型字体。但是调用

  • 所以我有下面的问题。我收到一个文件,其中包含一组字体。这些字体没有嵌入到文件中。下面是一个简单的例子: 我希望将这些字体嵌入到中,这样它们就可以自包含并且始终可用。但事情似乎没那么简单。我正在使用进行处理。 我已经阅读并尝试了以下问题/答案: null

  • 问题内容: 我需要将SVG图形添加​​到PDF文件中。 使用iText7是否有可能? 使用iText5: 我在以下页面中发现了这一点: PdfPTable和PdfTemplate 有一种创建类似于Template的方法: 如何创建Graphics2D? 问题答案: 巧合的是,我们今天发布了SVG实现。我们目前尚不支持全部功能集,我们仍将在第二季度及以后的时间里进行开发,但是您已经可以使用它了。该工

  • 问题内容: 我有一个使用Foxit表单设计器创建的pdf文件。在我的设计系统上,我安装了条形码字体。条形码字体在AcroField之一中使用。foxit似乎没有在文档中嵌入字体。 我也有一些客户的计算机上未安装条形码字体,因此我想将该字体嵌入到PDF中。我是否可以使用iText将AcroFields中使用的字体嵌入到PDF中? 编辑: 字体似乎包含在文本中,但没有包含在字段中,因此字体(条形码)将