如何更改希伯来字母的方向?

问题描述 投票:0回答:1

我正在使用itext 7.1.8,我需要在文档中保存希伯来文字。我找到了此解决方案here,但对我不起作用。我的代码如下所示:

public class RunItextApp {
    public static void main(String[] args) throws Exception {
        final String filename = "simple.pdf";
        final String hebrew = "שדג";
        final String text = "\u05E9\u05D3\u05D2";

        createSimplePdf(filename, hebrew);
    }

    private static void createSimplePdf(String filename, String text) throws Exception {

        final String path = RunItextApp.class.getResource("/Arial.ttf").getPath();
        final PdfFont font = PdfFontFactory.createFont(path, PdfEncodings.IDENTITY_H, true);
        Style hebrewStyle = new Style()
                .setBaseDirection(BaseDirection.RIGHT_TO_LEFT)
                .setTextAlignment(TextAlignment.RIGHT)
                .setFontSize(14)
                .setFont(font);

        final PdfWriter pdfWriter = new PdfWriter(filename);
        final PdfDocument pdfDocument = new PdfDocument(pdfWriter);
        final Document pdf = new Document(pdfDocument);
        pdf.setBaseDirection(BaseDirection.RIGHT_TO_LEFT);
        pdf.add(
                new Paragraph(text)
                        .setFontScript(Character.UnicodeScript.HEBREW)
                        .addStyle(hebrewStyle)
        );
        pdf.close();
    }
}

为什么此代码不起作用?如何设置文字方向?

java itext itext7
1个回答
-1
投票

[请看此页https://kb.itextpdf.com/home/it5kb/faq/how-to-set-rtl-direction-for-hebrew-when-converting-html-to-pdf。描述了您遇到的相同问题。我认为主要技巧是在文本字体中。

© www.soinside.com 2019 - 2024. All rights reserved.