自己动手写CSDN博客提取器源码分析之三:处理网页保存为pdf文件
来源:互联网 发布:湖南软件企业评估 编辑:程序博客网 时间:2024/06/12 01:19
转载自: http://blog.csdn.net/w397090770/article/details/7768129
下面我讲下处理pdf文件的,这里我用了PD4ML来处理的,原因有几个:(1)、它对CSS的支持做的很好;(2)、可以处理图片(很爽吧)(3)、可以处理中文,不过麻烦一些。基础的过程可以看我的另外一篇帖子java编程将HTML文件转换成PDF文件http://blog.csdn.net/w397090770/article/details/7753166。下面是我的处理流程:
- /**
- *
- */
- package com.wyp.html2pdf;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.StringReader;
- import org.zefer.pd4ml.PD4Constants;
- import org.zefer.pd4ml.PD4ML;
- import org.zefer.pd4ml.PD4PageMark;
- /**
- * @author w397090770
- * Create Data: 2012-7-18
- * Email: wyphao.2007@163.com
- *
- * 版权所有,翻版不究,但是在修改本程序的时候务必加上这些注释。谢谢
- * 仅用于学习交流之用
- *
- * 保存网页为PDF
- */
- public class saveAsPDF {
- // HTML代码来自于HTML文件
- public void generatePDF_2(File outputPDFFile, String contents, String title)
- throws Exception {
- File saveFileName = new File(outputPDFFile.getAbsoluteFile() + File.separator + title + ".pdf");
- if(!saveFileName.exists()){
- saveFileName.createNewFile();
- }else{
- return;
- }
- FileOutputStream fos = new FileOutputStream(saveFileName);
- PD4ML pd4ml = new PD4ML();
- //页眉
- PD4PageMark headerMark = new PD4PageMark();
- headerMark.setAreaHeight(30);
- headerMark.setInitialPageNumber(1);
- headerMark.setPagesToSkip(1);
- headerMark.setTitleAlignment(PD4PageMark.CENTER_ALIGN);
- headerMark.setHtmlTemplate(title); // autocompute
- pd4ml.setPageHeader(headerMark);
- //页脚
- PD4PageMark footerMark = new PD4PageMark();
- footerMark.setAreaHeight(30);
- footerMark.setInitialPageNumber(10);
- footerMark.setHtmlTemplate("武汉大学");
- pd4ml.setPageFooter(footerMark);
- //选择纸张大小、字库目录、字体等
- pd4ml.setPageSize(PD4Constants.A4);
- pd4ml.useTTF("file:fonts", true);
- pd4ml.setDefaultTTFs("YouYuan", "Arial", "Courier New");
- pd4ml.enableDebugInfo();
- pd4ml.render(new StringReader(contents), fos);
- }
- }
代码页很简单的。
0 0
- 自己动手写CSDN博客提取器源码分析之三:处理网页保存为pdf文件
- 自己动手写CSDN博客提取器源码分析之三:处理网页保存为pdf文件
- 自己动手写CSDN博客提取器源码分析之三:处理网页保存为pdf文件
- 自己动手写CSDN博客提取器源码分析之二:处理网页保存为doc文件
- 自己动手写CSDN博客提取器源码分析之二:处理网页保存为doc文件
- 自己动手写CSDN博客提取器源码分析之二:处理网页保存为doc文件
- 自己动手写CSDN博客提取器源码分析之一:处理网页保存为txt文件
- 自己动手写CSDN博客提取器源码分析之一:处理网页保存为txt文件
- 自己动手写CSDN博客提取器源码分析之一:处理网页保存为txt文件
- 自己动手写CSDN博客提取器,提取文件保存支持PDF、doc、txt三种格式
- 自己动手写CSDN博客提取器,提取文件保存支持PDF、doc、txt三种格式
- 自己动手写CSDN博客提取器,提取文件保存支持PDF、doc、txt三种格式
- 自己动手写CSDN博客提取器源码分析之四:抓取网页源码
- [原创]自己动手写CSDN博客提取器,提取文件保存支持PDF、doc、txt三种格式
- [原创]自己动手写博客园博文提取器,提取文件保存支持PDF、doc、txt三种格式
- 网页源码保存为文件
- 自己动手编写CSDN博客备份工具-blogspider之源码分析(1)
- 自己动手编写CSDN博客备份工具-blogspider之源码分析(2)
- 错误记录--更改tomcat端口号方法,Several ports (8005, 8080, 8009)
- vector和list区别
- Spark资讯汇总(微信公共号:Spark大数据)
- 卸载oracle11g
- 详解clone函数
- 自己动手写CSDN博客提取器源码分析之三:处理网页保存为pdf文件
- [windows+cocos2dx]定时器的使用
- 综合程序题目>>4、模拟智能交通信号灯系统
- 矛盾空间的应用统计就
- Unrecognized Windows Sockets error: 0: JVM_Bind 异常解决办法
- ATM自动取款机
- 寂寞人生的家庭日天津的金融
- Container With Most Water --装最多水的容器(重)
- Myeclipse 2013 professional破解