0

下面是我生成阿拉伯隐藏文本 pdf 的代码。我在图像下添加文本。生成pdf后,按ctrl+a时看不到文字。这只发生在阿拉伯字符上,而不是英文字符:

Adobe reader-->当我按ctrl+a时,它只突出显示位置而不显示文本

Ubuntu 文档查看器-->当我按 ctrl+a 时,它会突出显示并显示一些文本。当我尝试用鼠标选择时,它会显示所有这些。

可能是什么原因?当我按 ctrl+a 按钮时,如何确保看到所有隐藏的文本?

……

    Document document = new Document();
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("output.pdf"));
    document.open();
    Image image = Image.getInstance("/home/burak/IdeaProjects/example.jpg");
    image.setAbsolutePosition(0, 0);
    document.setPageSize(new Rectangle(image.getWidth(), image.getHeight()));
    document.add(image);

    PdfContentByte contentByte;
    contentByte = writer.getDirectContentUnder();
    contentByte.beginText();
    contentByte.moveText(100, 100);
    contentByte.setFontAndSize(BaseFont.createFont("data/simpo.ttf", BaseFont.IDENTITY_H, true), 30);
    contentByte.showText("100-100-ﻡﻭﺱﻯ ﺍﻭﻍﻝﻯ ﺍﺱﻡﺍﻉﻯﻝ");
    contentByte.endText();

    contentByte.beginText();
    contentByte.moveText(100, 200);
    contentByte.setFontAndSize(BaseFont.createFont("data/simpo.ttf", BaseFont.IDENTITY_H, true), 30);
    contentByte.showText("100-200-ﻡﻭﺱﻯ ﺍﻭﻍﻝﻯ ﺍﺱﻡﺍﻉﻯﻝ");
    contentByte.endText();

    contentByte.beginText();
    contentByte.moveText(100, 300);
    contentByte.setFontAndSize(BaseFont.createFont("data/simpo.ttf", BaseFont.IDENTITY_H, true), 30);
    contentByte.showText("100-300-ﻡﻭﺱﻯ ﺍﻭﻍﻝﻯ ﺍﺱﻡﺍﻉﻯﻝ");
    contentByte.endText();

    contentByte.beginText();
    contentByte.moveText(0, 0);
    contentByte.setFontAndSize(BaseFont.createFont("data/simpo.ttf", BaseFont.IDENTITY_H, true), 30);
    contentByte.showText("0-0-ﻡﻭﺱﻯ ﺍﻭﻍﻝﻯ ﺍﺱﻡﺍﻉﻯﻝ");
    contentByte.endText();

    contentByte.beginText();
    contentByte.moveText(120, 290);
    contentByte.setFontAndSize(BaseFont.createFont("data/simpo.ttf", BaseFont.IDENTITY_H, true), 30);
    contentByte.showText("120-290-ﻡﻭﺱﻯ ﺍﻭﻍﻝﻯ ﺍﺱﻡﺍﻉﻯﻝ");
    contentByte.endText();

    contentByte.beginText();
    contentByte.moveText(120, 310);
    contentByte.setFontAndSize(BaseFont.createFont("data/simpo.ttf", BaseFont.IDENTITY_H, true), 30);
    contentByte.showText("120-300-ﻡﻭﺱﻯ ﺍﻭﻍﻝﻯ ﺍﺱﻡﺍﻉﻯﻝ");
    contentByte.endText();

    document.close();

..

提前致谢

4

0 回答 0