我使用iText 2.1.7的飞碟将html转换为pdf
。它工作正常,但当html中有一些中文、韩文等字符时,就会出现问题。
我的PDF中出现意外字符,而不是正常的中文字符
我发现这个问题是公开的,所以我认为目前没有办法让飞碟正确地渲染PDF?
PS:我也发现了这个问题,但我无法理解他们提供的解决方案。
这是我正在使用的代码
String doc = file.toURI().toURL().toString();
ITextRenderer renderer = new ITextRenderer();
renderer.getFontResolver().addFont (
"C:\\ARIALUNI.TTF",
BaseFont.IDENTITY_H,
BaseFont.EMBEDDED
);
renderer.setDocument(doc);
String outputFile = "report.pdf";
OutputStream os = new FileOutputStream(outputFile);
renderer.layout();
renderer.createPDF(os);
os.flush();
os.close();
其中file是我试图转换的html。
有没有其他方法或库可以做同样的事情?
这是我正在使用的css
@font-face {
font-family: "Arial";
src: url("media/arialuni.ttf");
-fs-pdf-font-embed: embed;
-fs-pdf-font-encoding: Identity-H;
}
我需要转换的超文本标记语言文件
这些是重新编译的飞碟罐,兼容itext2.1… x
试试这个:
font.addFont(Html2Pdfs.class.getResource(“SIMSUN.TTC”).toString().substring(6),BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED)
您的字体可能没有嵌入到PDF文件中。(我怎么知道PDF文件中的字体是否嵌入?)
每个字体都有一个名称,ARIALUNI.TTF定义了Arial Unicode MS,你应该使用它。
所以改变这一点:
@font-face {
font-family: Arial1;
src: url("arialuni.ttf");
-fs-pdf-font-embed: embed;
-fs-pdf-font-encoding: Identity-H;
}
* {
font-family: Arial1;
}
对此:
@font-face {
font-family: Arial Unicode MS;
src: url("arialuni.ttf");
-fs-pdf-font-embed: embed;
-fs-pdf-font-encoding: Identity-H;
}
* {
font-family: Arial Unicode MS;
}
这样字体就会被嵌入。
而且你不需要调用渲染器。
问题内容: 有人知道如何将特殊字符转换为in 吗? 例: (“&”号)变为。 (双引号)成为时未设置。 (单引号)仅在被设置时才变为。 (小于)变为。 (大于)变为。 问题答案: 您需要一个功能类似于 但是要考虑到您希望对单/双引号进行不同处理的愿望。
我正在使用Apache POI读取<代码>。docx文件,并在一些操作后写入。<代码>。我使用的docx文件是法语的,但当我在它将一些法语字符转换为特殊字符。示例转换为 下面的代码用于编写文件 默认使用UTF-8。 在调试时,我在写入<代码>之前进行了检查。csv数据保持原样。但它在写作时被转换了吗?我已将默认语言环境设置为语言环境。法语 我错过了什么吗?
想改进这个问题吗?通过编辑这篇文章添加细节并澄清问题。 我有一个特殊字符的输入字符串,如 如果我打印这个字符串,它将返回:正确的。 我想将此字符串转换为特殊字符的Unicode字符串,例如“1a 2\uxx00\uxx01\uxx02......”这样当我打印这个新字符串时,kt也应该给出 我想将其转换为Unicode的原因是我将把它传递给JAVA代码,该代码将把这些Unicode字符写入PDF文
问题内容: 我遇到了一个大问题,即通过jQuery Ajax将数据作为JSON发布到我的服务器。JSLint表示数据正常,并且请求的Content- Type设置为。服务器在PHP 5.2.11上运行,所以我不能使用。 我尝试了url_decode,utf8_decode和html_entities_decode,但似乎没有任何效果。 返回null,但如果执行此操作,一切正常。是发布数据:。 这是
我试图使用xslt将xml中的特殊字符转换为其编码形式。 例子: 等等下面给出了我使用的代码 XML结构是 输出也应该包含xml节点,这就是为什么我在文本区域中使用xsl:拷贝而不是xsl: value-of。因为xsl: value-of Select="name"将只输出这是一个文件 我正在使用XSLT版本1。o 我想要的输出是
问题内容: 我有一个使用DocX4J将html文件转换为DocX的应用程序。我在使用ç,á,é,í,ã等特殊字符时遇到问题。我在html文件中的文本字体是Arial,但是当我将它们转换为DocX时,前面提到的特殊字符将设置为calibri字体。因此,在同一个单词(例如Cláudio)中,我用Arial字体写了“ Cl”,用Calibri字体写了“á”字符,用Arial字体写了“ udio”。 我看