0

我正在将使用 PdfSharp 的 C# 应用程序页面转换为 iTextSharp 并找到了一行我看不到明显替代品的代码。

现有代码是

PdfSharp.Drawing.XPdfFontOptions options = new  PdfSharp.Drawing.XPdfFontOptions(PdfFontEncoding.Unicode, 
PdfFontEmbedding.Always);

另外,如果我想使用其他非基本字体怎么办?我可以从文档中看到如何创建 16 种类型中的一种,但是如果我想要“Frutiger LT 45 Light”怎么办?

提前致谢。

4

1 回答 1

0

查看iText in Action — 第 2 版 第 11 章中的示例:选择正确的字体;.Net 版本可在此处获得。

您将看到可以像这样选择、配置和使用字体:

public const string FONT = "c:/windows/fonts/arialbd.ttf";
BaseFont bf = BaseFont.CreateFont(FONT, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font f = new Font(bf, 12);
document.Add(new Paragraph("Text", f));

Font garamondItalic = FontFactory.GetFont(
  "Garamond", BaseFont.WINANSI, BaseFont.EMBEDDED, 12, Font.ITALIC
);
document.Add(new Paragraph("Garamond-Italic", garamondItalic));

因此,您在字体创建中明确输入编码和嵌入选项,而不是通过某些字体选项对象。

顺便说一句,这里BaseFont并不是指符合 ISO 32000-1:2008 标准的读者可以使用的标准14字体我假设您在谈论16 种类型时指的是那些字体),而是来自创建给定大小的字体。

于 2013-02-11T17:52:13.647 回答