`
lewis_liu
  • 浏览: 3996 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java html转pdf

 
阅读更多
package cn.spring.test.htmltopdf; 
 
import java.io.File; 
import java.io.FileOutputStream; 
import java.io.OutputStream; 
 
import org.xhtmlrenderer.pdf.ITextFontResolver; 
import org.xhtmlrenderer.pdf.ITextRenderer; 
 
import com.lowagie.text.pdf.BaseFont; 
 
public class HtmltoPDF { 
     
     public static void main( String[] args ) throws Exception{ 
          
          
//       htmlToPdf(); 
//       htmlToPdf2(); 
         htmlToPdf3(); 
        }    
       
        // 不支持中文    
        public static void htmlToPdf() throws Exception    
        {    
            String inputFile = "D:/Test/flying.html";  
            String url = new File( inputFile ).toURI().toURL().toString();    
            String outputFile = "D:/Test/flying.pdf";    
            OutputStream os = new FileOutputStream( outputFile );    
            ITextRenderer renderer = new ITextRenderer();    
            renderer.setDocument( url );    
            renderer.layout();    
            renderer.createPDF( os );    
            os.close();    
        }    
       
        // 支持中文    
        public static void htmlToPdf2() throws Exception {      
            String outputFile = "F:/TestDemo/demo_3.pdf";      
            OutputStream os = new FileOutputStream(outputFile);      
            ITextRenderer renderer = new ITextRenderer();      
            ITextFontResolver fontResolver = renderer.getFontResolver();      
            fontResolver.addFont("C:/Windows/fonts/simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);      
            StringBuffer html = new StringBuffer();      
            // DOCTYPE 必需写否则类似于 这样的字符解析会出现错误      
            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: SimSun;}</style>")     
                .append("</head>")      
                .append("<body>");      
            html.append("<div>支持中文!</div>");      
            html.append("</body></html>");      
            renderer.setDocumentFromString(html.toString());      
            // 解决图片的相对路径问题      
            // renderer.getSharedContext().setBaseURL("file:/F:/teste/html/");      
            renderer.layout();      
            renderer.createPDF(os); 
            System.out.println("======转换成功!"); 
            os.close();      
        } 
         
        public static void htmlToPdf3() throws Exception{ 
            String inputFile = "F:/TestDemo/test.html"; 
            String outFile = "F:/TestDemo/test.pdf"; 
            OutputStream os = null; 
                os =  new FileOutputStream(outFile); 
                ITextRenderer renderer = new ITextRenderer(); 
                ITextFontResolver fontResolver = renderer.getFontResolver(); 
                fontResolver.addFont("C:/Windows/fonts/simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); 
                 
                String url = new File( inputFile ).toURI().toURL().toString(); 
                System.out.println("=============url: "+url); 
                renderer.setDocument(url); 
                renderer.layout(); 
                renderer.createPDF(os); 
                System.out.println("======转换成功!"); 
                os.close(); 
        } 
 
分享到:
评论

相关推荐

    如何解决java html转pdf图片不显示问题的源码范例合集new(由浅入深代码范例和详细说明).docx

    Java HTML 转 PDF 图片不显示问题解决方案详解 在 Java 开发中,经常需要将 HTML 转换为 PDF,并希望在生成的 PDF 中正确显示 HTML 中的图片。但是,由于 HTML 和 PDF 的格式差异,可能会遇到图片不显示的问题。...

    java html转pdf插件

    Java HTML 转 PDF 插件是用于将HTML文档转换为PDF格式的工具,这在很多场景下非常有用,比如报告生成、电子书制作、网页保存等。在Java开发环境中,有多种库和框架可以实现这个功能,如iText、Flying Saucer、PDFBox...

    JAVA HTML转pdf

    总的来说,`JAVA HTML转pdf`涉及到的关键知识点包括:`iTextPDF`库的使用,`Html2Pdf`扩展库,HTML读取与解析,PDF生成,以及可能的自定义配置。通过熟练掌握这些内容,你可以方便地在Java应用程序中实现HTML到PDF的...

    java html转pdf工具类

    这个“java html转pdf工具类”提供了一种便捷的方法来实现这个功能。以下是一些关于这个主题的重要知识点: 1. **iText和 Flying Saucer**: 这两个是Java中最常用的库,用于将HTML转换为PDF。iText是一个强大的PDF...

    如何解决java html转pdf图片不显示问题的源码范例(由浅入深代码范例和详细说明).docx

    调用 layout() 方法布局页面,然后调用 createPDF() 方法将解析后的 HTML 内容写入到已打开的 PDF 文档中。最后,我们关闭文档以完成转换过程。 在实际应用中,可能会遇到 HTML 中的图片路径问题。如果图片是相对...

    java html转pdf 最简单方法

    "java html转pdf 最简单方法"这个标题恰好指向了这个主题。在描述中提到,该方法可以将网站上的图片、文字以及格式完整地保留下来并生成PDF文档,这涉及到网页内容的解析和格式转换技术。 Java中有多种库可以实现...

    java html转pdf pd4ml

    Java HTML转PDF是一种常见的需求,特别是在web应用中,我们可能需要将网页内容导出为PDF格式,便于打印或离线阅读。在这个过程中,pd4ml是一个强大的库,它能够帮助我们实现HTML到PDF的转换,并且能很好地保留HTML...

    JAVA使用itextpdf实现HTML转PDF

    总之,使用iTextPDF库在Java中实现HTML到PDF的转换是一项实用的技能,但需要注意库对HTML和CSS的支持限制。根据实际需求,可能需要对HTML源码进行调整,或者考虑使用其他兼容性更强的库来实现更丰富的转换效果。

    java实现将html转pdf,并在指定位置添加印章

    1. 使用Flying Saucer进行HTML转PDF: 首先,引入Flying Saucer的相关依赖到你的项目中。然后,你可以创建一个`ITextRenderer`对象,设置输出流,加载HTML文件,最后渲染生成PDF。 2. 添加印章图片: HTML中可以...

    使用java把html转换为标准的PDF文件,完美可运行

    使用java把html转换为标准的PDF文件,完美可运行 第一种:html的文件 第二钟:html格式的字符串 我们先来讲一下第一种情况: 1.市面上有很多的html转pdf的方法,但是不是受限于中文的限制就是受限于css样式的丢失...

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

    Java后端实现HTML转PDF是常见的需求,尤其在生成报告、文档或网页打印场景中。PD4ML是一款高效且功能强大的Java库,专门用于将HTML内容转换为高质量的PDF文档。这个工具类的出现,使得开发者能够利用Java方便地处理...

    Java实现将html转PDF

    本项目提供了一个Java实现HTML转PDF的解决方案,适用于Eclipse开发环境。 1. **Java与PDF库** Java中用于生成PDF的库有很多,如iText、Flying Saucer、PDFBox等。其中,Flying Saucer是一个常用的库,它可以将HTML...

    java网页直接转成PDF(样式不缺失)

    总的来说,Java提供了强大且灵活的工具,如Flying Saucer,来实现从HTML和CSS构建的网页直接转换为PDF,保持样式和图片的完整性。在实际应用中,开发者可以根据需求选择合适的库,结合HTML和CSS的知识,创建高质量的...

    Java实现word、excel转pdf、html

    总的来说,Java实现Word、Excel转PDF和HTML涉及对各种库的理解和使用,包括Jacob、Apache POI等。实际应用时,需要根据项目需求选择最适合的工具和技术,并注意处理转换过程中可能出现的格式和样式丢失问题。同时,...

    Java-html转pdf文件

    至于提供的压缩包文件"Java-html转pdf"和"Java-htmlתpdf",它们可能是示例代码、依赖库或者其他与转换相关的资源。要使用这些文件,你需要将它们解压缩,并按照项目的结构和需求进行整合。 总之,Java结合Flying ...

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

    PD4ML是一个Java库,专门用于将HTML内容转换为高质量的PDF文档。本篇将深入探讨如何使用PD4ML实现在Java环境中处理中文乱码问题,并提供相关文件的背景和用途。 首先,我们要理解为何会出现中文乱码。在处理非ASCII...

    itext java html 转pdf 相关jar包

    core-renderer-9176297.jar core-renderer-R8 (1).jar itext-asian-5.2.0.jar itextpdf-5.5.9.jar itext-pdfa-5.5.9.jar itext-xtra-5.5.9.jar xmlworker-5.5.9.jar 你要的jar 这里都有

Global site tag (gtag.js) - Google Analytics