我正在使用飞碟xhtmlrenderer来构建pdf文档。到目前为止一切正常 - 现在我们应该在pdf中生成阿拉伯语文本。 Xhtmlrenderer以相反的顺序呈现阿拉伯语文本。
我在网上(可能在他们自己的网站上)读过xhtmlrenderer不支持bidi / rtl的地方。 但IText本身包含通过ColumnText和PdfPTable使用阿拉伯语和希伯来语的示例(可在此处找到源代码:http://sourceforge.net/projects/itextpdf/files/Examples/examples-155/examples-155.zip/download - arabic_hebrew.java),这些工作正常。
我尝试在xhtmlrenderer的ReplacedElementFactory / ITextReplacedElement中使用itext api,但找不到定位元素的好例子。 有没有人试过这样做?或者可能有一个更简单(或至少是工作)的解决方案?
答案 0 :(得分:2)
最后,我能够使用飞碟在rtl / ltr中打印阿拉伯语文本。 在我的代码中,我为每个阿拉伯语文本块提供宽度和对齐方式,但总的来说它工作正常。 代码很大,可以在这里打印出来,所以询问是否有人感兴趣
答案 1 :(得分:1)
我面临同样的问题,只有我能找到的解决方案是使用arial字体 在项目的resources文件夹中导入/添加arial.ttf和arialbold.ttf文件。
html, body {
margin: 0;
padding: 0;
font-family: Arial, Arial Bold;
font-size: 10px;
line-height: 14px;
}
使用
var actual = avroSerializer.Deserialize(buffer);