首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > PowerDesigner >

自各儿动手写CSDN博客提取器源码分析之三:处理网页保存为pdf文件

2012-07-29 
自己动手写CSDN博客提取器源码分析之三:处理网页保存为pdf文件下面我讲下处理pdf文件的,这里我用了PD4ML来

自己动手写CSDN博客提取器源码分析之三:处理网页保存为pdf文件

下面我讲下处理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); // autocomputepd4ml.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);}}

代码页很简单的。

热点排行