2013-02-11 1 views
0

Я конвертирую страницу приложения C#, которая использует PdfSharp для 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 EditionChapter 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 типов), но вместо этого является базовым объектом, из которого создаются шрифты при заданных размерах.

 Смежные вопросы

  • Нет связанных вопросов^_^