PDF、バーコード操作

トップ > チップス > PDF、バーコード操作
2012-02-13, itext

既存の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();
}

この記事は役に立ちましたか?