pdfsharp - шрифт для встраивания? - PullRequest
6 голосов
/ 13 октября 2009

Мне дан файл с другим языком шрифта. Они не могут загрузить шрифт, поэтому они хотят, чтобы я вставил его в PDF.

Теперь у меня есть только PDF Reader, поэтому я не могу редактировать или создавать PDF-файл. поэтому я решил быстро сделать это в C # .NET с использованием библиотеки PDFSharp, но я просто не могу понять, как встраивать шрифты с помощью pdfSharp?!

Кроме того, мне нужно обработать только 1 файл, так что если вы знаете способ сделать это вручную, то это тоже было бы здорово.

1 Ответ

14 голосов
/ 14 октября 2009

Есть два способа сделать это. Для каждого шрифта, который вы хотите вставить следующим образом:

var options = new XPdfFontOptions(PdfFontEmbedding.Always);
var font = new XFont("Times New Roman", 12, XFontStyle.Regular, options);

Тогда, если вы используете шрифт, он будет встроен.

Если вы хотите, чтобы все шрифты, используемые на странице, были встроены, вы можете сделать это следующим образом:

var page = new PdfPage();
var gfx = XGraphics.FromPdfPage(page);
gfx.MFEH = PdfFontEmbedding.Automatic;

Второй подход также будет работать для любых шрифтов, используемых в коде MigraDoc.

...