前に
Javaでitextを使ってPDF出力 その1:サーブレット編
http://blog.goo.ne.jp/xmldtp/e/96f05a8f919be0a713a878a5e69a5935
を書いたが、今度は、ファイル出力について考えてみたい。
■概要
ネットワークとJavaのio、さらにiTextとの関係を書くと、こんなかんじ。
つまり、PDFWriterで、下の層のOutputStreamと、上の層のDocumentをつないでいる。
したがって、その1では、ByteArrayOutputStreamとつなげていたところを、
ファイルをオープンして、FileOutputStreamに書き換えてつなげればいいことになる。
■手順(1):ダウンロード
は、「その1」で、すでにしている。それを使う
■手順(2):プロジェクト作成
前回は、Tomcatプロジェクトを作成したが、
今回は、ふつうのJavaプロジェクトを作成する。
eclipseを立ち上げたら、
ファイル→新規→Javaプロジェクト
を選択。出てきたダイアログにプロジェクト名を入れて作成する。
■手順(3):プロジェクトにiTextとiTextAsianを入れ、パスを貼る
前回ダウンロードしてきた、iTextとiTextAsianのjarファイルを、手順(2)で作ったプロジェクト
にドラッグアンドドロップして、コピーする。
あるいは前に作ったプロジェクトに入っているiTextとiTextAsianのjarをコピーし、
それを、手順(2)で作ったプロジェクトに貼り付けても良い。
とにかく、jarを、プロジェクトに入れる。
そうしたら、Javaのビルドパスを設定する。
プロジェクトを選択し、右ボタンメニューで出てくる、「プロパティ」を選択すると、プロパティダイアログが表示される。
そこから「javaのビルド・パス」を選択。
「ライブラリ」タブを選択し、Jar追加をクリック。
でてきたダイアログで、先ほどのjarファイル(iTextとiTextAsianのjarファイル)を選択して「OK]。ビルドパスのページを閉じる。
■手順(4):ソースコードの作成
クラスを作成する。クラス名はなんでもかまわない。
今回はSample1とした。
プロジェクトを右クリック→新規→クラス
でクラスファイルは作成できる。適当に作成する。
作成したら、
フリーのライブラリを使いPDFを生成する
http://www.atmarkit.co.jp/fjava/javatips/134java025.html
を参考に、ファイルを書き換える。書き換えた内容を以下に示す。
書き換えたら、保存する
■手順(5):実行する
プロジェクトを右クリックして、
実行→Javaアプリケーション
を選択する。
ダイアログが出てくる。今作成したクラス名を探して選び、実行する。
おわったら、F5を押すと、リフレッシュされ、プロジェクトにPDFが見える。
それをダブルクリックすると、出来てますよね!!
Javaでitextを使ってPDF出力 その1:サーブレット編
http://blog.goo.ne.jp/xmldtp/e/96f05a8f919be0a713a878a5e69a5935
を書いたが、今度は、ファイル出力について考えてみたい。
■概要
ネットワークとJavaのio、さらにiTextとの関係を書くと、こんなかんじ。
つまり、PDFWriterで、下の層のOutputStreamと、上の層のDocumentをつないでいる。
したがって、その1では、ByteArrayOutputStreamとつなげていたところを、
ファイルをオープンして、FileOutputStreamに書き換えてつなげればいいことになる。
■手順(1):ダウンロード
は、「その1」で、すでにしている。それを使う
■手順(2):プロジェクト作成
前回は、Tomcatプロジェクトを作成したが、
今回は、ふつうのJavaプロジェクトを作成する。
eclipseを立ち上げたら、
ファイル→新規→Javaプロジェクト
を選択。出てきたダイアログにプロジェクト名を入れて作成する。
■手順(3):プロジェクトにiTextとiTextAsianを入れ、パスを貼る
前回ダウンロードしてきた、iTextとiTextAsianのjarファイルを、手順(2)で作ったプロジェクト
にドラッグアンドドロップして、コピーする。
あるいは前に作ったプロジェクトに入っているiTextとiTextAsianのjarをコピーし、
それを、手順(2)で作ったプロジェクトに貼り付けても良い。
とにかく、jarを、プロジェクトに入れる。
そうしたら、Javaのビルドパスを設定する。
プロジェクトを選択し、右ボタンメニューで出てくる、「プロパティ」を選択すると、プロパティダイアログが表示される。
そこから「javaのビルド・パス」を選択。
「ライブラリ」タブを選択し、Jar追加をクリック。
でてきたダイアログで、先ほどのjarファイル(iTextとiTextAsianのjarファイル)を選択して「OK]。ビルドパスのページを閉じる。
■手順(4):ソースコードの作成
クラスを作成する。クラス名はなんでもかまわない。
今回はSample1とした。
プロジェクトを右クリック→新規→クラス
でクラスファイルは作成できる。適当に作成する。
作成したら、
フリーのライブラリを使いPDFを生成する
http://www.atmarkit.co.jp/fjava/javatips/134java025.html
を参考に、ファイルを書き換える。書き換えた内容を以下に示す。
import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.Font; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.BaseFont; import com.lowagie.text.pdf.PdfWriter; public class Sample1 { public static void main(String[] args) throws IOException { // 汎用の文書オブジェクトを生成 Document doc = new Document(); FileOutputStream out=null; try { // 出力先を指定し、文書をPDFとして出力 out = new FileOutputStream("sample1.pdf"); PdfWriter.getInstance(doc, out); // 出力開始 doc.open(); // 日本語フォントの設定 Font font = new Font(BaseFont.createFont( "HeiseiKakuGo-W5", "UniJIS-UCS2-H", BaseFont.NOT_EMBEDDED)); // 文書に要素を追加 doc.add(new Paragraph("こんにちは、世界。", font)); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } // 出力終了 doc.close(); out.close(); } } |
書き換えたら、保存する
■手順(5):実行する
プロジェクトを右クリックして、
実行→Javaアプリケーション
を選択する。
ダイアログが出てくる。今作成したクラス名を探して選び、実行する。
おわったら、F5を押すと、リフレッシュされ、プロジェクトにPDFが見える。
それをダブルクリックすると、出来てますよね!!