CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

ソフト開発

PDFファイルを扱うプログラミング用ライブラリ一覧

投稿日:

以下の記事がよく読まれているみたいなので、もっと幅広く「PDFファイルを扱うプログラミング用ライブラリ一覧」という本記事を書いてみる気になった。
iTextSharpのバージョンとライセンスが難しい

まずは、本命としてのiTextSharp(またはiText)。
4系の最終バージョンは4.1.6で、すでに開発が終了している。商用利用であっても自由に使えるというのがポイント。厳格なGPLから派生したLGPL(Lesser General Public License)で、ゆるいライセンスになっている。動的リンクであれば、本体プログラムのソースコードを公開しなくてもよい。しかし、開発が2011年12月にストップしているのでバグがあっても直らないし、法的な理由(他の人の著作権または知的所有権を侵害している可能性)があって、使うのを避ける場合がある。なお、Lesserとは少ない、小さいという意味で、レッサーパンダのレッサーと同じ意味。

5系の最終バージョンは5.5.13.1で、2017年に開発終了。AGPL(Affero General Public License)と商用ライセンスのデュアルライセンスモデルに移行。AGPLはGPLよりも厳しいライセンスで、ようするに本体プログラムのソースコードを公開しなければいけないというもの。なもんだから、ソフトウェアメーカーとしては商用ライセンスを使うという選択肢しかない。7系が出たことによって、5系は開発終了しているため、新たに使うための選択肢には入らない。

7系はiText.NETに改名。バージョンは7.1.16(2021/7/11現在)で開発継続中。ライセンスは5系と同じ。商用ライセンスとしてはiText Core ライセンス。ネットに落ちていた情報では、サーバー1台につき3,360米ドル(税抜)とのこと。永続ライセンスと1年間のサポート料金が含まれている。約37万円だから、けっこうな値段になる。国内販売の総代理店が・SiB(エスアイビー)で、SiBの販売パートナーがXLSOFT(エクセルソフト)。他にUNIPOS(ユニポス)、HULINKS(ヒューリンクス)でも扱っているみたい。永続ライセンスが今もあるかはわからない。おそらく、サブスクリプション形式の期間売りに変わっているのではないか。

本命と言うには敷居が高いAdboe PDFライブラリ。APDFLとも呼ばれている。商用ライセンスのみ。
PDFの元祖と言ってもいいAdobe社のライブラリ。PDFがISO規格化したことによって、PDFはAdobe社だけのものではなくなっている。イースト社が販売代理店で、Webサイトには以下の価格情報が載っている。
■初年度 1,430,000円(税込)~ ※年間保守サポート費含む
■次年度以降715,000円(税込)~ ※年間保守サポート費のみ
最初に150万円近く払わなければならないのは強烈で、翌年以降でも70万円程度が必要。本家の技術力を使うなら、これだけ払わなければいけないということで、選択するところはお金持ちユーザーを相手にしている大手ソフトウェアベンダーだけだろう。さらに言っておくと、OEMライセンス契約した場合は、販売金額および保守金額に対して何%かのロイヤリティを払う。

アンテナハウスのPDF Tool APIは価格が手ごろかも。サーバーライセンスのサーバー版ライブラリが28万円(税抜)。エンドユーザーが買う場合の価格で、ソフトウェアベンダーが買ってエンドユーザーに売る(OEMライセンス)の場合は、もっと高くなりそう。純日本企業だから、日本語によるサポートがしっかりしているんじゃないか。

ActivePDFは、エクセルソフトが販売しているPDFライブラリ。PDFTron社がActivePDF社を買収したようで、それは本製品にとって有利なことのように書かれている。Toolkitの製品ライセンスが約30万円(税込)で、メンテナンスス費用で10万円、開発ライセンスで8万円ほどかかる。まぁ、リーズナブルなほうだと思うけど、あんまり知名度がないんじゃないか。

IronPDFも安めの製品。ComponetSource社によって販売されている。.NET Coreで開発できるというのは今の流行り。.NET Frameworkはオワコンで、.NET Coreが今後主戦場になるらしいが詳細はよくわからん。価格体系がよくわからん。1年サポート付きの1サーバーライセンスで税込み32万円ってとこかな。

libHaruにも触れておこう。Haru Free PDF Libraryとも呼ばれており、2005年度下期の未踏ソフトウェア創造事業によって予算をもらって作ったもの。C++で書かれたものを、より汎用的にするためにC言語で書き直した。これによってより汎用的な開発言語から利用できるようになって、さらに処理が高速化されたと。。無料で使えて、商用利用も可能ということだが、最近の更新情報が見つからない。
C#でlibHaruを使ってPDFを出力してみよう。その1「libpngとzlibビルド編」
上記は2017年の記事で、手順通りに行えば使えそう。libpngとzlibをビルドするってことからC言語のコンパイル知識(というかエラー類を除去する根気)が必要で、素人は手を出してはいけなさそう。libHaru自体のリリース情報が結構古いものなので、実質的には開発が止まっているのだろう。よって、選択肢には入らない。

まとめ。目的と予算によっていろんな選択肢があるのが、PDFライブラリの世界であることがよくわかった。これまでは、iTextSharp 4でいいんじゃねって思っていたが、開発停止および法的リスクがあるということが気になりだした。まずはiText7をAGPLとして使ってみて、どこまでできるかを実装面で確認する。Adobe PDFライブラリは高価すぎるので、手出ししないほうが無難。その他製品の中ではアンテナハウスがおもしろそう。価格も手ごろだし、日本製ってところも重要な評価ポイント。評価用キットがあれば試してみようかね。終わり。

-ソフト開発

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

CEditでドラッグ&ドロップ

プログラミングから離れてしばらく経ってしまった。 プロジェクト管理をやっていると、プログラミングをやることができなくなる。 対人間の仕事の合間にプログラムをやることは、おいらには無理だった。 プログラ …

若いもんにC++を教えてやって、これまでやってきたことが少しでも伝わってくれればと願う夜

ファイルをセレクトするというC++で作ったActiveXのDLLのデバッグができないかと彼がおいらのところに来た時点で、そいつはなかなかチカラがあるなと感じた。

no image

テキストファイルの最大行数

【2018/12/24追記】以下の記事も参考になるかな。 扱えるテキストファイルの最大行数は1億行 バカでかいテキストファイルを作る必要があって、結果約2GBにもなった。 CADから出力するんだけど、 …

Vectorに作者登録の申し込みをしてみた

Vectorとはフリーウェア、シェアウェアのダウンロードサイト。最近はあまり使わなくなった。もちろんフリーソフトはよく使っているんだけど、マイナーなものはあまり使わなくなってきていて、メジャーどころは …

no image

zlibの研究結果

zip圧縮・解凍のフリーソフトであるzlibについていろいろと調べた結果。最新版の1.2.11を使ってzlibwapi.dllを作ることはできたが、それを実際に使ってみるとまともに動かなかった。圧縮は …