1

当我尝试将 rave 项目保存在 pdf\html 文件中时,编码不正确。选择格式并按“保存”时,它可以将其保存在ISO-8859-1代码中。但我需要cp1251(西里尔文)。

例如“Ïëîùàäü”而不是“Площадь”。

4

2 回答 2

0

我猜想解决您的问题的最佳方法是使用 Unicode,而不是 CP1251 之类的代码页。是否可以将 Unicode 与 Rave Reports 一起使用?

于 2012-05-03T12:16:47.310 回答
0

当我想将 reprt 保存为 pdf 格式时,我遇到了同样的问题。我必须创建 TRvRenderPDF 并将其设置为 RenderObject 但未正确查看 pdf 文件。

  1. TRvRenderPDF 组件不兼容 unicode(这很糟糕),这就是为什么报告中的所有文本都使用活动代码页转换为 Ansi(对于西里尔文,它是 CP1251)。现在我们有了 CP1251 编码的 pdf 文件。
  2. 默认情况下,TRvRenderPDF 使用字体 TYPE1 Helvetica 生成 pdf(按照 pdf 格式的标准,它是内置的)。但是文本是用编码 ISO 8859-1(或 CP1252)解释的,但它的编码是 CP1251,这就是为什么我们有“Ïëîùàäü”或类似的东西。

我们能做的:

  1. 获取字体 TYPE1(CP1252),其中服务符号(CP1251 中的西里尔字母中的数字)替换为西里尔字形。例如一个链接,我们需要安装它。
  2. 现在我们需要将生成的 pdf 文档中的旧字体名称 (Helvetica) 替换为新字体名称 (AGHelvetica)。您可以使用文本编辑器或您的程序(读取文件 -> 查找 -> 替换 -> 保存文件)进行操作。

都是这样的情况。

PS对不起我的英语。

PPS 如果设置 pdf 渲染 EmbedBaseFonts 的属性 = true,则 pdf 文档使用 TrueType 字体保存,但问题仍然存在。新看 unicode 渲染?但不是这个。

于 2012-08-09T15:27:27.817 回答