既存のPDFに文字を追加する
大まかな流れは以下の通りです。PDFの内部形式に沿った処理をしなければならないため、感覚を掴むまでが大変です。また、日本語の組込みフォントが無いため、適当なTrueTypeフォント(またはコレクション)ファイルを指定してフォントを生成する必要があります。
FileOutputStream fos = null;
Document doc = null;
PdfReader pr = null;
PdfWriter pw = null;
try {
pr = new PdfReader(getClass().getResource("src.pdf"));
fos = new FileOutputStream(new File("dst.pdf"));
doc = new Document(PageSize.A4);
pw = PdfWriter.getInstance(doc, fos);
doc.open();
PdfImportedPage page1 = pw.getImportedPage(pr, 1);
PdfContentByte cb = pw.getDirectContent();
cb.addTemplate(page1, 0, 0);
cb.beginText();
BaseFont bf = BaseFont.createFont("/msgothic.ttc,2",BaseFont.IDENTITY_H,BaseFont.EMBEDDED);
cb.setFontAndSize(bf, 12);
cb.showTextAligned(PdfContentByte.ALIGN_LEFT, "text", 125, 671, 0);
cb.endText();
} catch (DocumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(pr != null)
pr.close();
if (doc != null)
doc.close();
if (pw != null)
pw.close();
}
この記事は役に立ちましたか?
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について