Home • ChemFormatter • iText.NET • JFreeChart.NET • ConcatPDF • iTextFront • TIFF2PPT • J by J# • Programming J#
MSN Search

iText.NET

iText .NET
@SourceForge
ライセンス
更新履歴
ダウンロード
使い方
J# Examples
C# Examples
VB.NET Examples
コンパイル
ConcatPDF
iText (Java)
J by J#

SourceForge.net Logo

 

チュートリアル: iText.NET

文書内移動と文書中の行き先
時々、Readerが文書中のある位置(LocalGoto)から別の位置へジャンプする(LocalDestination)リンクが必要になることがある。これは、Chunkクラスの setLocalGoto setLocalDestination の二つのメソッドで達成できます。 どちらのメソッドも、行き先を表すユニークな名前をパラメータとしてとります。
new Chunk("localgoto").setLocalGoto("test");
new Chunk("localdestination").setLocalDestination("test");
最初の行は、HTMLでは、<A HREF="#test">localgoto<A> となり、二行目は、<A NAME="test">localdestination<A> となります。しかし、HtmlWriter によってHTMLを作成するときは、Anchor オブジェクト を使うことになります。
例: java com.lowagie.examples.objects.anchors.LocalGoto
Creates a document with a local goto and a local destination: see LocalGoto.pdf
LocalGoto Chunk は、LocalDestination へ移動する唯一の手段ではない。この章としおりの章で示しますが、しおりもアクションにおいて文書内の行き先を指定するために使えます。
例: java com.lowagie.examples.objects.anchors.LocalDestination
開いたときに文書中の行き先へジャンプする文書の作成: LocalDestination.pdf
先頭に戻る
文書間移動
ある文書で文書中の行き先を指定すると、この行き先へほかの文書からジャンプするようにすることができます。これは、setRemoteGoto(String filename, String name) メソッドで実現できます。文書中の行き先は、必ずしも必要というわけではなく、setRemoteGoto(String filename, int page) によってページを指定して移動することもできます。
new Chunk("go to a destination in document B")
	.setRemoteGoto("DocumentB.pdf", "test");
new Chunk("go to page 3 in document B")
	.setRemoteGoto("DocumentB.pdf", 3);
例: java com.lowagie.examples.objects.anchors.RemoteGoto
お互いにリンクしあう二つの文書と外部URLへのリンク: DocumentA.pdf DocumentB.pdf
先頭に戻る
Anchorオブジェクト
<A HREF="http://www.lowagie.com/iText/">Bruno's site<A> のような外部リンクや <A NAME="top">top of the page<A> のような内部リンクを作成するにはいくつかの方法がある。そのうちのひとつに Anchor オブジェクト を使う方法がある。これは、非常に単純であり、PDFだけでなく、HTMLやRTFでも動作します。
次に、外部リンクを作成するコードを示します。
Anchor anchor = new Anchor("website");
anchor.setReference("http://www.lowagie.com/iText/");
anchor.setName("website");
内部リンクは次のようにします。
Anchor anchor1 = new Anchor("This is an internal link");
anchor1.setName("link1");
Anchor anchor2 = new Anchor("Go to the internal link");
anchor.setReference("#link1");
例: java com.lowagie.examples.objects.anchors.AHref
Using the Anchor object: see AHref.pdf AHref.html
先頭に戻る
アクション
PDF 文書にはインタラクティブ性があり、他のページや場所へ移動する、ほかのアプリケーションを起動する、JavaScript 関数を呼び出すなど 'アクション' を含めることができます。これから、iText でサポートされているいくつかのアクションを説明します。他のアクションは、javadocs (class PdfAction) を見てください。註: 多くのアクションは、コンストラクタおよびそのコンストラクタを呼び出すスタティックメソッドのどちらを使っても作成することができます。
名前付きアクション
iTextには五つの名前付きアクションがあります。
  • PdfAction.FIRSTPAGE: 最初のページに移動
  • PdfAction.PREVPAGE: 前のページに移動
  • PdfAction.NEXTPAGE: 次のページに移動
  • PdfAction.LASTPAGE: 最後のページに移動
  • PdfAction.PRINTDIALOG: 印刷ダイアログを開く
名前付きアクションを使うのは非常に簡単です。
new Chunk("First Page")
	.setAction(new PdfAction(PdfAction.FIRSTPAGE));
例: java com.lowagie.examples.objects.anchors.NamedActions
名前付きアクションを持った文書の作成: NamedActions.pdf
JavaScript
Acrobat JavaScriptは、もともとNetscape Communicationsで開発されたプログラミング言語JavaScriptあるいはECMAScriptをベースにしています。Acrobat JavaScript は、いくつかの新しいオブジェクト、メソッド、プロパティをJavaScriptに加えています。このAcrobat固有のオブジェクトは、添付ファイル、文書のセキュリティ、フォームなどを可能にしています。
Acrobat JavaScript は、HTMLページ中のオブジェクトにアクセスできず、HTML JavaScriptは、PDFへはアクセスできません。例えば、Acrobat JavaScriptは、Window オブジェクトにアクセスできません (例えば、Acrobatプラグインが埋め込まれているブラウザのウインドウ)
これを使うときには、Acrobat JavaScript Scripting Reference (Adobe Inc.) や the Client-Side JavaScript Reference (Netscape Communications Corporation) を読む必要があるだろう。これらの文書やそのほかのJavaScriptの解説は、AdobeのWebページ http://partners.adobe.com/NSjscript/ あるいは http://partners.adobe.com/public/developer/acrobat/sdk/index_doc.html でみることができます。
new Chunk("Click to say Hello")
	.setAction(
		PdfAction.javaScript("app.alert('Hello');\r", writer));
The code above, adds an alert action to a Chunk. If you click the text in the Chunk, an alert is triggered with the message 'Hello'.
例: java com.lowagie.examples.objects.anchors.JavaScriptAction
JavaScript アクションを持った文書の作成: JavaScriptAction.pdf
Goto アクション
ほかの文書や URL へ移動したい場合は、前の節で説明した以外にも方法に、PdfActionを次のコンストラクタで作成するという方法があります。 PdfAction.gotoLocalPage(int page, PdfDestination dest, PdfWriter writer)PdfAction.gotoLocalPage(String dest, boolean isName)PdfAction.gotoRemotePage(String filename, String dest, boolean isName, boolean newWindow) という、Gotoアクションを作成するスタティックメソッドを使う方法もあります。
PdfAction.gotoRemotePage("remote.pdf", "test", false, true) は、remote.pdf中の"test"へ、別ウインドウを作成し開きます。
Open Action New Window
例: java com.lowagie.examples.objects.anchors.Actions
いくつかの Goto アクションを含んだ文書の作成: Actions.pdf remote.pdf
Open アクション
私たちは、これまでにWe've already used an 'Open アクション'をこれまで二回使いました。前の例では setOpenAction(PdfAction action) メソッドを使い、もっと前の例では setOpenAction(String name) を使いました。
例: java com.lowagie.examples.objects.anchors.LocalDestination
開いたときに文書中の行き先へジャンプする文書の作成: LocalDestination.pdf
連鎖アクション
ひとつのトリガー で二つ以上のアクションを順次実行させたい場合は、next(PdfAction action) を使って連鎖させることができます。
PdfAction action = PdfAction.javaScript("app.alert('Welcome');\r", writer);
action.next(new PdfAction("http://www.lowagie.com/iText/"));
例: java com.lowagie.examples.objects.anchors.ChainedActions
連鎖アクションを含む文書の作成: ChainedActions.pdf
アプリケーションを起動する
PDF から起動ボタンを使ってアプリケーションを開くようなこともできます。注意: これは、プラットフォーム依存であり、安全な使い方ではありません。パラメータについては、Javadocs の PdfAction(String application, String parameters, String operation, String defaultDir) メソッドを読んでください。下の例では、NOTEPAD を起動します。(Windowsのみ。WINROOT が C://windows/ でない場合は、パラメータを変更する必要がある。)
new Chunk("Click to open NOTEPAD")
	.setAction(new PdfAction("C://WINDOWS/notepad.exe", null, null, null));
このアクションを作成するスタティックメソッドは、PdfAction.createLaunch(String application, String parameters, String operation, String defaultDir) です。
例: java com.lowagie.examples.objects.anchors.OpenApplication C://windows/
外部アプリケーションを開くリンクを含んだ文書の作成: OpenApplication.pdf
先頭に戻る
注釈
注釈も、文書内あるいは文書外へジャンプする方法のひとつです。Annotation クラスでできることをご覧ください。
  • テキスト: 小文を本文とは別に文書に加えることができます。注釈には、タイトルと内容が含まれています。
    Annotation a = new Annotation(
    	"authors",
    	"Maybe it's because I wanted to be an author myself that I wrote iText.",
    	100f, 700f, 200f, 800f);
  • 外部リンク: クリック可能な領域と (URL を表す) 文字列あるいは URL オブジェクトを指定できます。
    Annotation annot = new Annotation(
    	100f, 700f, 200f, 800f,
    	new URL("http://www.lowagie.com/iText/"));
    Annotation annot = new Annotation(
    	100f, 700f, 200f, 800f,
    	"http://www.lowagie.com/iText");
  • 外部 PDF ファイル: クリック可能な領域と文字列( ファイル名) と行き先あるいはページ番号を指定できます。
    Annotation annot = new Annotation(
    	100f, 700f, 200f, 800f,	"other.pdf", "mark");
    Annotation annot = new Annotation(
    	100f, 700f, 200f, 800f,	"other.pdf", 2);
  • 名前付きアクション: クリック可能な領域と名前付きアクションを指定できます。
    Annotation annot = new Annotation(
    	100f, 700f, 200f, 800f, PdfAction.FIRSTPAGE);
  • アプリケーション: クリック可能な領域とアプリケーションを指定できます。
    Annotation annot = new Annotation(
    	300f, 700f, 400f, 800f,
    	"C://windows/notepad.exe", null, null, null);
  • メディアクリップ: クリック可能な領域、動画ファイルとその MIMETYPE を指定できます。そのページで動画を見せたいのならば、それを指定する必要があります。(PDF 1.5 以降)
    new Annotation(200f, 700f, 300f, 800f, "cards.mpg", "video/mpeg", true);
例: java com.lowagie.examples.objects.anchors.SimpleAnnotations
二つの異なるタイプの注釈を含んだ文書の作成: SimpleAnnotations1.pdf SimpleAnnotations2.pdf
外部リソース: cards.mpg iText.gif
Annotation コンストラクタ を使う方法として、PdfAnnotation クラス のコンストラクタが使えます。このコンストラクタへアクションを渡すために、Annotation クラスにたくさんのオプションを指定できます。PdfAnnotation は、指定した注釈を作成するための数多くのスタティックメソッドがあります。下の例では、いくつかの複雑な機能をコンストラクタとスタティックメソッドを使って示していますが、そのうちのいくつかは、PDF version 1.5 以降でしか動作しません。
例: java com.lowagie.examples.objects.anchors.Annotations
いくつかの PdfAnnotation を含んだ文書の作成: Annotations.pdf
外部リソース: cards.mpg
先頭に戻る

Copyright (C) 2001-2007 Kazuya Ujihara. All rights reserved.