`
SpringLin
  • 浏览: 139962 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

JAVA中HTML转PDF

阅读更多
HtmltoPDF
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();
	    }

}


分享到:
评论
1 楼 hanjiangit 2013-11-15  
报错了 楼主 Exception in thread "main" org.xhtmlrenderer.util.XRRuntimeException: Can't load the XML resource (using TRaX transformer). java.io.IOException: Stream closed

相关推荐

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

    为了解决这个问题,本文将介绍使用 iText 和 FlyingSaucer 两个第三方库来实现 Java 中的 HTML 转 PDF 图片显示。 使用 iText 库 iText 库是一个功能强大的开源库,提供了许多实用的功能,可以方便地将 HTML 转换...

    java,html转pdf文件,支持中文

    本文将深入探讨如何利用iText库在Java环境中,高效且完美地将包含中文内容的HTML文件转换为PDF。 首先,iText是一个强大的PDF处理库,它提供了丰富的API,允许开发者创建、编辑和读取PDF文档。对于HTML到PDF的转换...

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

    接着,我们设置了 PdfWriter 的 strictImageSequence 属性为 true,这有助于确保图片按照正确的顺序出现在 PDF 中。之后,我们打开文档并创建了一个 ITextRenderer 对象,这个对象负责将 HTML 解析为 PDF。 ...

    JAVA实现PDF转HTML

    由于描述中提到“不能转换水印、印章这类特殊类型”,这意味着转换工具可能不支持处理这些特殊元素,可能是因为它们在PDF中的表示方式较为复杂,或者涉及到版权问题。 在实际应用中,这样的转换服务可能会被集成到...

    java测试工具html转pdf

    - CSS样式兼容性:确保HTML中的CSS样式正确地应用到PDF中可能需要一些调试工作,因为不是所有的CSS属性都在PDF中得到完全支持。 - 图像处理:图片的分辨率和大小可能需要调整以适应PDF格式,同时要考虑跨域问题。 - ...

    JAVA使用itextpdf实现HTML转PDF

    对于链接,iTextPDF会将其转换为PDF中的超链接,但可能无法保留原始的HTML锚点。 此外,标签中的"xpdf"通常指的是XPDF工具集,它是一个命令行工具,用于处理PDF文档。虽然本示例未直接使用XPDF,但在某些场景下,如...

    Java 使用itext将html转pdf并下载demo

    这个“Java使用iText将html转pdf并下载demo”的主题将深入讲解如何使用iText库实现这一功能。 首先,我们需要理解iText的基本用法。iText库提供了多种API,可以用来创建PDF文档、添加文本、图像、表格等元素。在...

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

    本文将详细讲解如何使用Java实现这一功能,包括HTML转PDF以及在PDF中添加印章。 首先,我们需要一个库来处理HTML转PDF的任务。在Java中,一个常用的库是`Flying Saucer`,它能够将HTML渲染为PDF格式。`Flying ...

    java URL转PDF文件

    在Java编程环境中,将一个URL链接的内容转换为PDF文件是一个常见的需求,这通常涉及到网络请求、HTML解析以及PDF生成等多个步骤。以下是一个详细的步骤指南,涵盖了这个过程中的关键知识点: 首先,我们需要处理URL...

    java实现office、wps转pdf,pdf转word

    标题“java实现office、wps转pdf,pdf转word”指的是利用Java编程来实现在不同办公文档格式间的转换,特别是从Microsoft Office和WPS格式转换为PDF,以及从PDF反向转换为Word文档。 首先,让我们讨论从Office和WPS...

    Java-html转pdf文件

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

    Java实现将html转PDF

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

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

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

    java URL转PDF文件(完美支持中文)

    在Java编程环境中,将URL内容转换为PDF文件是一项常见的需求,尤其在数据抓取、文档保存或自动化报告生成等场景中。"java URL转PDF文件(完美支持中文)"的主题着重于如何利用Java库来实现这一功能,并且确保中文字符...

    java的html转pdf

    java实现html转pdf,包括解决base64图片以及中文不显示问题

    java txt转换pdf 解决中文问题

    然后,我们写入中文文本到PDF中。当然,你需要替换`"你的中文文本"`为你实际的TXT文件内容。 3. **使用Flying Saucer**: 如果你发现PDFBox在处理中文字符方面仍然存在问题,可以尝试使用Flying Saucer库,它基于...

    java html转pdf

    2. **字体管理**:HTML中的某些字体可能在PDF中不支持。为解决这个问题,你可以通过`FontProvider`类指定自定义字体文件,并将其加载到`ITextRenderer`中。这样,HTML中的特殊字体在转换时会被正确呈现。 3. **设置...

    java html转pdf插件

    综合来看,Java HTML转PDF插件主要涉及的是Java编程、PDF处理技术以及可能的Web渲染引擎,而压缩包中的文件则指向了Qt库,可能用于在Java应用中实现更复杂的HTML渲染和转换。在实际开发中,根据项目需求和资源,可以...

    java实现HTML页面转PDF亲测好用

    你也可以考虑使用专门为Java设计的HTML转PDF库,如PDFreactor、Flying Saucer或HtmlUnit,它们通常提供更丰富的API和更好的集成。 在实际项目中,你可能需要处理更复杂的情况,比如设置PDF页面大小、自定义CSS样式...

Global site tag (gtag.js) - Google Analytics