iText PDF template

useful materials
http://svn.assembla.com/svn/jarbilling/billing/trunk/billing/vendor/pdfmanipulator/Fdf.java
http://svn.assembla.com/svn/jarbilling/billing/trunk/billing/vendor/pdfmanipulator/test/BatchFormFill.java
http://www.coderanch.com/t/63861/open-source/iText-Silent-Print
http://threebit.net/mail-archive/itext-questions/msg02068.html

part4.chapter13.PrintPreferencesExample:
http://itextpdf.com/examples/iia.php?id=230

http://comments.gmane.org/gmane.comp.java.lib.itext.general/28053


import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Map.Entry;
import java.util.Set;

import com.itextpdf.text.Document;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.pdf.AcroFields;
import com.itextpdf.text.pdf.AcroFields.Item;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;

public class PdfTest2 {
public static void main(String[] args) throws Exception {
// Create output PDF
Document document = new Document(PageSize.A4);

document.open();

// Load existing PDF
PdfReader reader = new PdfReader(new FileInputStream(
"Sample application form_ENG edit.pdf"));
// PdfImportedPage page = writer.getImportedPage(reader, 1);

// we'll create the file in memory
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// Now we create the PDF
PdfStamper stamper = new PdfStamper(reader, baos);
// We alter the fields of the existing PDF
AcroFields fields = stamper.getAcroFields();

BaseFont baseFont = FontFactory.getFont(FontFactory.TIMES_ITALIC,BaseFont.IDENTITY_H, new Float(12)).getBaseFont();

Set<Entry<String, Item>> entrySet = fields.getFields().entrySet();
for (Entry<String, Item> entry : entrySet) {
String key = entry.getKey();
System.out.println(key);
fields.setField(key, key);
// if (fields.getFieldType(key) == AcroFields.FIELD_TYPE_TEXT) {
fields.setFieldProperty(key, "textfont", baseFont, null);
fields.setFieldProperty(key, "textsize", new Float(16), null);
// }
}
fields.setField("tradeID", "007");
// close the stamper
fields.setField("acNo", "9527");


stamper.close();

document.close();

// let's write the file in memory to a file anyway
FileOutputStream fos = new FileOutputStream("HelloWorld-Gavin.pdf");
fos.write(baos.toByteArray());
fos.close();

}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值