itextによるPDF作成準備

itextはサンプルコードがいろいろ出ていますが、古いものはimportするファイルが違ってエラーになります。

iText5.5.0での環境構築では下記サイトがわかりやすそう
(SeaSea2使うのでその後の練習ではちょっとハードル高い)
http://d.hatena.ne.jp/MoonMtLab/20130913/1379021689
eclipsの参照ライブラリーに下記を入れる
itext-asian.jar
・itextpdf-5.5.0.jar
itext-pdfa-5.5.0.jar
itext-xtra-5.5.0.jar

▼iText5.5.0は下記からダウンロード
http://sourceforge.net/projects/itext/files/iText/
▼extrajars-2.3.zip
http://sourceforge.net/projects/itext/files/extrajars/

▼iTextAsian.jar/iTextAsianCmaps.jarが対応していなかったら下記を使用(extrajars-2.3.zipの中のファイルを使えば大丈夫なのでおそらく必要ない)
http://www.orquesta.org/takegata/Article/ArticleView.jsp?article_id=793

▼学習教材
http://dream.mods.jp/itext2/(無料)
※「import com.lowagie.text.*;」「import com.lowagie.text.pdf.PdfWriter」などをimportしていますが、
私の使用したiText5.5.0では「import com.itextpdf.text.*」「import com.itextpdf.text.pdf.PdfWriter;」などを使用します。<サンプルコード>
いらないものもいろいろ入っていますが勉強でご愛嬌

package chapter04;
import java.io.FileOutputStream;
import java.io.IOException;
//import java.awt.Color;//昔は色指定で使ったが今はBaseColorを使う
import java.awt.Graphics2D;//Graphics2Dクラスを使用する

import com.itextpdf.text.Rectangle;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.PageSize;//PageSize.A4を使うとき使用
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.CMYKColor;
import com.itextpdf.text.pdf.PdfContentByte;//PDFの中に文字を入れる時に使用
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.BaseFont;
//import com.itextpdf.text.pdf.ExtendedColor;//昔はCMYKの色指定に使った
//import com.itextpdf.text.BaseColor; //RGBで色を扱う
import com.itextpdf.text.pdf.CMYKColor;//CMYKで色を扱う

public class Chapter04 {
public static void main(String[] args) {
//????????????Document ????????
Rectangle pageSize = new Rectangle(842f, 842f);//PDFのページサイズ
//BaseColor color =new BaseColor(100,0,0);//RGBの色指定
CMYKColor color = new CMYKColor(100,0,0,0);//CMYKの色指定

pageSize.setBackgroundColor(color);

//Document document = new Document(PageSize.A4.rotate(),36,36,72,72);
Document document = new Document(pageSize);
Document.compress=false;

//document.setMarginMirroring(true);//左右でマージンが違う場合に使用


try {
//DocWriter

//PdfWriter.getInstance(document,
//new FileOutputStream("C:\\java\\HelloWorldJ6.pdf"));

PdfWriter writer=PdfWriter.getInstance(document,new FileOutputStream("C:\\java\\HelloWorldJ6_v7_2.pdf"));
writer.setPdfVersion(PdfWriter.PDF_VERSION_1_7);//PDFのバージョン

//Documentオープン
document.open();


//PDFの中に文字追加1
//BaseFont bf1 =BaseFont.createFont("HeiseiKakuGo-W5","UniJIS-UCS2-HW-H",false);
//Font font=new Font(bf1,12);
//document.add(new Paragraph("iTextファーストステップ",font));//PDFに文字を追加

//PDFの中に文字追加2
//PdfContentByte cb = writer.getDirectContent();
//BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA,BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
//cb.saveState(); // q
//cb.beginText(); // BT
//cb.moveText(36, 806); // 36 806 開始位置
//cb.moveText(0, -18); // ラインスペース分下げる。ベースラインと次のベースラインの間に相当
//cb.setFontAndSize(bf, 12); //フォントとサイズ
//cb.showText("iText first try."); // iText first try.がPDFに書き込まれる
//cb.moveText(0, 0); // 0 0 Td
//cb.endText(); // ET
//cb.restoreState(); // Q


PdfContentByte cb1 = writer.getDirectContent();
Graphics2D g = cb1.createGraphics(PageSize.A4.getWidth(),PageSize.A4.getHeight());
g.drawString("iText first try by Graphics2D", 36, 154);//追加する文字と位置
g.dispose();



document.addTitle("iTextサンプル");
document.addSubject("入門のためのサンプル");
document.addKeywords("iText,pdf");
document.addCreator("Java program with iText");
document.addAuthor("川崎");
document.addHeader("Expires", "0");

} catch (DocumentException de) {
System.err.println(de.getMessage());
} catch (IOException ioe) {
System.err.println(ioe.getMessage());
}
//Document クローズ
document.close();
}
}