在Android上使用iText将HTML转换为PDF。如何设置UTF-8(变音符号)? [英] Converting HTML to PDF using iText on Android. How to set UTF-8 (diacritics)?
问题描述
itextg 5.5.3 jar
itextg 5.5.3 jar
xmlworker 5.5.3 jar
xmlworker 5.5.3 jar
test.html
<html xmlns="http://www.w3.org/1999/xhtml" lang="cs">
<head>
</head>
<body>
Test: ěščřžýáíé Ň ň ě Ě
<div style="font-family: 'Times New Roman',font-weight: bold,backround-color blue;">
Test: ěščřžýáíé Ň ň ě Ě
</div>
</body>
</html>
ConvertHTMLToPDF.java
public class ConvertHTMLToPDF {
public static final String RESULT = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Notes/test.pdf";
public static final String RESORCE = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Notes/html/test.html";
void convertHTMLToPDF() throws IOException, DocumentException {
Rectangle pagesize = new Rectangle(415,1750);
Document document = new Document(pagesize);
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT));
document.open();
XMLWorkerHelper.getInstance().parseXHtml(writer, document, new FileInputStream(RESORCE));
document.close();
System.out.println( "PDF Created!" );
}
}
输出 test.pdf
-
测试:šžýáíé
Test: šžýáíé
测试:šžýáíé
如何获取 test.pdf
How to get test.pdf
Test: ěščřžýáíé Ň ň ě Ě
Test: ěščřžýáíé Ň ň ě Ě
推荐答案
请查看XML Worker示例: http://itextpdf.com/sandbox/xmlworker/
Please take a look at the XML Worker examples: http://itextpdf.com/sandbox/xmlworker/
示例1: D07_ParseHtmlAsian
告诉你正在以XML格式读取XML的 parseHtml()
方法:
Tell the parseHtml()
method that you're reading the XML as UTF-8:
XMLWorkerHelper.getInstance().parseXHtml(writer, document,
new FileInputStream(HTML), Charset.forName("UTF-8"));
告诉解析()
您正在将XML读作UTF-8的方法:
Tell the parse()
method that you're reading the XML as UTF-8:
XMLWorker worker = new XMLWorker(css, true);
XMLParser p = new XMLParser(worker);
p.parse(new FileInputStream(HTML), Charset.forName("UTF-8"));
请注意,当您想要控制字体时,您会更喜欢这个,而不是示例1用于输出PDF。请与 D07tris_ParseHtmlAsian 进行比较。
Note that you'll prefer this in favor of example 1 when you want to control the fonts that are being used to output the PDF. Please compare with D07tris_ParseHtmlAsian.
这篇关于在Android上使用iText将HTML转换为PDF。如何设置UTF-8(变音符号)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!