iTextPDF を使って PDFファイルを作成する(書きかけ)
import java.io.FileOutputStream; import java.io.BufferedOutputStream; import java.io.IOException; import java.io.FileNotFoundException; import com.itextpdf.text.Font; import com.itextpdf.text.Paragraph; import com.itextpdf.text.Document; import com.itextpdf.text.Rectangle; import com.itextpdf.text.DocumentException; import com.itextpdf.text.pdf.PdfWriter; import com.itextpdf.text.pdf.BaseFont; import com.itextpdf.text.pdf.CMYKColor; import com.itextpdf.text.pdf.PdfContentByte; import java.awt.Graphics2D; public class testJava { public static void main (String[] arg) { FileOutputStream out = null; BufferedOutputStream bout = null; PdfWriter writer = null; Document doc = null; System.out.println("...start"); try { out = new FileOutputStream("test.pdf"); bout = new BufferedOutputStream(out); doc = new Document(new Rectangle(0,0,500,500)); writer = PdfWriter.getInstance(doc, bout); doc.open(); // 文字の出力 BaseFont mincho = BaseFont.createFont("HeiseiMin-W3", "UniJIS-UCS2-HW-H",false); Font f1 = new Font(mincho, 11); f1.setColor(CMYKColor.RED); doc.add(new Paragraph("hello, world", f1)); // 図形の出力 PdfContentByte cb = writer.getDirectContent(); cb.saveState(); cb.concatCTM(1, 0, 0, 1, 50, 250); Graphics2D g2 = cb.createGraphics(200, 200); g2.setColor(java.awt.Color.LIGHT_GRAY); g2.fillRect(0,0,150,150); g2.setColor(java.awt.Color.BLUE); g2.fillOval(50,50,50,50); g2.dispose(); cb.restoreState(); } catch (DocumentException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { doc.close(); } System.out.println("...end"); } }
雑
java は言語としては扱いやすいけど、ヒアドキュメントが使えないから嫌い。
あと環境が複雑すぎて理解できてない。