最近有需求處理在PDF上加文字,有別於之前的浮水印使用的方式不太一樣,故備忘之...
X座標與Y座標可使用十分逼近法取得,無法像圖檔使用小畫家看座標,沒甚麼大學問就是苦功吧。
範例CODE 如下:
BaseFont font = BaseFont.createFont("c:\\windows\\fonts\\EUDCK.TTF", "Identity-H", BaseFont.NOT_EMBEDDED);
InputStream input = new FileInputStream("templater.pdf");
OutputStream output= new FileOutputStream(new File("target.pdf"));
PdfReader reader = new PdfReader(input);
PdfStamper stamper = new PdfStamper(reader, output);
ColumnText ct = new ColumnText(stamper.getOverContent(1));
Font FontChinese14 = new Font(font, 14, 0);
Paragraph iText = new Paragraph(Tpmienrol.getTpmi_Namec(), FontChinese14);
ColumnText.showTextAligned(stamper.getOverContent(1), Element.ALIGN_LEFT, iText, x座標, y座標, 0);
stamper.setFormFlattening(true);
stamper.close();
reader.close();
因專案使用的是iTEXT 5.5版本,在iTEXT 7會更簡便些,BJ4就醬子吧~~改專案支援的FRAMEWORK施工更大,就向下延伸即可。