面生成pdf说明文档
一、依赖的jar包
fonts.jar、pd4ml.jar、ss_css2.jar
二、功能说明
该功能可将jsp页面,直接转换成pdf文件。不需要做任何其他的配置,只需要前期导入依赖的jar包,然后传入函数需要的url(jsp页面action的地址)和pdf文件名称(包括路径),就可以生成需要的pdf到对应的路径下。
三、使用说明
(1) 将3个依赖的jar包导入工程;
(2) 系统代码
ConvertPdf.class-----基础类
public class ConverterPdf {
// 手动构造HTML代码
public static void generatePDF_1(File outputPDFFile, StringReader strReader) throws Exception {
FileOutputStream fos = new FileOutputStream(outputPDFFile);
PD4ML pd4ml = new PD4ML();
pd4ml.setPageInsets(new Insets(10, 20, 10, 20));
pd4ml.setHtmlWidth(950);
//pd4ml.setPageSize(pd4ml.changePageOrientation(PD4Constants.A4));
pd4ml.setPageSize(PD4Constants.A4);
pd4ml.useTTF("java:fonts", true);
pd4ml.setDefaultTTFs("SimHei", "Arial", "Courier New");
pd4ml.enableDebugInfo();
pd4ml.render(strReader, fos);
}
// HTML代码来自于HTML文件
public static void generatePDF_2(File outputPDFFile, String inputHTMLFileName) throws Exception {
FileOutputStream fos = new FileOutputStream(outputPDFFile);
PD4ML pd4ml = new PD4ML();
pd4ml.setPageInsets(new Insets(5, 20, 20, 20));
pd4ml.setHtmlWidth(1000);
//pd4ml.setPageSize(pd4ml.changePageOrientation(PD4Constants.A4));
pd4ml.setPageSize(PD4Constants.A4);
pd4ml.useTTF("java:fonts", true);
pd4ml.setDefaultTTFs("SimHei", "Arial", "Courier New");
pd4ml.enableDebugInfo();
pd4ml.render("file:" + inputHTMLFileName, fos);
}
}
调用页面的源码:
/**
*
*/
public String getAccountPdfHtml(String aid){
HttpServletRequest request = Struts2Utils.getRequest();
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String url = basePath+"user/guser!accountPdf.action";
//action的参数
NameValuePair[] paras = new NameValuePair[1];
paras[0] = new NameValuePair("aid", aid);
String result = PostHttp.postHttpReturnDoc1(url, paras,null);
return result;
}
public String accountPdf(){
corp = this.corpManager.getCorpByAid(aid);
List<CrUser> users = this.userManager.findCrUserPageByAid(aid, 1, 10).getResult();
Struts2Utils.getRequest().setAttribute("orgInfo", corp);
Struts2Utils.getRequest().setAttribute("orgUserList", users);
return "accountPdf";
}
private String createPdf(String aid ,boolean isSendEmail) {
String html = this.getAccountPdfHtml(aid);
StringReader strReader = new StringReader(html);
String rootPaht = getRootPath();
new FileUtil().createFolder(rootPaht + "/pdfFiles");
new FileUtil().createFolder(rootPaht + "/pdfFiles/" + aid);
String filePath = rootPaht + "/pdfFiles/" + aid + "//账户开立申请表.pdf";
try {
ConverterPdf.generatePDF_1(new File(filePath), strReader);
if(isSendEmail){
this.setAid(aid);
this.sendEmail();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
分享到:
相关推荐
iText则主要针对PDF文档的创建和编辑,虽然不直接支持HTML转PDF,但可以通过解析HTML后使用其API生成PDF。 2. **Flying Saucer库的使用**:首先,你需要引入Flying Saucer的依赖到你的项目中。然后,你可以使用`...
Web页面生成PDF(html to pdf)是一项常见的技术需求,它允许用户将网页内容转换为便携式文档格式(PDF),以便于打印、保存或离线阅读。wkhtmltopdf是这个领域内一个广泛使用的开源工具,它基于WebKit浏览器引擎,...
在HTML页面生成PDF的过程中,JSPDF提供了一系列API,可以处理文本、图像、表格甚至CSS样式。它使用了Canvas元素来渲染图形,同时支持SVG(Scalable Vector Graphics)以便生成更复杂的图形和图表。这个库的核心概念...
首先,我们需要将图片转换为Base64编码,然后在云函数中将Base64数据转换为二进制流,再由上述库生成PDF。 4. **微信小程序云开发**: 微信小程序云开发提供了一套完整的后端服务,包括数据库、存储和云函数。在这...
4. **添加页面**:调用 `AddPage()` 方法来创建新的 PDF 页面。 5. **插入内容**:使用各种方法如 `WriteHTML()`、`Cell()`、`Image()` 等添加文本、图片和表格等元素。TCPDF 支持 HTML 标签和简单的 CSS 样式,使...
本教程将探讨如何利用iText库在Spring Boot应用中从HTML页面生成PDF,并进行一系列的定制化操作,如添加页眉、页码、水印、目录以及二维码。 首先,iText是一个强大的Java库,专门用于创建和编辑PDF文档。它提供了...
本文将详细讨论如何使用PHP生成PDF文件,并结合简体中文的打印功能,以实现更全面的文档处理需求。 首先,生成PDF文件在PHP中通常通过第三方库来实现,如TCPDF、DOMPDF或FPDF等。TCPDF是一个开源的PHP类库,能够...
以下是一些关于“JAVA将页面HTML生成PDF”的关键知识点: 1. **Flying Saucer**: Flying Saucer是一个开源Java库,它能够将HTML、CSS和图片渲染成高质量的PDF文档。它支持HTML5和CSS3,可以处理复杂的布局和样式。...
以上就是使用Vue.js、html2canvas和jsPDF实现报告页面生成PDF并多页分页下载的详细步骤。在实际开发过程中,你可能还需要考虑其他因素,比如图片质量、文本换行、CSS兼容性等问题,以确保生成的PDF文件满足预期。
在IT行业中,生成PDF文档是常见的需求,尤其是在报表、发票或文档自动化等领域。`Freemarker`是一个强大的模板引擎,通常用于动态生成HTML、XML等文本格式,而将`Freemarker`与HTML模板结合生成PDF,可以充分利用...
这些设置可能会影响生成PDF或图片的质量、大小、分辨率等。 "lib"目录通常包含依赖库或外部模块,这些可能被PhantomJS脚本或其他Java类引用,以支持其功能。 在实际应用中,使用PhantomJS进行网页转换时,开发者...
在嵌入式系统领域,MCU(Microcontroller Unit)生成PDF文件是一项实用的技术,尤其对于需要将数据或报告以标准格式输出的项目。MCU,尤其是Cortex M3内核的MCU,因其低功耗、高效能和广泛应用,成为许多嵌入式系统...
当涉及到生成PDF文件时,C#提供了多种方法来实现这一功能。PDF(Portable Document Format)文件格式因其跨平台性和易于共享的特性,常用于文档的创建和分发。本篇文章将深入探讨如何利用C#生成PDF文件。 首先,...
9. **PDF标准**:理解PDF的结构和编码方式对于生成符合标准的PDF文件至关重要,虽然在Qt中这部分工作由库自动处理,但深入理解可以帮助优化输出质量。 通过这个项目,开发者不仅可以学习到Qt库的使用,还能掌握HTML...
2、 pdfWriter2():使用QPdfwriter 和QPainter创建pdf报告,关键是对页面的布局排版。本示例,进行了页眉,页脚,中间内容的排版。页眉左上角为图片logo,页眉右边为页数提示;页脚有生成报告的时间和公司logo布局。 ...
在IT行业中,生成PDF文件是一项常见的任务,尤其在报表、文档和发票的自动化处理中。本主题将深入探讨如何利用Freemarker模板和wkhtmltox工具来实现这一功能。 **Freemarker模板** 是一个强大的Java模板引擎,用于...
PDFlib是一个著名的库,用于在各种环境中生成PDF文档,包括在微控制器(MCU)上。这个库的独特之处在于它可以在资源有限的嵌入式系统上运行,这通常是一个挑战,因为PDF生成通常需要大量的计算和内存资源。MCU(微...
在IT行业中,生成PDF文档是一项常见的任务,尤其在企业级应用和报告自动化中。Java作为广泛应用的编程语言,提供了多种库来实现动态生成PDF。本文将深入探讨如何使用Java源码来实现这一功能。 首先,我们需要了解...
在本文中,虽然我们并不直接使用PyPDF2来生成PDF,但它的功能强大,对于需要处理PDF的场景非常有用。安装PyPDF2可使用命令`pip install PyPDF2`。 2. **网络请求与HTML解析**:首先,我们需要使用`requests`库获取...