アプリ開発でのPDF表示、4通りの選択肢
アプリにPDF表示機能を盛り込む開発では、どんなやり方でPDFファイルをレンダリングするかを早い段階で決めないといけません。だいたいは、①Webブラウザを利用しよう、②画像に変換して表示しよう、③PDFのままレンダリングしよう、の3パターンを検討するのではないでしょうか。
選択肢①制限が多い Webブラウザ任せ
アプリ内にWebブラウザのウィンドウを開き、そこでPDFファイルを開くのは手っ取り早そうです。社内システムのようにOSとWebブラウザを決め打ちできるならいいかもしれません。しかしアプリを使うエンドユーザ環境(OS、ブラウザなど)が複数ある場合には、表示や機能がWebブラウザによって異なる点に注意が必要です。Android端末の中にはPDFの表示ができないWebブラウザが標準搭載の機種もあります。アプリから制御できる機能が少ないのも気になります。
選択肢②そこそこの自由度 画像変換して表示
アプリ内あるいはアプリ外(多くはサーバ側)でPDFファイルをPNGなどの画像ファイルに変換して表示するやり方です。OSがPDFを画像に変換する機能を持っていると変換も簡単です。たとえばWindows8以降は、Windowsランタイム(WinRT)がPDFを画像に変換するAPIを提供しています。
ただし、文字のコピー(文字コードでのコピー)、文字列の検索、拡大縮小の表示や見開きでの表示などが問題になります。これらの機能を盛り込むには、アプリ側で開発する労力を見込まないといけないでしょう。
選択肢③本格志向なら PDFのままレンダリング
PDFの1ページをただ表示できればよいという簡易的な用途なら、①②のやり方で割り切れるかもしれません。ただ、もっと親切に見せたい、もっと表示や検索などの機能が欲しい場合には、アプリ内でPDFをきちんと描画する方がいいでしょう。
たいへん? 非現実的? そんなことはありません。高機能なPDFビューア機能を提供しているPDF開発ライブラリー(SDK)が存在します。それを使えば少ない労力でPDFレンダリング機能を持つアプリを開発できます。
JPedalはJavaのPDFビューアを標準添付
英国IDR Solutions社の開発・販売するJPedal(ジェイペダル)は、Java PDF開発ライブラリー(SDK)です。PDF規格のほぼすべてを網羅する高機能なPDF作成・編集機能に加えて、高機能なPDFビューア機能を標準提供しています。Adobe Acrobat代替として使えるよう、表示(拡大縮小、見開き、回転など)、検索、目次(サムネール)、しおり、印刷などの機能をしっかりと盛り込んでいます。
■PDFビューアの画面
JPedalのPDFビューアのいろいろな表示機能は、こちらをご覧ください
アプリへの組み込みもかんたんです。Javaでの開発なら数行のコードを追加するだけです。
開発するアプリに、このPDFビューア機能を組み込んでエンドユーザへ提供できます。PDFビューアそのものを御社で改造することも可能です(ソースコード提供契約が必要)。
選択肢④ PDF→HTML/SVG変換してブラウザ表示
Javaアプリじゃない、エンドユーザ端末にJava実行環境がないこともあるでしょう。その場合はPDF→HTML/SVG変換してWebブラウザで表示するやり方もあります。
HTML5やSVGは、Webブラウザで正確に文字や図形を配置する仕様が充実しています。主要なWebブラウザはHTML5やSVGに対応しており、すでに多くの電子書籍や電子カタログのWebブラウザベースのビューアはこれらの技術を利用しています。
同じくIDR Solutions社が提供するBuildVu(ビルドビュー)は、PDFをHTML5やSVGに変換するツールです。複雑なレイアウトの雑誌、ズレては困る建築図面などの変換に広く活用されています。
BuildVuで変換済みのHTML/SVGは主要なWebブラウザで閲覧できますが、より便利に見るためにはビューアが必要です。BuildVuには、JavaScriptベースのHTML5/SVGビューア、しかもAdobe Acrobat相当の高機能ビューアが標準添付です。
BuildVuの詳細はこちらをご覧ください
取り扱い製品について
PDF規格は複雑なうえに、過去からの積み重ねで非常にわかりにくくなっています。PDF連携ソフトウェアの開発では、英国IDRsolutions 社のPDF関連製品(変換ツール、ライブラリ、ソフトウェア部品など)を、ぜひご検討ください。
IDRsolutions はPDF関連ツールを20年以上に渡って開発・提供し続けています。PDF分野の老舗企業として、世界中の企業や公的機関にご活用いただいています。
日本では株式会社インターワークがIDRsolutions社の日本総代理店として取り扱っていますので、お気軽にご相談ください。
VIEWING PRODUCTS
PDFをHTML5やSVGに変換
PDFのフォームをHTML5に変換
SDK PRODUCTS
PDFファイルの表示、変換、抽出
多くの画像ファイル形式を読み書き、変換、操作、処理