我正在转换使用PdfSharp到iTextSharp& amp;的C#app页面。找到了一行代码,我看不到明显的替代品。
现有代码
PdfSharp.Drawing.XPdfFontOptions options = new PdfSharp.Drawing.XPdfFontOptions(PdfFontEncoding.Unicode,
PdfFontEmbedding.Always);
另外,如果我想使用其他非基本字体怎么办?我可以从文档中看到如何创建16种类型中的一种,但是如果我想要“Frutiger LT 45 Light”呢?
提前致谢。
答案 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种类型时表示这些字体,而是创建给定大小的字体的基础对象。