1

我们使用 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 软件。

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

4

1 回答 1

0

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

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

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

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

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

于 2013-01-03T18:36:30.080 回答