0

我想从 html 创建 pdf,我使用 itext 库我在 pdf 中遇到波兰字体问题我使用以下代码:

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.StringReader;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.html.simpleparser.HTMLWorker;
import com.itextpdf.text.html.simpleparser.StyleSheet;
import com.itextpdf.text.pdf.PdfWriter;

public class PolishFont {
public static void main(String ... args ) throws DocumentException, IOException
{
    String html = "ąśżźćęó";
    StringReader reader = new StringReader(html);// step 1: creation of a document-object
    Document document = new Document(PageSize.LETTER);
    PdfWriter.getInstance(document, new FileOutputStream("c://temp//testpdf1.pdf")); 

    HTMLWorker worker = new HTMLWorker(document);

    document.open();
    FontFactory.register("C:\\Windows\\Fonts\\times.TTF", "arial unicode ms");

    StyleSheet styleSheet = new StyleSheet();
    styleSheet.loadTagStyle("body", "encoding", "Identity-H");
    worker.setStyleSheet(styleSheet);

    worker.parse(reader);
    document.close();
}
}

但是pdf只显示“ó”,哪里出错了?

4

0 回答 0