- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个非常奇怪的问题:我试图将包含 Unicode 字符(希腊语)的 Jasper 报告导出为 PDF。我的问题是特定的希腊字符(字符增量)以与我使用的字体(Arial)不同的字体打印!
下图是从导出的pdf复制过来的:
虽然下图是使用相同字体的 MS Word 中的相同文本:
如您所见,第三个字母 (delta) 与其他字母不同。这只发生在这封信中,适用于所有字体大小。我也尝试将字体更改为garamond,但仍然遇到完全相同的字母相同的问题!
最后,我应该补充一点,来自 iReport 的内部预览是可以的,也可以导出为其他格式,如 docx 或 html ...
11 年 4 月 20 日更新:我还尝试使用 Foxit Reader Portable 打开 pdf - 但其行为与 Adobe Acrobat Reader 完全相同。
28/04/11 更新:我创建了一个 snippet in pastebin导出为pdf时会产生问题。一个警告 - 您必须通过 iReport 的“选项 - 字体”“安装”您将使用的字体(在我的情况下为 Arial),否则您将无法在 pdf 中看到任何内容。
更新 05/03/13 解决方案:好吧,既然有人(可能来自希腊)仍然有同样的问题并查看这个问题,我想再做一次更新:我再次开始使用 Jasper 报告,但是现在我使用的是较新版本的 Jasper(Jasper 5 ) 和 iReport (iReport 5)。现在一切正常——PDF 中没有有问题的增量 :) 所以如果遇到同样的问题,请尝试升级您的 iReport 和 Jasper 库!
更新 05/04/13 最终评论:两年后,我能够再次在有问题的希腊字符 (delta) 的系统上工作,并且能够得出有关该问题的一些最终结论:因此,首先我将我们使用的 Jasper 版本升级到 5.x 和还是遇到了问题!仅当我将包含的字体扩展名 (.jar) 更改为我从 iReport 5.x 创建(导出)的新字体扩展名时,问题才得以解决。所以,问题是在导出字体扩展时,iReport 3.x(用于导出旧扩展)没有正确导出希腊字符增量,而 iReport 5.x 可以正常导出。所以我的建议仍然是正确的:任何有这个问题的人将你的 Jasper 版本升级到 5.x,但也通过 iReprot 5.x 重新导出你的字体扩展。我真的希望我不会对此进行更多更新:)
最佳答案
字体扩展。答案是字体扩展。 (答案总是字体扩展。)
当我运行您的报告时,我得到了不同的结果:我没有看到任何希腊字符。我可以通过改变字体来解决它。或者我可以通过添加 Arial 作为字体扩展来解决它。 (或者我可以通过将 Arial 放入类路径某处来解决它...但不要那样做。这是自找麻烦。)我写了关于 font extensions 的文章。一会儿回来。它们的创建是为了解决此类问题。这就是你应该使用的。
因为这份报告对我来说表现不同,我只能确定这就是答案。让我们知道。
关于pdf - 带有 PDF 和 Unicode(希腊语)字符的 Jasper 报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5715473/
这个问题已经有答案了: What is the Java ?: operator called and what does it do? (17 个回答) 已关闭 8 年前。 ltVal = node
我是一名 Java 学生,我在嵌套该程序的条件语句时遇到问题 Exercise CozaLozaWoza (Loop & Condition): Write a program called Coza
首先,我想给出用户想要留下的句子的数量,当他的写作结束时,我的代码开始将每个单词的第一个字母大写(在 Java 中)。 import java.util.Scanner; public class I
我尝试在基类中实现一个函数,该函数使用子函数(defiend 作为基类中的抽象函数)。我认为一个例子可以最好地说明这个问题。 abstract class Animal{ public void
就像在口吃中一样,如果文本为“dean”并且乘数为 3,则结果将是“dddeeeaaannn”。 public static void repeatLetters() { String text
public void insert(int data) { if (root == null) root = new AVLNode(data); else {
我是 XPATH 的新手,并且遇到以下问题: 我有以下代码片段,但似乎无法按我的预期工作: String XML = cdataContent;
例如,Java 数据类型字节将数据从 -128 到 127 存储在单个字节中。为了能够区分 - 1 到 -128 从 0 到 127 将需要额外的数据,这些数据将采用数据类型覆盖其分配的存储空间。不可
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 9
Dataset: P1: Lion, Snow, Chair P2: Min: 0, Max: 28 P3: Min: 34, Max is 39. 我的程序 以一系列数组列表的形式提供上述数据集(P
我正在构建一个应该 24/7 全天候运行的客户端服务器应用程序。应用程序指定检测网络故障(使用心跳)并尽快重新连接到服务器。 我做的第一个测试只是停止客户端或服务器,然后重新启动,一切正常。我想知道是
我怀疑它是编写它的类的类型,但我不是 100% 确定,有人可以证实我的怀疑并可能提供对定义此行为的 Java 语言规范的引用吗? 假设类 A 有一个方法 a(),它在其主体中使用了 this 关键字,
我已经在谷歌上搜索了两个小时,但没有成功。 如果我有一个模板函数并且我想在模板类型上强制执行一个接口(interface),我该怎么做? 例如。 void doStuff(T)(bool param)
我正在尝试获取用户输入并对其进行修改,以便打印不带任何元音的字符串。我已经能够使用以下代码成功完成此操作。 Scanner in = new Scanner(System.in); Syste
每当我使用 Thread.sleep(); 时在 do while 循环中,提示告诉我,“在循环中调用 Thread.sleep 可能会导致性能问题。”我从许多其他网站和书籍上听到过这一点。我可以用什
请不要将其视为以下内容的重复项而将其忽略: How to generate random positive and negative numbers in java 我需要使用带有种子的随机数生成器。
我想在一个数字范围内选择随机数,但权重偏向该范围的一部分。例如: 选择1-10之间的随机数 对其进行加权,使 1-5 比 6-10 的可能性高 20% 这可能吗?我该怎么做? 最佳答案 这取决于您希望
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 8 年前。 Improve this ques
我有一个付款 Activity 和启动 Activity ,它在用户购买后显示内容应用程序。付款 Activity 是Manifest.xml中的默认启动器,我想将启动器 Activity 设置为启动
我有一个指针和长度。如何从他们那里得到一个动态数组? 最佳答案 设ptr是一个指针,len是一个长度,那么很容易如下: ptr[0..len] 请注意,这不会复制数组,而是就地使用数据。 如果要复制数
我是一名优秀的程序员,十分优秀!