`
jie_bosshr
  • 浏览: 143189 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

iText将html转化为pdf

阅读更多
1 将如下jar包导入工程:
core-renderer.jar
core-renderer-minimal.jar
iText-2.0.8.jar
iTextAsian.jar
xml-apis-xerces-2.9.1.jar

2 Code:
//将html转化后并进行下载
public String reportPdf(MessageResources resources,
			Locale locale, HttpSession session, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		response.reset();
		response.setContentType("application/pdf");
		response.setHeader("Content-Disposition","attachment;filename="+java.net.URLEncoder.encode("itextConvertHtml","UTF-8")+".pdf");
		OutputStream os = response.getOutputStream();
		ITextRenderer renderer = new ITextRenderer();
		ITextFontResolver fontResolver = renderer.getFontResolver();
//用于window
fontResolver.addFont("C:/Windows/fonts/simsun.ttc",BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); //设置中文字体
//Linux系统需引用simsun.ttc(此文件在系统中创建),window系统直接引用c:/windows/font/simsun.ttc
//fontResolver.addFont(this.getServlet().getServletContext().getRealPath("/")+"/images/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\">");
		html.append("<head>");
		html.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />");
		html.append("<style type=\"text/css\" mce_bogus=\"1\">body {font-family: SimSun;}</style>");
		html.append("</head>").append("<body>");
		html.append("<img src='itextConvertHtml1.jpg'/><img src='itextConvertHtml2.jpg'/>");
		html.append("</body></html>");
		try{
			renderer.setDocumentFromString(html.toString());
			// 解决图片的相对路径问题(在系统的images/upload去寻找itextConvertHtml1.jpg和itextConvertHtml1.jpg)
			renderer.getSharedContext().setBaseURL("file:/"+this.getServlet().getServletContext().getRealPath("/")+"images/upload/");
			renderer.layout();
			renderer.createPDF(os);
			os.flush();   
			os.close();
		}catch(Exception ex){}
		return null;
}

//将html转化后生成到本地磁盘
public String outPutPdf(MessageResources resources,
			Locale locale, HttpSession session, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		String outputFile = "E:/itextConvertHtml.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\">");
		html.append("<head>");
		html.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />");
		html.append("<style type=\"text/css\" mce_bogus=\"1\">body {font-family: SimSun;}</style>");
		html.append("</head>").append("<body>");
		html.append("<img src='itextConvertHtml1.jpg'/><img src='itextConvertHtml2.jpg'/>");
		html.append("</body></html>");
		try{
			renderer.setDocumentFromString(html.toString());
			// 解决图片的相对路径问题(在系统的images/upload去寻找itextConvertHtml1.jpg和itextConvertHtml1.jpg)
			renderer.getSharedContext().setBaseURL("file:/"+this.getServlet().getServletContext().getRealPath("/")+"images/upload/");
			renderer.layout();
			renderer.createPDF(os);
			os.flush();   
			os.close();
		}catch(Exception ex){}
		return null;
}

3 在使用itext将html转化为pdf时,html的标签必须是开始-结束,另外itext中有部分不支持html的标签。
分享到:
评论

相关推荐

    itext7 html转换为pdf

    将HTML转换为PDF的需求很常见,例如生成报告、电子书或者用户手册。`iText`是一个强大的Java库,用于处理PDF文档,它的最新版本`iText 7`增加了对HTML到PDF转换的支持。本文将详细介绍如何利用`iText 7`在Windows...

    iText7 html转换为pdf生成页码、页眉、页脚DEMO

    itext7 html转换为pdf;iText7页码、页眉、页脚,itext 的复杂表格实现;完整springboot项目代码

    JAVA使用itextpdf实现HTML转PDF

    iTextPDF提供了`HtmlConverter`类,可以方便地将HTML字符串或URL转换为PDF。以下是一个简单的示例: ```java import com.itextpdf.html2pdf.HtmlConverter; import com.itextpdf.html2pdf.attach.ProcessorContext;...

    poi创建word、生成html、itext将html转换成pdf。pd4ml将jsp转成pdf

    1.用户导入word生成pdf -首先导入word的时候读取word里面的全部内容。调用(ReadAndWriteDoc)然后将内容 传送到createPdf里面生成pdf。导入的时候读取采用poi /生成的时候采用的是...4.将html转换成pdf(itext)

    利用itext将html转为pdf带图片所需jar

    本篇文章将详细介绍如何利用iText将HTML转换为PDF,并介绍所需的jar包以及相关知识点。 首先,我们需要准备两个关键的jar包,即`iText-2.0.8.jar`和`core-renderer-R8.jar`。`iText-2.0.8.jar`是iText的主要库,...

    使用iText-2.0.8将Html转换为pdf,带图片功能

    在将HTML转换为PDF时,我们需要解析HTML文档,提取其内容并用iText的API构建相应的PDF元素。 1. **解析HTML**: - 首先,你需要一个HTML解析器,例如Jsoup,它可以将HTML字符串解析成DOM(文档对象模型)结构。DOM...

    itext5.4.2 html2pdf

    在5.4.2这个版本中,开发者添加了对HTML到PDF转换的特性,使得用户可以方便地将网页内容转化为PDF格式,这对于生成报告、手册或者保存网页信息非常有用。 html2pdf是iText中的一个重要模块,它通过解析HTML和CSS,...

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

    以上就是使用iText将HTML转换为PDF的基本步骤。通过学习和实践,你可以进一步了解如何自定义PDF布局、添加页眉页脚、处理图片等高级功能。在压缩包文件"demo-itext"中,可能包含了一个简单的示例项目,你可以参考该...

    iText7 itextpdf/html2pdf

    iText7 用于html转换pdf核心包-html2pdf-1.0.1.jar。。。。

    itextpdf将html生成pdf所需要的全部jar

    然后,XMLWorker将处理后的HTML转化为iText可以操作的元素;最后,iTextPDF核心库利用这些元素创建PDF文档,并通过itext-asian保证亚洲文字的正确显示。 这个压缩包提供的库组合,确保了HTML到PDF转换的兼容性和...

    itext 将html转pdf中文显示换行以及字体问题

    1、itext将静态html转pdf中文显示及换行问题 2、itext将静态html转pdf 字体问题 3、html转pdf 参考我的另外一篇博文https://blog.csdn.net/qq_38616723/article/details/125188407?spm=1001.2014.3001.5502

    利用Itext实现html转pdf

    通常,我们会借助一个中间转换器,如Apache FOP、Flying Saucer或JSoup,将HTML转换为XML或XSL-FO格式,然后用Itext将其转换为PDF。 1. **Apache FOP**:Apache FOP是一个XSL-FO处理器,可以将XSL-FO文档转换为PDF...

    html to pdf itext

    总结来说,使用iText将HTML转换为PDF需要理解HTML和PDF的差异,解析HTML,处理CSS,利用iText的API创建PDF,以及可能地使用桥接组件简化转换过程。这是一项涉及多个步骤的技术任务,但通过正确的工具和方法,可以...

    使用IText将html文件转PDF文件项目

    该项目实现了使用IText将html文件转为pdf文件功能。 步骤: (1):将字体文件按代码中写的路径放到磁盘对应位置。 (2):将template.html文件按代码中路径放到磁盘对应位置。 (3):直接运行HtmlToPdfUtilForCss...

    itext将静态html转pdf 中文显示及换行问题

    注意:此代码是利用itext将静态html转为pdf,非url转pdf 项目为maven项目,注意pom.xml文件中的jar包 解决了中文不显示及不换行的问题 https://blog.csdn.net/woweipingzui/article/details/82017089

    itextpdf.jar

    iTextPDF通过解析HTML和CSS,将其转化为PDF结构,保留了原网页的布局和样式。这使得网页内容能够在不同的设备和操作系统上以一致的方式呈现,满足了跨平台的需求。 其次,iTextPDF对XML文档的支持同样强大。XML是一...

    iText html转pdf jar包

    Flying Saucer将HTML解析为一个可视化的渲染树,然后iText将这个渲染树转化为PDF的页面元素。这个过程涉及到CSS样式的应用、图像的嵌入、链接的处理等多个方面。 具体使用iText进行HTML转PDF的步骤如下: 1. **...

    htmltopdf.zip使用itext5将html转换为PDF并添加水印

    本教程将详细介绍如何使用iText5将HTML转换为PDF,并在生成的PDF上添加自定义水印,解决水印只出现在最后一页的问题。 首先,你需要了解iText5库的基本概念。iText是一个用于创建和修改PDF文档的开源Java库。它提供...

    iText-html转pdf

    在"iText-html转pdf"这个主题中,我们主要关注的是如何利用iText库将HTML内容转换为PDF格式。iText不仅支持基本的PDF创建,还提供了高级功能,如表格、图像、超链接和自定义字体等的处理。在这个过程中,xmlworker是...

    Itext实现Html转化为Doc源码、Doc中部分代码为html转化

    总结来说,实现"Itext实现Html转化为Doc源码、Doc中部分代码为html转化"的关键步骤包括: 1. 使用HTML解析器(如Jsoup)解析HTML内容。 2. 遍历解析后的DOM树,将HTML元素转换为对应的DOC格式。 3. 使用Apache POI...

Global site tag (gtag.js) - Google Analytics