iTextSharp相当于XPdfFontOptions

时间:2013-02-11 16:52:55

标签: itextsharp pdfsharp

我正在转换使用PdfSharp到iTextSharp& amp;的C#app页面。找到了一行代码,我看不到明显的替代品。

现有代码

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

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

提前致谢。

1 个答案:

答案 0 :(得分:0)

查看iText in Action — 2nd Edition Chapter 11: Choosing the right font中的示例; .Net版本可用here

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

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));

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

BTW,这里BaseFont没有引用标准14字体,根据ISO 32000-1:2008({I}},应该可供合规读者使用假设您在谈论 16种类型时表示这些字体,而是创建给定大小的字体的基础对象。