添加俄语(西里尔文)时,ABCPdf .EmbedFont无法正常工作

时间:2012-12-21 19:18:42

标签: translation abcpdf

我们使用ABCpdf软件,最近为我们的一些文档添加了俄语翻译选项。 PDF的大部分内容来自使用AddImageURL方法的网页。这一切都很好,这意味着俄语文本是可读的。

但是,我们有一些文本部分需要准确放在页面底部,所以我们使用ABCpdf的AddText方法。这些字符串显示为????????在生成的PDF中。

以下是一个快速代码示例:

Doc pdfDoc = new Doc();
//snip snip snip...

//add footer text
pdfDoc.Rect.SetRect(30, 30, 552, 10);  //footer section
pdfDoc.HPos = 0; //set horizontal position to left
pdfDoc.AddText(GetRussianString("REFERENCE") + " #" + ReferenceID);

在阅读了Websupergoo网站上的文档后,我尝试使用AddFont和EmbedFont(单独和一起),但这不起作用:

pdfDoc.Font = pdfDoc.EmbedFont("Times-Roman", LanguageType.Unicode);

我还搜索了在文档级别设置编码的方法,但没有找到任何相关的文档,至少不是版本8.我们目前正在使用8.11.2的ABCpdf软件。

有没有人成功完成过这样的事情?

1 个答案:

答案 0 :(得分:0)

好的,(完全令人尴尬的)答案是,我对WebSuperGoo网站上的例子过于粗略。我需要使用开发/生产机器中的确切字体名称。

pdfDoc.Font = pdfDoc.EmbedFont("Times New Roman", LanguageType.Unicode);

很明显吗?是。但这是匆忙中可以忽略的事情之一,所以我会在这里发布答案以防其他人被绊倒。

我的一些困惑源于这样一个事实,即从URL添加的俄语文本在文档中很好,但不是作为文本添加的内容。我猜测abcPDF根据从网页获得的编码设置字体,但这只会影响它所引入的内容,而不会影响整体PDF。

无论如何,感谢gekannt和其他任何看过的人。