2009-10-12 3 views
6

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

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

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

ответ

14

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

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 коде.

+0

Означает ли это, что шрифты должны быть установлены на сервере? Есть ли способ указать файл шрифта в FS? –

+0

@JamesReategui Проверьте следующий пример, так как речь идет о «частных шрифтах»: http://www.pdfsharp.net/wiki/PrivateFonts-sample.ashx – ChrFin

+7

Что такое 'this' в этом примере? –

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