• 大小: 13.46MB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-02-04
  • 语言: Java
  • 标签:

资源简介

通过java代码先生成html,然后再将html转换成所需要的pdf文件,并加盖印章。

资源截图

代码片段和文件信息

package com.pdf;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

import org.xhtmlrenderer.pdf.ITextRenderer;

import com.lowagie.text.DocumentException;
import com.lowagie.text.pdf.baseFont;

import freemarker.template.Configuration;
import freemarker.template.Template;

public class PdfHandler {

private static final String CONTRACT = “resource/contract/“;//合同文件存储路径
private static final String TEMPLATE = “resource/templates/“;//模板存储路径



private static final String PDFNAME = “pdfDemo“;//pdf文件名
private static final String HTMLNAME = “pdfDemo“;//html文件名


public static void contractHandler(String templateName
Mapject> paramMap) throws Exception{
// 获取本地模板存储路径、合同文件存储路径
String templatePath = TEMPLATE;
String contractPath = CONTRACT;
// 组装html和pdf合同的全路径URL
String localHtmlUrl = contractPath + HTMLNAME + “.html“;
String localPdfPath = contractPath + “/“;
// 判断本地路径是否存在如果不存在则创建
File localFile = new File(localPdfPath);
if (!localFile.exists()) {
localFile.mkdirs();
}
String localPdfUrl = localFile + “/“ + PDFNAME + “.pdf“;
templateName=templateName+“.ftl“;
htmHandler(templatePath templateName localHtmlUrl paramMap);// 生成html合同
pdfHandler(localHtmlUrl localPdfUrl);// 根据html合同生成pdf合同
deleteFile(localHtmlUrl);// 删除html格式合同

System.out.println(“PDF生成成功“);
}

/**
 * 生成html格式合同
 */
private static void htmHandler(String templatePath String templateName
String htmUrl Mapject> paramMap) throws Exception {
Configuration cfg = new Configuration();
cfg.setDefaultEncoding(“UTF-8“);
cfg.setDirectoryForTemplateLoading(new File(templatePath));

Template template = cfg.getTemplate(templateName);

File outHtmFile = new File(htmUrl);

Writer out = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(outHtmFile)));
template.process(paramMap out);

out.close();
}

/**
 * 生成pdf格式合同
 */
private static void pdfHandler(String htmUrl String pdfUrl)
throws DocumentException IOException {
File htmFile = new File(htmUrl);
File pdfFile = new File(pdfUrl);

String url = htmFile.toURI().toURL().toString();

OutputStream os = new FileOutputStream(pdfFile);

org.xhtmlrenderer.pdf.ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(url);

org.xhtmlrenderer.pdf.ITextFontResolver fontResolver = renderer
.getFontResolver();
// 解决中文支持问题
fontResolver.addFont(TEMPLATE+“simsun.ttc“
baseFont.IDENTITY_H baseFont.NOT_embedDED);

renderer.layout();
renderer.createPDF(os);
os.close();
}

/**
 * 删除文件
 */
private static void deleteFile(String fileUrl) {
File file = new File(fileUrl);
file.delete();
}

public s

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        537  2017-03-24 11:45  PdfDemo\.classpath

     文件        383  2017-03-24 10:59  PdfDemo\.project

     文件        598  2017-03-24 10:59  PdfDemo\.settings\org.eclipse.jdt.core.prefs

     文件       5679  2017-03-28 16:37  PdfDemo\bin\com\pdf\PdfHandler.class

     文件      37329  2017-03-28 16:31  PdfDemo\bin\contract\images\123.jpg

     文件      47960  2017-03-28 16:35  PdfDemo\bin\contract\pdfDemo.pdf

     文件       2769  2017-03-24 11:18  PdfDemo\bin\templates\101.ftl

     文件       2847  2017-03-24 11:18  PdfDemo\bin\templates\102.ftl

     文件       2615  2017-03-24 11:18  PdfDemo\bin\templates\104.ftl

     文件       2425  2017-03-24 11:18  PdfDemo\bin\templates\106.ftl

     文件       1957  2017-03-24 11:43  PdfDemo\bin\templates\201.ftl

     文件       2929  2017-03-24 11:18  PdfDemo\bin\templates\202.ftl

     文件       2698  2017-03-24 11:18  PdfDemo\bin\templates\204.ftl

     文件   10512288  2017-03-24 11:18  PdfDemo\bin\templates\simsun.ttc

     文件    1169626  2016-09-12 16:44  PdfDemo\lib\core-renderer-R8pre2.jar

     文件     924269  2016-09-12 16:44  PdfDemo\lib\freemarker-2.3.18.jar

     文件    1207623  2016-09-12 16:44  PdfDemo\lib\itext-2.0.7.jar

     文件      15517  2017-03-28 16:35  PdfDemo\resource\contract\images\123.jpg

     文件       2769  2017-03-24 11:18  PdfDemo\resource\templates\101.ftl

     文件       2847  2017-03-24 11:18  PdfDemo\resource\templates\102.ftl

     文件       2615  2017-03-24 11:18  PdfDemo\resource\templates\104.ftl

     文件       2425  2017-03-24 11:18  PdfDemo\resource\templates\106.ftl

     文件       1957  2017-03-24 11:43  PdfDemo\resource\templates\201.ftl

     文件       2929  2017-03-24 11:18  PdfDemo\resource\templates\202.ftl

     文件       2698  2017-03-24 11:18  PdfDemo\resource\templates\204.ftl

     文件   10512288  2017-03-24 11:18  PdfDemo\resource\templates\simsun.ttc

     文件       4446  2017-03-28 16:37  PdfDemo\src\com\pdf\PdfHandler.java

     目录          0  2017-03-27 08:47  PdfDemo\bin\com\pdf

     目录          0  2017-03-28 16:33  PdfDemo\bin\contract\images

     目录          0  2017-03-28 16:33  PdfDemo\resource\contract\images

............此处省略16个文件信息

评论

共有 条评论

相关资源