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

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

情報の伝達スピードは60年以上前の方がはやい?

2009-03-27 23:41:35 | Weblog

ここの痛いニュース
「国民の皆さん、ミサイル発射されたらすぐに情報を伝えます。テレビなどの情報に注意して下さい」…政府、国民に呼び掛け
http://blog.livedoor.jp/dqnplus/archives/1239205.html


いや、すぐに伝えますと言っても、困るんですけど・・・
そもそも、テレビって、そんなに見ないし、ラジオもきかないし。。。
さらに、テレビ、パソコンの地デジでみてるんですよ、
何秒か遅れるし・・・

ネットで伝えてくれれば、見れるけど、
リフレッシュで画面書き換えてたとしても、数秒待ってしまいますよね。。。

そのあいだに、落ちちゃいますよね。
っていうか、飛び始めてから、ニュース流して、間に合うのか??

これって、そのリンク先の下の方(コメントのところ)に書いてあったけど、
むかしの「空襲警報」とおなじですよね。
60年前は、空襲警報はすぐにサイレンが鳴って、
みんな準備できたわけで、
そう考えると、

情報の伝達スピードは60年以上前の方がはやい?


P.S 60年前とおなじく、発射されたら、市役所がサイレン鳴らしたほうが、
早くね??

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

フリーのiText+Javaで、日本語文字、画像、図形を任意の位置に書き出し、PDFへ

2009-03-27 18:58:48 | Weblog

では、まとめとして、iTextを使って、

  ・日本語文字
  ・画像
  ・図形

を任意の位置に書き出し、PDFへ出力します。

日本語文字を扱うには、iTextAsian.jarというjarが必要なようです。

ここ
http://sourceforge.net/project/downloading.php?groupname=itext&filename=iTextAsian.jar
にあるみたいです。
ダウンロードしたら、EclipseでJarを付け足すわけですが、それについては、
ここに書いてある方法で追加してくださいませ。

で、そうしたら、ソースコード。
今回、図形は、ついでなので、 前に作ったtest.jpgと、WIKIPEDIAをcode39で表現したものをだしてみたいと思います。
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
import java.io.*;

public class MojiTest {

	public static void main(String[] args) throws Exception{

			//	ドキュメントを作成
			Document document = new Document(); 
			PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("moji.pdf"));
			document.open();
			PdfContentByte cb = writer.getDirectContent();

			//	文字を指定した位置に書く
			cb.beginText();
			BaseFont bf = BaseFont.createFont("HeiseiKakuGo-W5", "UniJIS-UCS2-H", BaseFont.NOT_embedDED);
			cb.setFontAndSize(bf, 12);
			cb.moveText(10, 800);
			cb.showText("てすと   mytest 123");
			cb.endText();
			
			// 指定したところに、図形を描く(赤い四角とふつうの円)
			cb.setRGBColorFill(255, 0, 0);
			cb.rectangle(100, 700, 50, 50);
			cb.fill();

			cb.setRGBColorFill(0, 0, 0);
			cb.ellipse(200, 700, 250, 650);
			cb.stroke();
			
			//	CODE39のバーコードを書く
			Barcode39 code39 = new Barcode39();
			code39.setCode("WIKIPEDIA");
			Image image39 = code39.createImageWithBarcode(cb, null, null);
			cb.addImage(image39, image39.getWidth(), 0,0,image39.getHeight(), 10, 600);

			//	イメージ出力(JPEGファイル読み込み)
            		Image jpg = Image.getInstance("test.jpg");
			cb.addImage(jpg, jpg.getWidth(), 0,0,jpg.getHeight(), 10, 500);

			//	クローズ
			document.close();
	}

}



参考にしたサイト
http://www.ujihara.jp/iTextdotNET/examples/com/lowagie/examples/directcontent/text/Text.java
http://www.northvan.jp/?p=13

なんか、PSのコマンドっぽい書き方になってきた。
めんどっちいけど、こっちのほうが、制御しやすそう。Chunkとか、使うより・・・

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

フリーのライブラリiText+Javaで、バーコードをJPEGファイルに出力する

2009-03-27 16:57:57 | Weblog

ただし、バーコード部分のみで、文字の部分は出力できないけど。
前に書いたのは、PDFファイルでの出力(この場合は、コードの文字部分も出力される)だけど、
こんどは、JPEGとか、イメージファイルに書き出してみる。

こんなかんじ。

import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;

import com.lowagie.text.pdf.BarcodeEAN;

//参考にしたサイト http://www.northvan.jp/wiki/index.php?JAVA%20javax.imageio.ImageIO

public class ImgTest {
	public static void main(String[] args) throws Exception
	{
		//バーコードイメージの作成 
		BarcodeEAN codeEAN = new BarcodeEAN();
		codeEAN.setCodeType(codeEAN.EAN13);
		codeEAN.setCode("4902555131719");
		Image image = codeEAN.createAwtImage(Color.black, Color.white);
	
		//Image→BufferdImageへ
		BufferedImage bffImg
			= new BufferedImage(image.getWidth(null),image.getHeight(null),BufferedImage.TYPE_3BYTE_BGR); 
		Graphics offg = bffImg.createGraphics(); 
		offg.drawImage(image, 0, 0, null); 

		//ImageIOでJPEG書き出し 
		ImageIO.write(bffImg, "jpeg", new File("test.jpg"));
	}
}


(書き出し部分で参考にしたサイトhttp://www.northvan.jp/wiki/index.php?JAVA%20javax.imageio.ImageIO

書き出すバーコードは前と同じ、
カントリーマーム 紀州の梅 4902555131719
(たべた。たべると、「あ、こーいうことか」と納得。おいしい)

書き出しファイルはtest.jpgで、プロジェクトのフォルダにできるけど・・・
うーん、合っているのかどうかは、バーコードリーダーがないので、わからん(^^;)


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

JavaでバーコードをPDF上に作成する

2009-03-27 14:49:23 | Weblog

では、次に、iTextを使って、Javaで、バーコードをPDF上に作成します。
iTextのインストールとかは、前に書いたとおり。
で、プログラムは、こんなかんじ。

import com.lowagie.text.*;
import com.lowagie.text.pdf.*;

import java.io.*;

public class BarTest {
	public static void main(String[] args) throws Exception{
		Document document = new Document(); 

			//	ドキュメントを作成
		PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("Bar.pdf"));
		document.open();
		PdfContentByte cb = writer.getDirectContent();

			//	JANコード
		BarcodeEAN codeEAN = new BarcodeEAN();
		codeEAN.setCodeType(codeEAN.EAN13);
		codeEAN.setCode("4902555131719");
		Image imageEAN = codeEAN.createImageWithBarcode(cb, null, null);
		imageEAN.setAbsolutePosition(10,800);
		document.add(imageEAN);

			//	CODE39
		Barcode39 code39 = new Barcode39();
		code39.setCode("WIKIPEDIA");
		Image image39 = code39.createImageWithBarcode(cb, null, null);
		image39.setAbsolutePosition(10, 700);
		document.add(image39);

			//	クローズ
		document.close();
	}
}


http://itextdocs.lowagie.com/tutorial/objects/images/tiff/index.php
を参考にしました。

JANコードは、4902555131719にしました。
これは、
不二家チョコチップクッキー カントリーマーム 紀州の梅
のコード、
カントリーマームの梅だよ!!すごくない(@_@!)
というので、お昼買って来て、今食べずに机のうえにあったので、
このコードをいれてみた(なので、まだ味はわからない)

Code38はWIKIPEDIAといれてみた。リンク先に例があるから。

で、位置なんだけど、左下が(0,0)になるみたい。
だと、よくわかんないので、てきとーに、(10,800),(10,700)のところに出してみた。

・・・けど、バーコードリーダーがないので、あってるかどうかは???


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

JAVAでPDFを作成するフリーライブラリ、iTextをつかってみる。

2009-03-27 12:06:06 | Weblog

ダウンロードして、Eclipseをつかって、Hellow Worldとかかれた、
PDFをだすところまで。
なお、Eclipseは、Ver3.4.2をつかっていて、日本語パッチをあてていません。
なので、英語のところは、てきとーに日本語に置き換えて解釈してね!




■(1)http://www.lowagie.com/iText/download.html
  にいき、「Current release」のところ、「Compiled code」の
  iText-2.1.5.jar
  iText-rtf-2.1.5.jar
  iText-rups-2.1.5.jar
 をクリック、ダウンロードする(sourceforgeにとばされる)

■(2)Eclipseでプロジェクトをつくる。
 File→Java Projectを選択すると、

   Create a Java Project

 のダイアログが表示される。
 プロジェクト名を入れて、Nextをクリックすると、

   Java Settings

 のダイアログになるが、そこで、Librariesをクリック
 以下の画面になるので、Add External JARsをクリックし、
 今ダウンロードした、3つのjarをとおす。


なお、プロジェクトを作成してからでも、プロジェクトを右クリックして
Propertiesを選択、Propertiesダイアログを出したら、右側で、
Java Build Pathを選択すると、下図のように

Add External JARsでJARを追加できる。


■(3)適当にクラスを作成し、以下のようにプログラム
 (もちろん、クラス名は、てきとーになおしてくださいね。
  ないしは、こことおなじようにPDFTestにするか)

import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
import java.io.*;

public class PDFTest {
	public static void main(String[] args) throws Exception{
			Document document = new Document(); 
			PdfWriter.getInstance(document, new FileOutputStream("HelloWorld.pdf"));
			document.open();
			document.add(new Paragraph("Hello World"));
			document.close();
        }

}

http://itextdocs.lowagie.com/tutorial/general/index.php
を参考に(というか、そのまんまっす)、つくりました。
try catchがめんどーだったので、throwsしちゃったけど、エラーだすのなら、
とうぜん、try catchしてね(^^;)

■(4)Run→Runで実行すると、プロジェクトのあるフォルダに、
   HelloWorld.pdfができて、HelloWorldとかかれたPDFができる。





てなかんじ。




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