如何在使用iText创建的PDF中显示阿拉伯语

99maas

在显示阿拉伯语内容以及从我要创建的PDF示例中开始左右书写时,我需要您的帮助。这是示例代码:

public static void main(String[] args) throws IOException {
    try {

        BaseFont ArialBase = BaseFont.createFont("C:\\Users\\dell\\Desktop\\arialbd.ttf", BaseFont.IDENTITY_H, true);
        Font ArialFont = new Font(ArialBase, 20);


        Document document = new Document(PageSize.LETTER);


        PdfWriter.getInstance(document, new FileOutputStream("C:\\Users\\dell\\Desktop\\HelloWorld.pdf"));
        document.setMargins(72f, 72f, 72f, 0f);

        document.open();
        document.add(new Paragraph("الموقع الإلكتروني,",ArialFont));
        document.close();
        System.out.println("PDF Completed");

    } catch (DocumentException e) {
        e.printStackTrace();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }

}

使用上面的代码,阿拉伯语文本将显示如下:

الم؂عالإلكترون,Š,

身份不明,文字从左到右。那么我该如何解决呢?

布鲁诺·洛瓦吉(Bruno Lowagie)

编码错误:

在源代码中使用非ASCII字符是不好的编程习惯。例如,您有"الموقع الإلكتروني"String应该解释为双字节UNICODE字符。但是,当您使用不同于UNICODE的编码来保存源代码文件时,或者当您使用不同的编码来编译该代码时,或者当JVM使用不同的编码时,每个双字节字符都有被破坏的风险,从而导致乱码,例如"الموقع الإلكتروني"

怎么解决呢?使用UNICODE表示法:"\u0627\u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a"

请查阅官方文档,免费电子书StackOverflow上的“最佳iText问题”,您会发现这里已经描述了此问题:生成PDF时无法获取捷克字符

字体错误:

如果仔细阅读本书,您会发现您的示例可能无法使用,因为您使用的字体错误。我对此问题的回答中对此进行了解释:使用iText的html内容到pdf的阿拉伯字符

您假设arialbd.ttf可以产生阿拉伯字形。据我所知,仅arialuni.ttf支持阿拉伯语。

错误的方法:

此外,您忽略了一个事实,即您只能在ColumnTextPdfPCell对象的上下文中使用阿拉伯语此处说明:如何使用eclipse在pdf中创建波斯语内容

例如:

BaseFont bf = BaseFont.createFont(
    "c:/windows/fonts/arialuni.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font font = new Font(bf, 20);
ColumnText column = new ColumnText(writer.getDirectContent());
column.setSimpleColumn(36, 730, 569, 36);
column.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);
column.addElement(new Paragraph(
    "\u0627\u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a", font));
column.go();

请注意,Identity-H由于涉及UNICODE ,因此我正在使用编码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用itext用pdf书写阿拉伯语

来自分类Dev

itext显示阿拉伯语单词的空行

来自分类Dev

如何在Java服务器页面中显示阿拉伯语单词?

来自分类Dev

如何在日食中用阿拉伯语读写

来自分类Dev

如何在arraylist中用阿拉伯语写

来自分类Dev

如何在Android PDF文档中支持阿拉伯语?

来自分类Dev

如何在MVC中的编辑器(英语+阿拉伯语)之前和之后显示DisplayName标签?

来自分类Dev

如何在视图中显示用阿拉伯语编写的模型验证

来自分类Dev

如何在SQL Server中存储阿拉伯语?

来自分类Dev

如何在codeigniter中添加阿拉伯语和英语?

来自分类Dev

如何在键盘中输入阿拉伯语上标和下标字母?

来自分类Dev

如何在键盘中输入阿拉伯语上标和下标字母?

来自分类Dev

如何在QString中使用语言(如阿拉伯语或中文)?

来自分类Dev

如何使用存储过程参数在 SQL Server 中存储阿拉伯语?

来自分类Dev

如何在Office Word 365中将页码的数字更改为波斯语或阿拉伯语

来自分类Dev

如何防止希伯来语和阿拉伯语从右向左自动显示文字方向?

来自分类Dev

将Android应用的语言更改为阿拉伯语时,如何在左侧显示复选框?

来自分类Dev

UITextview显示文本阿拉伯语但数字英语

来自分类Dev

用阿拉伯语突出显示单词

来自分类Dev

uxterm不显示阿拉伯语

来自分类Dev

UIWebView 不显示阿拉伯语内容

来自分类Dev

Roboto 无法正确显示阿拉伯语

来自分类Dev

如何找到阿拉伯语和波斯语中的mist漏?

来自分类Dev

阿拉伯语单词如何与“ tashkel”匹配?

来自分类Dev

如何用html写阿拉伯语段落?

来自分类Dev

阿拉伯语单词如何与“ tashkel”匹配?

来自分类Dev

如何用html写阿拉伯语段落?

来自分类Dev

如何使Ubuntu与阿拉伯语兼容

来自分类Dev

发票中的阿拉伯语单词pdf打印Magento

Related 相关文章

  1. 1

    使用itext用pdf书写阿拉伯语

  2. 2

    itext显示阿拉伯语单词的空行

  3. 3

    如何在Java服务器页面中显示阿拉伯语单词?

  4. 4

    如何在日食中用阿拉伯语读写

  5. 5

    如何在arraylist中用阿拉伯语写

  6. 6

    如何在Android PDF文档中支持阿拉伯语?

  7. 7

    如何在MVC中的编辑器(英语+阿拉伯语)之前和之后显示DisplayName标签?

  8. 8

    如何在视图中显示用阿拉伯语编写的模型验证

  9. 9

    如何在SQL Server中存储阿拉伯语?

  10. 10

    如何在codeigniter中添加阿拉伯语和英语?

  11. 11

    如何在键盘中输入阿拉伯语上标和下标字母?

  12. 12

    如何在键盘中输入阿拉伯语上标和下标字母?

  13. 13

    如何在QString中使用语言(如阿拉伯语或中文)?

  14. 14

    如何使用存储过程参数在 SQL Server 中存储阿拉伯语?

  15. 15

    如何在Office Word 365中将页码的数字更改为波斯语或阿拉伯语

  16. 16

    如何防止希伯来语和阿拉伯语从右向左自动显示文字方向?

  17. 17

    将Android应用的语言更改为阿拉伯语时,如何在左侧显示复选框?

  18. 18

    UITextview显示文本阿拉伯语但数字英语

  19. 19

    用阿拉伯语突出显示单词

  20. 20

    uxterm不显示阿拉伯语

  21. 21

    UIWebView 不显示阿拉伯语内容

  22. 22

    Roboto 无法正确显示阿拉伯语

  23. 23

    如何找到阿拉伯语和波斯语中的mist漏?

  24. 24

    阿拉伯语单词如何与“ tashkel”匹配?

  25. 25

    如何用html写阿拉伯语段落?

  26. 26

    阿拉伯语单词如何与“ tashkel”匹配?

  27. 27

    如何用html写阿拉伯语段落?

  28. 28

    如何使Ubuntu与阿拉伯语兼容

  29. 29

    发票中的阿拉伯语单词pdf打印Magento

热门标签

归档