【问题标题】:ABCPdf .EmbedFont not working when adding Russian (Cyrillic) text添加俄语(西里尔文)文本时,ABCPdf .EmbedFont 不起作用
【发布时间】:2012-12-21 19:18:41
【问题描述】:

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

有没有人成功地完成过类似的事情?

【问题讨论】:

  • 嗯,检查一下,页面可能是 cp1251 编码的

标签: translation abcpdf


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-11
    • 2013-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    相关资源
    最近更新 更多