2009-10-12 90 views
6

我给了一个具有其他语言字体的文件。他们不能下载字体,所以他们希望我把它嵌入到pdf中。pdfsharp - 字体嵌入?

现在,我只有PDF阅读器,所以我不能编辑或创建一个PDF文件。所以我决定使用PDFSharp库在C#.NET中快速完成它,但我似乎无法弄清楚如何使用pdfSharp嵌入字体?!

此外,它只有一个文件,我必须处理,所以如果你知道一种手动的方式,那也会很棒。

回答

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中的字体文件? – 2013-04-23 00:22:22

+0

@JamesReategui查看下面的示例,因为它是关于“私人字体”:http://www.pdfsharp.net/wiki/PrivateFonts-sample.ashx – ChrFin 2013-04-30 22:57:43

+7

该示例中的“this”是什么? – 2014-05-27 20:53:42