`
wangming2012
  • 浏览: 138720 次
  • 性别: Icon_minigender_1
  • 来自: 枣阳
社区版块
存档分类
最新评论

Itext 实现 html转换成pdf

阅读更多


需要的jar包: core-renderer.jar 和 iText-2.0.8.jar

 

Html代码

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">    
<html xmlns="http://www.w3.org/1999/xhtml ">    
<head>    
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    
<title>test</title>    
<style type="text/css">        
body {    
        font-family: SimSun;       
        font-size:22px;    
        font-style:italic;    
        font-weight:bold;    
        color:#00F;    
}    
</style></head>    
    
<body>    
显示中文dsklahsdal;das哈哈哈哈<br />
上多哈考虑的哈    
</body>    
</html> 

 

Java代码

package com.test;

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;

/**    
* TODO class description *    
*   
* @author pcwang   
*   
* @version 1.0, 上午11:03:26    create $Id$   
*/    
public class ITextRendererTest {    
        public static void main(String[] args) throws Exception {    
                String inputFile = "WebRoot/a.html";    
                String url = new File(inputFile).toURI().toURL().toString();    
                String outputFile = "WebRoot/a.pdf";    
                System.out.println(url);
                OutputStream os = new FileOutputStream(outputFile);    
                ITextRenderer renderer = new ITextRenderer();    
                renderer.setDocument(url);    
    
                // 解决中文支持问题    
                ITextFontResolver fontResolver = renderer.getFontResolver();    
                fontResolver.addFont("C:/Windows/Fonts/SIMSUN.TTC", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);    
    
                // 解决图片的相对路径问题    
//                renderer.getSharedContext().setBaseURL("file:/D:/z/temp/");    
                    
                renderer.layout();    
                renderer.createPDF(os);    
                    
                os.close();    
        }    
}  

 

注意事项:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">    
<html xmlns="http://www.w3.org/1999/xhtml "> 
(1)头文件必须这个,否则会报以下错误:
             错误:“The declaration for the entity "HTML.Version" must end with '>'.”
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
(2)charset 必须是UTF-8,否则会报以下错误:
             错误:“Invalid byte 1 of 1-byte UTF-8 sequence.”
(3)需要定一个样式:body {font-family: SimSun};
(4)html页面必须严格遵循, 该打引号就要打引号
             错误:cellpadding=0 ,border=1"
(5)不要引用无效的链接
  <link rel="stylesheet" type="text/css" href="XX/ll.css"/ >
 <link rel="stylesheet" type="text/css" href="XX/main.css"/

分享到:
评论
6 楼 medlying 2016-05-17  
html中的js能够被解析执行吗
5 楼 794581572 2015-08-03  
还是出现了乱码.. 编码用utf-8还是出了乱码
4 楼 mbq820 2014-05-15  
楼主为什么我的 提示不支持该字体:Unsupported font type
3 楼 SwordShadow 2013-11-28  
博主写的太好了,可以转载吗?
2 楼 bewithme 2012-12-12  
passzh 写道
请问为何用您的方法,写不进去PDF,而且PDF大小为0KB,打开时说“文件已损坏”?

那是因为你的他用的字体你没有
1 楼 passzh 2012-08-23  
请问为何用您的方法,写不进去PDF,而且PDF大小为0KB,打开时说“文件已损坏”?

相关推荐

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

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

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

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

    JAVA使用itextpdf实现HTML转PDF

    java实现html转pdf,包含后端代码,html测试页面,pom依赖,jar包,如页面过于复杂需调整页面,有些样式itextpdf不支持,请寻找其它样式替换。

    itext7 html转换为pdf

    使用itext7将html转换为pdf,支持中文,可以生产页眉,页脚,这个是windows系统的,里面还需要自己在pom.xml中导入相关的包,不会的可以找我

    iText7 itextpdf/html2pdf

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

    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

    不用改变源码,就可以实现换行

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

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

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

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

    利用poi+itextpdf进行word转pdf.zip

    将word转换成pdf确实有很多种方案!最近正好需要做一个这样的功能,需求是将word模板进行签名后转换为pdf。为此,我花了一点时间去网上找方案。这里记录一下最终的方案:利用poi+itextpdf进行word转pdf。此资源按...

    html转pdfHTML导出PDF中文、ITEXT转HTML为PDF包括中文显示解决方案

    System.out.println("======转换成功!"); os.close(); os.flush(); } public static void main(String[] args) { ItextUtil itextUtil = new ItextUtil(); String html = ""; html += "&lt;table&gt;"; html...

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

    利用itext将html转为pdf,支持中文,和图片,代码地址在https://www.cnblogs.com/bert227/p/9724254.html

    IText Html生成PDF支持中文、英文和数字换行

    经过大牛修改后的core-renderer.jar,当把HTML转化成PDF时支持table的td中的中文、英文和数字自动换行,table必须添加样式table-layout:fixed;word-break:break-strict;

    iText中文帮助文档.pdf

    iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。

    iText-html转pdf

    itext用于进行转化pdf操作的组件,压缩包为java操作的一些所需jar包

    Itext实现自动生成pdf word文件

    iText是著名的开放项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。

    itextpdf.jar

    创建XML文档,将HTML,Web表单,CSS或数据库中的文档转换为PDF,并使其符合全球标准。

    itext5-itextpdf

    iText是著名的开放项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。

    itext+flaying saucer把html转化成pdf所有jar包

    itext+flaying saucer,html转化成pdf所用到的所有jar包,并且已经修改了core-renderer.jar,使其能够支持中文换行,中文显示。

    itext解析pdf全能最新jar

    iText是著名的开放源码的站点sourceforge的一个项目,它是一个...如果PDF是标记的且包含一个结构树,就可以借助于iText将PDF文档转换成XML文档(这往往取决于PDF文档是如何创建的)。另外还可以从页面中提取纯文本。

Global site tag (gtag.js) - Google Analytics