Html 转换成PDF

标签: html pdf | 发表时间:2014-08-25 11:44 | 作者:zhangwenlongchina
出处:http://www.iteye.com

最近在搞一个关于html转换为pdf的需求,网上找了很多,但是如果批量处理就会出现问题,最后找到了PD4ML,解决了我的问题

package fonts;

import java.awt.Dimension;
import java.awt.Insets;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;

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

public class TextHtml {
    protected Dimension format = PD4Constants.A4;

    protected boolean landscapeValue = false;

    protected int topValue = 5;

    protected int leftValue = 10;

    protected int rightValue = 10;

    protected int bottomValue = 10;

    protected String unitsValue = "mm";

    protected String proxyHost = "";

    protected int proxyPort = 0;

    protected int userSpaceWidth = 1100;
	
	public static void main(String[] args) throws Exception {  
		TextHtml converter = new TextHtml();  
		//for (int i = 0; i < 7000; i++) {
		    converter.generatePDF_2(0);  
       // }
    }  
    public void generatePDF_2(int i) throws Exception {  
        ByteArrayOutputStream ba = new ByteArrayOutputStream();
        PD4ML pd4ml = new PD4ML();
        pd4ml.setPageSize(new java.awt.Dimension(450, 450));
        pd4ml.setPageInsets(new java.awt.Insets(5, 5, 5, 5));
        pd4ml.enableImgSplit(false);
        pd4ml.useTTF("java:fonts", true);

        try {
            pd4ml.setPageSize(landscapeValue ? pd4ml .changePageOrientation(format) : format);
        } catch (Exception e) {
            e.printStackTrace();
        }

        if (unitsValue.equals("mm")) {
            pd4ml.setPageInsetsMM(new Insets(topValue, leftValue,
            bottomValue, rightValue));
        } else {
            pd4ml.setPageInsets(new Insets(topValue, leftValue,
            bottomValue, rightValue));
        }

        pd4ml.setHtmlWidth(userSpaceWidth);
        String urlstring = "file:///D:/债权转让及受让协议--魏然2014-08-16.html";
        URL url = new URL(urlstring);
        pd4ml.render(urlstring, ba);
        try {
            FileOutputStream out = new FileOutputStream("d:\\demo\\pdf\\"+3311+".pdf");  
            ba.writeTo(out);
            out.flush();
            out.close();
            ba.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }  

}

 

 

需要在src目录下创建fonts文件夹,并且在文件夹中建立pd4fonts.properties ,配置文件中的内容如下

#this is an autogenerated file. please remove manually any references to copyrighted fonts
#Fri Oct 23 19:43:12 CEST 2009
KaiTi_GB2312=STZHONGS.TTF

 

 

STZHONGS.TTF 需要到C:\Windows\Fonts找到放到同级目录下





已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [html pdf] 推荐:

Html 转换成PDF

- - 编程语言 - ITeye博客
最近在搞一个关于html转换为pdf的需求,网上找了很多,但是如果批量处理就会出现问题,最后找到了PD4ML,解决了我的问题. String urlstring = "file:///D:/债权转让及受让协议--魏然2014-08-16.html";. 需要在src目录下创建fonts文件夹,并且在文件夹中建立pd4fonts.properties ,配置文件中的内容如下.

pdftohtml – 将PDF转化为HTML | 小众软件 > 实用工具

- Guan - 小众软件
pdftohtml 可以将 PDF 转化为 HTML ,便于嵌入网页中,并且可以提取 PDF 中的图片. pdftohtml 是一款开源、跨平台软件,支持 linux , win , mac 等. pdftohtml 没有 GUI 界面,需要在 CMD 中操作:. 把 PDF 文件复制到软件目录中,在 CMD 中运行 pdftohtml xxx.pdf ,软件会自动转化 HTML 文件并提取 PDF 中的图片.

Java实现HTML页面转PDF解决方案

- - Java - 编程语言 - ITeye博客
首先,当然是找到能够解析PDF的完美组件,. 而目前开源的组件中,Itext的确是一个First Choice,如果各位单纯是做把图片转成PDF或者自己写了Velocity或者FreeMarker模板生成了HTML是非常推荐直接用Itext来进行的. 而如果,大家像我这样已经有前人写好了HTML页面或者懒得写FreeMarker模板的话.

Java实现HTML代码生成PDF文档

- - 企业架构 - ITeye博客
1、IText实现html2pdf,速度快,纠错能力差,支持中文(要求HTML使用unicode编码),但中支持一种中文字体,开源. 2、Flying Sauser实现html2pdf,纠错能力差,支持多种中文字体(部分样式不能识别),开源. 3、PD4ML实现html2pdf,速度快,纠错能力强,支持多种中文字体,商业.

Nodejs中利用phantom把html转为pdf或图片格式 - younglao的博客 - CSDN博客

- -
最近在项目中遇到需要把html页面转换为pdf的需求,并且转换成的pdf文件要保留原有html的样式和图片. 也就是说,html页面的图片、表格、样式等都需要完整的保存下来. 最初找到三种方法来实现这个需求,这三种方法都只是粗浅的看了使用方法,从而找出适合这个需求的方案:. wkhtmltopdf 工具.

java合并PDF

- - Java - 编程语言 - ITeye博客
15.         * * 合並pdf文件 * * @param files 要合並文件數組(絕對路徑如{ "e:\\1.pdf", "e:\\2.pdf" ,. 17.         * 合並後新產生的文件絕對路徑如e:\\temp.pdf,請自己刪除用過後不再用的文件請 * @return boolean.

HTML 安全列表

- 火锅土豆 - 酷壳 - CoolShell.cn
下面这个网站罗列了,几乎所有的关于HTML 5 在各种主流浏览器上的安全问题,这些安全问题很有可能将会是黑客攻击你的网上的敲门砖,他们几乎都和Javascript都有关系,你就要好好注意了. IE6,7,8,9,和Opera 8.x, 9.x, 10.x 都支持这样的语法. 这个问题会存在于所有的Firefox版本中,可以让用户进行XSS(跨站脚本)攻击.

HTML学习笔记

- - CSDN博客推荐文章
超文本标记语言( 英文:HyperText Markup Language,HTML)是为“ 网页创建和其它可在 网页浏览器中看到的信息”设计的一种 标记语言. HTML被用来结构化信息——例如标题、段落和列表等等  点击打开链接. w3schools  点击打开链接 {语法大全,超赞.

html嵌套规则

- - Web前端 - ITeye博客
转载: http://www.studyofnet.com/news/412.html. 一、HTML 标签包括 块级元素(block)、内嵌元素(inline). 一般用来搭建网站架构、布局、承载内容……它包括以下这些标签:. 一般用在网站内容之中的某些细节或部位,用以“强调、区分样式、上标、下标、锚点”等等,下面这些标签都属于内嵌元素:.

HTML+CSS小结 - jessies

- - 博客园_首页
   结构   HTML        .    样式   CSS      .    行为   JavaScript(交互行为).    .    网页标题.    标题.