ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

Javaでitextを使ってPDF出力 その2:ファイル出力編

2011-12-08 15:21:34 | JavaとWeb
前に

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が見える。
それをダブルクリックすると、出来てますよね!!

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Googleの関数グラフ表示機能、IE7では、表示しない

2011-12-08 12:55:33 | トピックス
Googleで、関数を入力すると、グラフを表示してくれる機能が入ったけど、
IE7において、Googleでsin(x)を検索した場合


Chromeにおいて、Googleでsin(x)を検索した場合



IE・・・(;_;)

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Firefoxピンチ報道に各地で反論-FireFoxよりIEでは?IE9,XPでは動かない!

2011-12-08 10:46:04 | トピックス
Chromeが4.71%から18.1%にシェア上昇したのに対し、
FireFoxが25.02%からは22.14%に減少(2009年12月→2011年11月)ということ
から、「Firefoxピンチ」って言っていることに対しての記事なんだけど・・


Firefoxピンチ報道に各地で反論
http://zasshi.news.yahoo.co.jp/article?a=20111208-00000002-rnijugo-inet


その論理は、当然おかしいわけで、
Chromeは14%も伸ばしているのに、FireFoxが3%しか落ちていないんだから、
もっと落ちているところがあって、そいつのほうがピンチと考えるべきだろう。




その、もっと落ちているのが、きっとIEなんでしょうね。。。

記事では、IEの危機は聞いたことがないって書いてあるけど、
どうなんでしょうねえ・・・今後・・

IE6,7のシェアは確実に減ってくるだろうし(見えないサイトも、そのうち出てくるよね)
そうしたとき、みんなIE9に乗り換えてくれるか?




 え、なぜ、乗り換えないのかですって?

 つまり、IE9の動作環境は、Windows Vistaか7以上、つまり、XPを使っている人は動かない。

 じゃ、IE8で良いじゃない!ってことになるけど、HTML5に関して言うと、IE8では、
確かに対応といっているけど、それほどではなく、IE9になって、新しいJavascriptエンジンを搭載し、いろいろなタグに関しても、本格対応している




 じゃあ、WindowsXP、やめればいいじゃない!というかもしれないが、
 これには2つの問題がある。

 1つは、安定性。
 今XPで、システムを導入している場合、結構安定しているわけで、この安定性を、
 VistaやWindows7で得られるか疑問。

 もうひとつは、設備投資の観点。
 XPのマシンにWindows7をいれて、快適に動くだろうか?
 う~ん、買い換えたほうがいい?
 となった場合、投資の意味はあるだろうか?
 現時点で、XPで何も困っていない。
 Windowsへの投資は経費なので、Windows7への設備投資が回収できるか、甚だ疑問だ。




 ってなことで、
 XPを使い続けたいなら、IE9に上げられないので、HTML5に世の中が移行されるとこまる。
 逆に、XPを放棄し、Vistaはさておき、Windows7に移行するなら、IE9は使えるけど・・
   そのために設備投資?さらに、今の安定性を捨てる・・・?


 となると、世の中の進化に追いつくための選択肢はただひとつ。

     IEを捨て、ChromeかFireFoxを入れる・・・

 ということになる。




 ・・・事実、私の今使ってるノートPCには、IEとChromeが入ってる。

 HTML5のサイトが増えたら、ChromeやFireFoxがデフォルトのブラウザになる日も近いかも?

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする