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