サーチ…


備考

PDF作成を見ると、次の2つのアプローチがあります。

  • グラフィカルデザイナーは、Adobe AcrobatやAdobe InDesignなどのデスクトップアプリケーションを使用して、手動または半期的なプロセスでドキュメントを作成します。
  • 別の文脈では、PDF文書は、最小の人間の介入なしに、ソフトウェアアプリケーションから直接PDFを生成するためにAPIを使用してプログラム的に作成されます。時々、文書は中間形式(例えば、XML、HTMLなど)で作成され、PDFに変換されます。

これらの異なるアプローチは、異なるソフトウェア製品を必要とする。

PDF操作の場合も同じです。

  • Adobe AcrobatなどのツールでPDFを手動で更新することはできますが、
  • また、データベースの情報に基づいて自動的に書式を記入できるツールもあります。

iTextは、物事の自動化側に焦点を当てたツールです。

iTextとは何ですか?

iTextは開発者が以下のことを行うことを可能にするために開発されたSDKです。

  • XMLファイルまたはデータベースからのデータに基づいて文書およびレポートを生成する
  • PDFで利用可能な数多くのインタラクティブ機能を活用して、地図や書籍を作成する
  • 既存のPDFドキュメントにブックマーク、ページ番号、透かしなどの機能を追加する
  • 既存のPDFファイルからページを分割または連結する
  • インタラクティブフォームを記入する
  • PDF文書にデジタル署名する
  • 動的に生成または操作されたPDFドキュメントをWebブラウザに表示する

iTextはエンドユーザツールではありません。 iTextを独自のアプリケーションに構築して、PDFの作成と操作のプロセスを自動化できるようにする必要があります。

いつiTextを使用するのですか?

通常、iTextは次のいずれかの要件を持つプロジェクトで使用されます。

  • コンテンツは、事前に利用可能ではありません。ユーザの入力やリアルタイムのデータベース情報に基づいて計算されます。
  • 膨大な量のコンテンツ(多数のページやドキュメント)のため、手動でPDFファイルを作成することはできません。
  • ドキュメントはバッチプロセスで無人モードで作成する必要があります。
  • コンテンツはカスタマイズまたはパーソナライズする必要があります。例えば、エンドユーザの名前は多数のページに刻印されなければならない。

コンテンツをブラウザに動的に配信する必要のあるWebアプリケーションでは、これらの要件に遭遇することがよくあります。通常、この情報はHTMLの形で提供されますが、一部のドキュメントでは、印刷品質の向上、さまざまなプラットフォームでの同一プレゼンテーション、セキュリティ上の理由、特定の業界標準への準拠PADES、PDF / A、PDF / UAなど)を使用したり、ファイルサイズを小さくすることができます。

バージョン

バージョン最初のリリース最新のリリース人生の終わり
0.30〜0.99 2000-02-14 2003-05-01 2005-12-31
1.00~1.4.8 2003-06-25 2006-12-19 2009-12-31
2.00~2.1.7 2003-02-15 2009年7月7日 2012-12-31
5.0.0 - 5.5.11 2009-12-07 2017-03-20 2018-12-31
7.0.0 - ... 2016-05-03 ... 2025-12-31

インストールまたはセットアップ

iText for Java

iText 7をインストールするには、Central Maven RepositoryからiText jarsをインポートするのが最善の方法です。これらのシンプルなビデオは、さまざまなIDEを使用してこれを行う方法を説明しています。

これらのチュートリアルでは、 kernellayoutプロジェクトを依存関係として定義しkernelkernelパッケージはioパッケージに依存するため、Mavenは自動的にio jarをインポートします。

iText 7の標準的な使用のための依存関係の基本的なリストです:

<dependencies>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>kernel</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>io</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>layout</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>forms</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>pdfa</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>pdftest</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.18</version>
    </dependency>
</dependencies>

すべての依存関係はJavaのjarとC#のDLLと対応しています。

  • kernelio :低レベルの機能が含まれています。
  • layout :高水準の機能を含みます。
  • forms :すべてのAcroFormの例に必要です。
  • pdfa :PDF / A固有の機能に必要です。
  • pdftest :テストでもあるサンプルに必要です。

iText 7をより具体的に使用するには、追加のjarファイルが必要になることがあります。

  • barcodes :バーコードを作成する場合に使用します。
  • hyph :テキストをハイフネーションする場合に使用します。
  • font-asian :CJKの機能が必要です(中国語/日本語/韓国語)
  • sign :デジタル署名のサポートが必要な場合は、これを使用します。

上記のすべてのジャーは、AGPLライセンスの下で利用できます。これらのjarファイルはGithubでホストされているZIPファイルでダウンロードすることもできます: https : //github.com/itext/itext7/releases

これらのjarを使用する場合は、他のjarを追加するのと同じように、それらのjarをCLASSPATHに追加する必要があります。

追加のiText 7機能は、商用ライセンスの下でjarとして提供されるアドオンを通じて利用できます。これらのアドオンを使用する場合、または独自のコードでiText 7を使用する場合は、iText 7の商用ライセンスキーを取得する必要があります( iText Webサイトの法的セクションを参照)。

このようなライセンスキーは、ライセンスキーモジュールを使用してインポートできます。あなたは次のようにライセンスキーのjarファイルを入手できます:

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itext-licensekey</artifactId>
    <version>2.0.0</version>
    <scope>compile</scope>
</dependency>

iTextの一部の機能はクローズドソースです。たとえば、 PdfCalligraphを使用する場合は、 typographyモジュールが必要です。このモジュールは公式のライセンスキーなしでは動作しません。

C#のiText

AGPLで利用可能なすべてのDLLを含むZIPファイルをダウンロードできます。これらのDLLの詳細については、Javaのマニュアルを参照してください。

こんにちは世界

これはiText 7 / Javaを使用してPDFを作成する非常に簡単なプログラムです:

//Initialize writer
PdfWriter writer = new PdfWriter(dest);

//Initialize document
PdfDocument pdfDoc = new PdfDocument(writer);
Document doc = new Document(pdfDoc);

//Add paragraph to the document
doc.add(new Paragraph("Hello World!"));

//Close document
doc.close();

List_01_01_HelloWorld.java

そのページから他の多くの例に移動することができます。


これはiText 5.5.x / Javaの先駆者を使用してPDFを作成する非常に簡単なプログラムです:

// step 1
Document document = new Document();
// step 2
PdfWriter.getInstance(document, new FileOutputStream(filename));
// step 3
document.open();
// step 4
document.add(new Paragraph("Hello World!"));
// step 5
document.close();

HelloWorld.java

このページからも多くの例を参照することができます。


これらの2つの例はかなりよく似ています。しかし、再設計されたiText 7 APIの利点は、それほど簡単ではない例を見てみるとすぐに明らかになります。したがって、上のリンクからサンプルソースコードをナビゲートして比較するだけです。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow