Java 将HTML转换为PDF时遇到的Chars问题

Java 将HTML转换为PDF时遇到的Chars问题,java,html,pdf,Java,Html,Pdf,我无法从html获取PDF中的特殊字符。我试着使用UTF-8阅读、Windows-1257、ISO-8859-13等,但没有任何效果,我只是得到了一些空间 所以问题是如何解决这个问题 爪哇 String d1=“…ą…ę…ė…į…ų…ū…Ą…Ė…Į…Ų…Ž…”; OutputStream myFile=新文件OutputStream(新文件(“C:\\My\\pdf1.pdf”); 文档=新文档(); document.addCreationDate(); 文件。设置页面大小(页面大小为A4);

我无法从html获取PDF中的特殊字符。我试着使用UTF-8阅读、Windows-1257、ISO-8859-13等,但没有任何效果,我只是得到了一些空间

所以问题是如何解决这个问题

爪哇

String d1=“…ą…ę…ė…į…ų…ū…Ą…Ė…Į…Ų…Ž…”;
OutputStream myFile=新文件OutputStream(新文件(“C:\\My\\pdf1.pdf”);
文档=新文档();
document.addCreationDate();
文件。设置页面大小(页面大小为A4);
文件。设置页边距(36,36,36,36);
document.setMarginMirroring(true);
PdfWriter writer=PdfWriter.getInstance(文档,myFile);
document.open();
XMLWorkerHelper worker=XMLWorkerHelper.getInstance();
输入流为;
//is=新的ByteArrayInputStream(d1.getBytes(StandardCharsets.UTF_8));
is=新的ByteArrayInputStream(d1.getBytes(“UTF-8”);
String FONT=“C:\\My\\freans.ttf”;
XMLWorkerFontProvider fontImp=新的XMLWorkerFontProvider(XMLWorkerFontProvider.DONTLOOKFORFONTS);
fontImp.寄存器(字体);
parseXHtml(writer,document,is,Charset.forName(“UTF-8”),fontImp);
document.close();
myFile.close();

Topaco好的,在我添加字符串“body style…”后,一切都很完美

html的
body
-标记中是否缺少
style
-属性<代码>字符串d1=“…ą…ę…ė…į…ų…ū…Ą…Č…Į…Ų…Ž…”
    String d1 = "<html><head></head><body>...ą...č...ę...ė...į...š...ų...ū...ž...Ą...Č...Ę...Ė...Į...Š...Ų...Ū...Ž...</body></html>";


    OutputStream myFile = new FileOutputStream(new File("C:\\My\\pdf1.pdf"));
    Document document = new Document();

    document.addCreationDate();
    document.setPageSize(PageSize.A4);
    document.setMargins(36, 36, 36, 36);
    document.setMarginMirroring(true);


    PdfWriter writer = PdfWriter.getInstance(document, myFile);
    document.open();

    XMLWorkerHelper worker = XMLWorkerHelper.getInstance();

    InputStream is;
    //is = new ByteArrayInputStream(d1.getBytes(StandardCharsets.UTF_8));
    is = new ByteArrayInputStream(d1.getBytes("UTF-8"));

    String FONT = "C:\\My\\FreeSans.ttf";
    XMLWorkerFontProvider fontImp = new XMLWorkerFontProvider(XMLWorkerFontProvider.DONTLOOKFORFONTS);
    fontImp.register(FONT);

    worker.parseXHtml(writer, document, is, Charset.forName("UTF-8"), fontImp);

    document.close();
    myFile.close();