JavaやC#のアプリケーションで、PDFの入出力や電子署名などを実現するオープンソースライブラリ「iText by Apryse」[PR]

今回は「JavaやC#のアプリケーションで、PDFの入出力や電子署名などを実現するオープンソースライブラリ「iText by Apryse」[PR]」についてご紹介します。

関連ワード (文書、新技術、見積書等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


ここ数年でのリモートワークの普及は、多くの職場で紙の帳票を減らし、電子的な情報のやり取りを増やすことにつながりました。

例えば社内文書の配布が紙から電子メールやグループウェアなどによる配信に変わり、取引先に郵送していた見積書や請求書もPDF文書を電子メールで送付するようになり、印鑑の押印が求められていた契約書もPDFの電子署名になる、などの変化が起きています。

PDF文書が活用される場面が増えてくれば、当然ながら業務システムにおいてもPDF文書の出力機能が求められるようになるでしょう。

出力だけでなく、PDF文書の業務システムへの読み込み、電子署名の対応、複数のPDF文書の取り扱いなど、さらに柔軟な操作への要望が高まってくることも予想されます。

こうしたPDF文書の操作をJavaやC#で行おうとする場合、スクラッチからの開発は現実的ではありません。何らかのライブラリを用いることは必然です。

世の中にはいくつかのPDF関連ソフトウェアがありますが、開発者向けとして定番ソフトウェアの1つが、JavaとC#に対応したPDF文書操作のためのライブラリとしてApryse社が開発した「iText by Apryse」(以下、iText)です。

fig

iTextはオープンソースライセンスの「AGPL」と商用ライセンスのデュアルライセンスで提供されており、2003年にバージョン1が登場以来20年もの歴史を持っています。今年(2023年)5月には最新バージョンの「iText 8」が登場しました。

この20年の歴史と、オープンソースライセンスを守っている限り無料で利用可能であること、そしてPDF文書に対する高速かつ柔軟な処理を実現する豊富な機能を備えていることが、iTextを開発者向け定番ソフトウェアの1つとしている大きな理由と言えます。

シンプルなコードやテンプレートでPDF作成

iTextでのPDF作成には、主に4つの方法が選択できます。

1つ目はiTextのAPIを呼び出すことにより、最初からPDFを生成する方法です。下記はJava言語での最もシンプルなプログラム例で、簡潔なコードでPDFの生成が可能なことが示されています。

figApryse社のWebサイトから

2つ目は、デザイナーがAdobe Acrobatなどのツールを用いてAcroFormと呼ばれるフォームベースのPDFのテンプレートを作成し、そこに値を組み込む方法です。

fig

PDFのデザインをデザイナーに任せることができ、プログラマはロジックに集中することができるので、効率よく美しいPDFの作成ができると同時に、帳票のような同じ形式で大量のドキュメントを生成する用途にも向いています。

WebページをPDFに変換も可能

3つ目は、HTML/CSSで作られたWebページをPDFに変換する方法です。これはアドオンのpdfHTMLを利用します。Webベースのアプリケーションやドキュメントを活用している企業にとって、利便性の高い方法です。

fig

そして4つ目はデータベースと連携し、データをフォーマットしてPDFとして出力する方法です。これはiText DITOと呼ばれるツールを用います。何らかの規格に基づいた大量のPDF文書を生成する際などに適しているでしょう。

fig

iTextは、こうした用途に応じた柔軟なPDFの生成が可能です。

それに加えて、PDFをJPGやPNGなどの画像への変換、OfficeファイルからPDFファイルへの変換、可逆的圧縮による最適化、PDFの分割や統合、内部データの読み取り、挿入や更新、削除などを始めとするさまざまな機能が用意されています。

しかもiTextはモジュール構造になっているため、これらの機能のなかから必要なモジュールやアドオンを読み込んで利用することで、高速かつ効率的なアプリケーションの作成が可能です。

最新のPDF電子署名にも対応

最新のiText 8では、今年(2023年)にPDF AssociationがPDF 2.0で拡張した最新のPDF署名の暗号化技術にも対応しています。具体的にはRSASSA-PSS、SHA-3などの暗号化技術に対応しました。

さらに米国およびカナダの暗号製品の評価基準である連邦処理基準 (FIPS 140-2) に準拠するためのモジュールも追加されています。

fig

iTextの開発元であるApryse社は、これらの暗号化技術とその標準化に関するPDF AssociationとISO委員会の両方に関与しており、新技術の積極的な採用と普及促進を行っています。

これにより企業や公共機関でも安心してiTextによるPDFでの情報の電子化が実現できるわけです。

iTextはAGPLと商用のデュアルライセンス

前述の通り、iTextはAGPLと商用ライセンスのデュアルライセンスで提供しており、日本ではエクセルソフトが商用ライセンスの販売とサポートを行っています。

オープンソース版のダウンロードはiTextのWebサイト(英語版)から可能ですので、まずはオープンソースで使い勝手や機能を試してみるのはいかがでしょうか。

fig

iText : 日本公式販売店 – Web、モバイル、デスクトップ向けの Java および .NET アプリケーションやプロセスに PDF の機能を統合するためのソフトウェア開発者向けツールキット : エクセルソフト

(本記事はエクセルソフト提供のタイアップ記事です)

COMMENTS


Recommended

TITLE
CATEGORY
DATE
ナイジェリアが大統領の投稿削除を受けツイッターを無期限停止に
ネットサービス
2021-06-07 23:46
重要インフラ保護とサイバーレジリエンスの向上–不可欠な「指標」
IT関連
2024-09-10 15:39
「GNU」とフリーソフトウェア財団の40年を振り返る
IT関連
2023-10-04 01:42
三井住友銀行などのソースコードが流出 “年収診断”したさにGitHubに公開か【追記あり】
セキュリティ
2021-01-30 03:18
ピュア・ストレージ、第4世代「FlashArray」を発表–ランサムウェア回復サービスも提供
IT関連
2023-06-16 10:25
ランサムウェア攻撃を受けたColonial、500万ドルの身代金を支払ったとの報道
企業・業界動向
2021-05-15 16:57
富士フイルムBIとサーバーワークス、「富士フイルムクラウド」設立–顧客に最適なクラウド導入を支援
IT関連
2024-02-04 03:16
デスクトップPCのセキュリティ対策にはLinuxが最善の選択かもしれない
IT関連
2023-07-19 05:22
コロナ禍で押し進められたDXの中、AIに期待される今後の役割とは
人工知能・AI
2021-05-05 13:47
Uber Eats、卸の“プロ向け食材”を都内へ配達 缶詰や調味料など100種類
企業・業界動向
2021-01-20 09:25
ゲームで遊ぶと仕事力もアップ? FPSで「課題遂行能力」向上 レノボなど実験
社会とIT
2021-01-28 08:43
「ID」と「アイデンティティー」は違う? セキュリティ対策の視点から
IT関連
2023-08-03 08:04
24時間365⽇スマホで医師に相談できる医療相談アプリLEBERを手がけるリーバーが資金調達、累計調達金額10億円突破
IT関連
2022-02-11 13:53
Apple Podcastランキング1位「歴史を面白く学ぶコテンラジオ」を運営するCOTENが8400万円を調達
EdTech
2021-07-02 08:00