首先制作一个pdf模板
1. 打开Adobe Acrobat,选择“文件 > 创建PDF(F)> 从扫描仪(S)…”, 将原始单据《银行开立个人账户申请书》扫描后保存为“bank.jpg”。
2. 在Word中创建一个空白的A4规格文档,文件保存为“empty.doc”。
3. 选择“文件 > 创建PDF(F)> 从文件(F)…”打开“empty.doc”文件,在Adobe Acrobat 7.0中生成一个空白的pdf文件,另存为“empty.pdf”。
4. 在Adobe Acrobat中选择“文档(D)> 添加水印和背景(B)… ”,在文件“来源”区域中选择“从文件” 点击“浏览”,选择“bank.jpg”。
注意在“位置和外观”中,垂直对齐为:“上边”;水平对齐为:“左边”,点击“确定”。
5. 保存文件为“BankTemplet.pdf”。
6. BankTemplet.pdf文件
打开“BankTemplet.pdf”文件,选择“工具(T)> 高级编辑工具(A)> 文本域工具(T)”,在需要打印数据项的位置放置文本框,调整合适的大小,设置文本域的名称、字体、外观、格式、动作等属性。
如:在开户人栏的“姓名”数据项拖放一个文本域名称为CLIENT_NAME,字体为“宋体”字号为“12”。7 按S-2-2-6的方法依次定义其他的数据项文本域。
注:域名要大写,可以使用数字。
8. 替换“BankTemplet.pdf”文件中的背景:
方法(一):选择“文档(D)> 添加水印和背景(B)… ”,在文件“来源”区域中选择“从文件”。 点击“浏览”选择“empty.pdf”,背景图消失,点击“确定”。
方法(二):选择“文档(D)> 添加水印和背景(B)… ”,在文件“来源”区域中选择“从文本” 在右侧的输入框中只输入空格符,点击“确定”
9. 保存“BankTemplet.pdf”模板文件,套打格式的模板制作完成。
创建一个servlet
Java代码
- package com.linkage.invoice;
- import java.io.ByteArrayOutputStream;
- import java.io.IOException;
- import javax.servlet.ServletException;
- import javax.servlet.ServletOutputStream;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import com.lowagie.text.DocumentException;
- import com.lowagie.text.Font;
- import com.lowagie.text.pdf.AcroFields;
- import com.lowagie.text.pdf.BaseFont;
- import com.lowagie.text.pdf.PdfContentByte;
- import com.lowagie.text.pdf.PdfReader;
- import com.lowagie.text.pdf.PdfStamper;
- public class GenPDFServlet extends HttpServlet{
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- request.setCharacterEncoding("GBK");
- String username = request.getParameter("username");
- String phonenum = request.getParameter("phonenum");
- System.out.println(username);
- System.out.println(phonenum);
- response.reset();
- ByteArrayOutputStream ba = new ByteArrayOutputStream();
- /*打开已经定义好字段的pdf模板*/
- String TemplatePDF = getServletContext().getRealPath("/") + "/invoice.pdf";
- PdfReader reader = new PdfReader(TemplatePDF);