java.awt.Graphics2D
オブジェクト
本当にPDF シンタックスの使い方を学習するつもりがないなら、iText のような新しい API を学習するつもりもないだろう。たぶん、JDK の Java
API に執着するのであろう。それでも、問題はありません。そのような要求にこたえるために、PdfGraphics2D
はあります。このクラスは、java.awt.Graphics2D を継承し、PDF
シンタックスを生成するためのメソッドをオーバーライドしています。最高だと思わないかい?(この質問をする前に、java.awt.print.PrinterGraphics
を継承している PdfGraphics2D
オブジェクトもあることを言っておこう。) PdfContentByte クラスには、数々の createGraphics
メソッドがある。下の例は、SUN の Graphics2D のチュートリアルをそのままコピーしたものです。ここで使っている Graphics2D
オブジェクトは、PdfTemplate からとりだしたものです。
A good example of how どのようにして、iText と
PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(w, h); Graphics2D g2 = tp.createGraphics(w, h, new DefaultFontMapper());
Example: java
com.lowagie.examples.directcontent.graphics2D.G2D
A Simple Graphics2D example: see graphics2D.pdf
So if you already know all about JAVA の Graphics2D についての知識があったり、Graphics2D
オブジェクトの機能をつかって書かれたプログラム (たとえば、ある JFrame 中の JPanelなど)、PDF
シンタックスについて学ぶ必要はなく、ただ単に、既存のコードを PDF へ出力するように書き換えるだけである。たとえば、iText や PDF のフォントよりも、java.awt.Font
について詳しいならば、次の例のように PdfGraphics2D を使うことができます。(訳注:iText.NET では、動作しません。)
A Simple Graphics2D example: see graphics2D.pdf
Example: java
com.lowagie.examples.directcontent.graphics2D.ArabicText
Drawing arabic text using the Graphics2D object: see arabictext.pdf
使い方について知らなければなからないこは、次のことだけです。
Drawing arabic text using the Graphics2D object: see arabictext.pdf
java.awt.Font font = new java.awt.Font("arial", 0, 18);
PdfContentByte cb = writer.getDirectContent();
java.awt.Graphics2D g2 =
cb.createGraphicsShapes(PageSize.A4.width(), PageSize.A4.height());
g2.setFont(font);
g2.drawString(text, 100, 100);
g2.dispose();
PdfGraphics2D.dispose()
を呼ぶのを忘れるな!!!A good example of how どのようにして、iText と
JFree.org において Graphics2D をめいっぱい使っているライブラリが見つけられるが、これはiText が他のライブラリとしてと接続するかについてのよい例となる。JFree.org は、JFreeChart のホームである、チャートを生成する最もよく使われているライブラリのひとつである。チャートは、java.awt.Graphics2D オブジェクトへ書き込まれるので、ただ単に iText と接続するだけで PDF が得られる。
Example: java
com.lowagie.examples.directcontent.graphics2D.JFreeChartExample
Some JFreeChart examples: see barchart.pdf piechart.pdf xychart.pdf
Extra jars needed in your CLASSPATH: jfreechart.jar jcommon.jar
もし、iText
をこのような方法で使っているフリー/オープン・ソース・ソフトウエア・アプリケーションがあるなら、その例を送ってください。この章に、加えるかも知れません。Some JFreeChart examples: see barchart.pdf piechart.pdf xychart.pdf
Extra jars needed in your CLASSPATH: jfreechart.jar jcommon.jar
