0 0

pd4ml网页转PDF程序中文乱码问题依旧5

Test test = new Test();
File pdfFile = new File(outputFile+"/"+fileName);
StringBuffer html = new StringBuffer();
html.append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");    
		html.append("<html xmlns=\"http://www.w3.org/1999/xhtml\">").  
		append("<head>")    
		.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />")  
		.append("<style type=\"text/css\" mce_bogus=\"1\">body {font-family: KaiTi_GB2312;}</style>")   
		.append("</head>")    
		.append("<body><table style='width:800px'><tr><td>");
		html.append(printform);
		html.append("</td></tr></table></body></html>");
      	StringReader strReader = new StringReader(html.toString());
      	test.generatePDF_1(pdfFile, strReader);


package com;

import java.awt.Insets;
import java.io.File;
import java.io.FileOutputStream;
import java.io.StringReader;

import org.zefer.pd4ml.PD4Constants;
import org.zefer.pd4ml.PD4ML;

public class Test {
    public static void main(String[] args) throws Exception {
        Test converter = new Test();
        converter.generatePDF_2(new File("C:/demo_ch_pd4ml_a.pdf"), "C:/print.html");
//        File pdfFile = new File("C:/demo_ch_pd4ml.pdf");
//        StringBuffer html = new StringBuffer();
//        html.append("<html>")
//            .append("<head>")
//            .append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />")
//            .append("</head>")
//            .append("<body>")
//            .append("<font face=\"KaiTi_GB2312\">")
//            .append("<font color='red' size=22>显示中文</font>")
//            .append("</font>")
//            .append("</body></html>"); 
//        StringReader strReader = new StringReader(html.toString());
//        converter.generatePDF_1(pdfFile, strReader);
    }
    // 手动构造HTML代码
    public void generatePDF_1(File outputPDFFile, StringReader strReader) throws Exception {
        FileOutputStream fos = new FileOutputStream(outputPDFFile);
        PD4ML pd4ml = new PD4ML();
        pd4ml.setPageInsets(new Insets(20, 10, 10, 10));
        pd4ml.setHtmlWidth(950);
        pd4ml.setPageSize(pd4ml.changePageOrientation(PD4Constants.A4));
        pd4ml.useTTF("java:fonts", true);
        pd4ml.setDefaultTTFs("KaiTi_GB2312", "KaiTi_GB2312", "KaiTi_GB2312");
        pd4ml.enableDebugInfo();
        pd4ml.render(strReader, fos);
    }

    // HTML代码来自于HTML文件
    public void generatePDF_2(File outputPDFFile, String inputHTMLFileName) throws Exception {
        FileOutputStream fos = new FileOutputStream(outputPDFFile);
        PD4ML pd4ml = new PD4ML();
        pd4ml.setPageInsets(new Insets(5, 20, 20, 20));
        pd4ml.setHtmlWidth(1000);
        pd4ml.setPageSize(pd4ml.changePageOrientation(PD4Constants.A4));
        pd4ml.useTTF("java:fonts", true);
        pd4ml.setDefaultTTFs("KaiTi_GB2312", "KaiTi_GB2312", "KaiTi_GB2312");
        pd4ml.enableDebugInfo();
        pd4ml.render("file:" + inputHTMLFileName, fos);
    }
}


这里我把font.jar里的pd4fonts.properties配置了KaiTi_GB2312=simkai.ttf,
pd4ml_demo.jar、ss_css2.jar、font.jar都放进了工程目录下WEB-INF的lib目录下了, 
但打印出来的PDF文件依旧还是乱码,有没有哪位大侠能帮我看出问题是出在哪了?
Web 
2012年9月20日 15:06
目前还没有答案

相关推荐

    解决PD4ML导出pdf中文乱码问题

    解决PD4ML导出PDF中文乱码问题,可以从以下几个方面入手: 1. **设定正确的字符编码**:确保你的HTML文件是以UTF-8编码保存的,并在HTML头部明确指定编码,例如`&lt;meta charset="UTF-8"&gt;`。同时,在使用PD4ML时,也...

    PD4ML 实测Java将HTML导出为PDF 成功解决中文乱码问题

    最后,我们来看"Pdf4Html.java",这应该是一个示例程序或者模板代码,演示了如何使用PD4ML API将HTML转换为PDF,并解决中文乱码问题。在这个Java源文件中,可能会包含如下关键步骤: 1. 引入必要的库:导入PD4ML和...

    pd4ml html转pdf 解决了中文乱码

    1.html 转 pdf 会保留原有样式 css,用到时直接...2.windows,linux下都没有问题,解决了中文乱码 3.在html中用&lt;font face='KaiTi'&gt;&lt;/font&gt;包含body face值可以改,但要和fontspd4下的fonts.properties里边设定的值一致

    pd4ml html转pdf

    pd4ml通过正确配置字符编码(如UTF-8)来避免这个问题,确保中文字符在转换过程中得以正确显示,不会出现乱码。开发者需要确保HTML源文件以及PDF输出都使用一致的编码方式。 **水印功能** pd4ml 提供了添加水印的...

    pd4ml转换html至pdf

    确保包含像SimSun、Arial Unicode MS或Microsoft YaHei这样的支持中文的字体,以避免乱码问题。 **图片与CSS样式支持** 值得注意的是,pd4ml在处理图片和某些CSS样式时可能存在限制。对于图片,pd4ml支持JPG、PNG和...

    java后端实现html转pdf的工具类,pd4ml

    2. **中文支持**:提到的3100pro版本特别强调了对中文的支持,这意味着它内建了对中文字符集的处理,可以确保中文内容在转换过程中不会出现乱码问题。 3. **无水印**:提供的jar包是无水印版本,这意味着生成的PDF...

    pd4ml导出pdf(支持中文)

    通过以上步骤,我们可以有效地利用pd4ml库生成包含中文的PDF文档,避免了乱码问题。对于初学者来说,这是一个很好的学习实践,能够加深对PDF生成和字体处理的理解。同时,这也是一个通用的方法,可以应用到其他类似...

    pd4ml技术html导出pdf,支持中文,兼容linux

    3. **中文支持**:PD4ML能够正确处理UTF-8编码的中文字符,确保在生成的PDF文档中中文显示无误。这对于需要生成中文内容的项目来说是一个重要的特性,特别是在中国市场或面向中文用户的场景下。 4. **跨平台兼容性*...

    pd4ml jar包 解决中文 包含演示代码

    这个jar包是PD4ML的实现,它的主要目标是帮助开发者在Java应用程序中生成PDF,特别是处理中文字符,避免出现乱码问题。在描述中提到,经过一番搜索和尝试,找到了这个能有效解决中文显示问题的解决方案,并提供了...

    包含 pd4ml.jar font.jar ss_css2.jar

    pd4ml通过支持多种字体来解决这个问题,包括对中文字符的支持。"font.jar"很可能包含了各种字体资源,尤其是中文字体,以确保在转换过程中正确显示非ASCII字符。这样,即使原始HTML中没有指定适合显示中文的字体,...

    pd4ml 3100pro最新版无水印

    Java PDF导出插件 pd4ml-3100pro.jar、ss_css2.jar、fonts.jar;本人对jar包源码进行了微小的修改不影响使用,无水印无水印无水印,解决中文乱码, 附demo:...

    pd4ml技术html导出pdf,支持中文,兼容Linux

    PD4ML支持Unicode,能够正确地显示和处理中文字符,避免了乱码的问题。这使得PD4ML成为开发中英文混合或者纯中文PDF文档的理想选择。 4. **Linux兼容性**: PD4ML能够在Linux环境下运行,这意味着开发者可以利用...

    pd4ml.jar 版本集合(7)

    pd4ml.jar 版本集合 7个版(html生成pdf 中文解决方案jar包)本,pd4ml.pro.trial.381fx1.zip,pd4ml.pro.trial.390b3.zip,pd4ml.pro.trial.3100.zip,pd4ml-310b10.jar,pd4ml-323b2.jar,pd4ml-370fx2pro.jar,...

    pd4mljar包

    当处理中文文档时,pd4ml会依赖这个库来正确显示和渲染中文字符,确保在生成的PDF中不会出现乱码。 解决中文乱码问题通常涉及到以下几点: - 确保使用的HTML和CSS文件中的字符编码设置为UTF-8,这是支持中文字符的...

    HTML转pdf工具类

    总的来说,PD4ML作为HTML转PDF的工具,因其对HTML的宽容度和良好的中文支持,成为了一个实用的选择。在开发过程中,掌握其用法和配置可以提升工作效率,方便生成专业且美观的PDF文档。同时,了解其工作原理也有助于...

    html转pdf、字符串转pdf

    本篇文章将详细探讨如何使用PD4ML库进行HTML转PDF以及字符串转PDF,并解决中文乱码和排版问题。 首先,PD4ML是一款强大的Java库,它可以将HTML文档转换为高质量的PDF文件。其工作原理是解析HTML代码并将其渲染成PDF...

    java将html内容生成pdf(无水印)

    总的来说,这个项目展示了如何在Java环境中使用pd4ml库将HTML内容无水印地转换为PDF,同时解决了中文乱码问题,为开发人员提供了一个简洁有效的解决方案。在实际应用中,可以根据具体需求调整和扩展这个基础框架,...

    html转word,pdf

    以下将详细讲解如何使用iText、Apache POI以及pd4ml来实现这些转换,并着重解决中文乱码的问题。 首先,iText是一个Java库,主要用于创建和修改PDF文档。在将HTML转换为PDF时,iText可以通过解析HTML并将其内容转化...

    html转Word与PDFjar包与代码

    本篇文章将详细讲解如何使用Apache POI和pd4ml这两个Java库来实现这一目标,并解决在转换过程中可能出现的乱码问题。 Apache POI是Java社区开发的一个开源库,主要用于处理Microsoft Office格式的文件,如Word(....

Global site tag (gtag.js) - Google Analytics