gpt4 book ai didi

java - 在 Android 上使用 iText 将 HTML 转换为 PDF。如何设置 UTF-8(变音符号)?

转载 作者:太空宇宙 更新时间:2023-11-03 11:25:08 30 4
gpt4 key购买 nike

我正在尝试以下操作

itextg 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.pdf

 Test: ěščřžýáíé Ň ň ě Ě
Test: ěščřžýáíé Ň ň ě Ě

最佳答案

请查看 XML Worker 示例:http://itextpdf.com/sandbox/xmlworker/

示例 1: D07_ParseHtmlAsian

告诉 parseHtml() 方法您正在以 UTF-8 格式读取 XML:

XMLWorkerHelper.getInstance().parseXHtml(writer, document,
new FileInputStream(HTML), Charset.forName("UTF-8"));

示例 2: D07bis_ParseHtmlAsian

告诉 parse() 方法您正在以 UTF-8 格式读取 XML:

XMLWorker worker = new XMLWorker(css, true);
XMLParser p = new XMLParser(worker);
p.parse(new FileInputStream(HTML), Charset.forName("UTF-8"));

请注意,当您想要控制用于输出 PDF 的字体时,您会更喜欢示例 1。请与D07tris_ParseHtmlAsian比较.

关于java - 在 Android 上使用 iText 将 HTML 转换为 PDF。如何设置 UTF-8(变音符号)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26791502/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com