我正在尝试使用 iText 库将带有希伯来字符(UTF-8)的 *.xhtml 转换为 PDF,但我以相反的顺序获取所有字母。据我从这个问题了解到,我只能为ColumnText
和PdfCell
对象设置 RTL:
阿拉伯语(和希伯来语)只能在 ColumnText 和 PdfPCell 的上下文中正确呈现。
所以我怀疑是否可以将整个 *.xhtml 页面转换为 PDF?
这是我尝试导入的 *.xhtml 文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title of document</title>
</head>
<body style="font-size:12.0pt; font-family:Arial">
שלום עולם
</body>
</html>
这是我使用的 Java 代码:
public static void convert() throws Exception{
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("import.pdf"));
writer.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);
document.open();
String str = null;
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("import.xhtml"), "UTF8"));
StringBuilder sb = new StringBuilder();
while ((str = in.readLine()) != null) {
System.out.println(str);
sb.append(str);
}
in.close();
XMLWorkerHelper worker = XMLWorkerHelper.getInstance();
InputStream is = new ByteArrayInputStream(sb.toString().getBytes(StandardCharsets.UTF_8));
worker.parseXHtml(writer, document, is, Charset.forName("UTF-8"));
document.close();
}
}
这是我到目前为止得到的:
感谢您的任何帮助。