简体   繁体   English

将HTML转换为PDF的问题

[英]Chars problems converting HTML to PDF

I can't get special chars in my PDF from html. 我无法从HTML中获取PDF中的特殊字符。 I tried to use UTF-8 reading, Windows-1257, ISO-8859-13 and etc. But nothing works, instead I just get spaces. 我尝试使用UTF-8阅读,Windows-1257,ISO-8859-13等。但没有任何作用,相反,我只是得到空格。

So the question is how to fix that? 所以问题是如何解决这个问题?

JAVA JAVA

    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();

Topaco吧,在我添加了我的字符串“body style ...”之后,一切都很完美!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM