2013-05-04 134 views
1

我正在使用PDFsharp将文本添加到pdf。但是,当我使用下面的代码来添加下面的文本与这些字体我正面临问题。在使用PDFsharp创建PDF之后,在Adobe Reader中打开PDF时,我收到了“无法找到或创建字体'Windings'等消息,某些字符可能无法正确显示或打印。它打开使用PDFsharp添加字体

源PDF我想修改具有字体黑体和绕组(嵌入式)

这是代码的一部分,该文本添加到PDF

Dim font As XFont = New XFont("Verdana", 20, XFontStyle.Regular) 
gfx.DrawString("Hello, World!", font, XBrushes.Black, New XRect(0, 0, page.Width, page.Height), XStringFormats.Center) 
font = New XFont("WingDings", 20, XFontStyle.Regular) 
gfx.DrawString("llll", font, XBrushes.Black, New XRect(25, 15, page.Width, page.Height), XStringFormats.Center) 
font = New XFont("Helvetica", 20, XFontStyle.Regular) 
gfx.DrawString("abcd", font, XBrushes.Black, New XRect(50, 25, page.Width, page.Height), XStringFormats.Center) 

使用该代码的文本得到后添加成功,但当我在PDF阅读器中打开时出现错误(请参阅上面的错误消息)。当我看到在PDF的特性的字体我觉得以下

黑体,宋体,绕组

但是绕组(嵌入式)是不存在这是在代码的PDF。同样在创建的pdf中,添加的绕线字体显示为未知(实际字体:未知)下的实际字体。我认为这是错误。如何解决?另外我想知道如何在PDFsharp中添加缠绕常规(嵌入子集)? This is我使用的源PDF。 This is the在PDFsharp中修改后出现PDF后出现错误。

回答

1

使用PDFsharp时,必须指定嵌入字体(例如使用PdfFontEmbedding.Always,see here)。

默认情况下,字体不会被嵌入 - PDF文件会更小,但是当它们显示在没有安装此字体的计算机上时,可能会出现问题。

AFAIK PDFsharp无法使用已经嵌入在PDF中的字体。