2013-02-11 184 views
0

我正在將使用PdfSharp的C#應用​​程序頁面轉換爲iTextSharp &已找到一行代碼,我無法看到明顯的替換。iTextSharp相當於XPdfFontOptions

現有的代碼是

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

另外,如果我想使用其他的非基本字體是什麼?我可以從文檔中看到如何創建16種類型之一,但是如果我想要「Frutiger LT 45 Light」,該怎麼辦?

在此先感謝。

回答

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

因此,你明確的字體創作,而不是通過一些字體選項輸入對象的編碼和嵌入選項。

順便說一句,這裏BaseFont不指標準14種字體應提供給符合讀者根據ISO 32000-1:2008(我假設你的意思是這些字體當你談論16種),但而是一個基礎對象,從中創建給定大小的字體。