本記事では、Webアプリケーションに「DioDocs(ディオドック)」のPDFビューワを追加してPDFファイルを表示・編集する方法を紹介します。
PDFビューワについて
DioDocsのPDFビューワは、ブラウザでPDFドキュメントを表示・編集することができるJavaScriptライブラリです。PDFドキュメントを表示することは、クライアントサイドのJavaScriptライブラリのみで可能です。
しかし、PDFドキュメントに注釈やフォームを追加して保存するといった編集機能を使用したい場合には、「サポートAPI」と呼ばれる編集機能を追加する必要があります。従来のバージョンでは、このサポートAPIをサーバーサイドで動作するASP.NET Core Web APIとして実装する必要がありました。
最新バージョンの「V7J SP2」では、WebAssemblyで実装したサポートAPIを提供しています。WebAssemblyのサポートAPIを使用することでサーバーサイドとの接続が不要になり、ブラウザで直接 PDFドキュメントに注釈やフォームを追加して保存できるようになります。
また、WebAssemblyのサポートAPIを使用することには以下のようなメリットがあります。
- 配布が容易:サーバーサイドにサポートAPIを実装する必要がなく、クライアントサイドのWebアプリケーションを配布するだけで済みます
- パフォーマンス:WebAssemblyでサポートAPIを提供するのでインターネット回線の速度やサーバーのパフォーマンスの影響を受けません
- セキュリティ:PDFドキュメントはクライアントサイドのブラウザー内で編集されるので、サーバーと機密データを交換する必要がありません
- シンプルなJavaScript/HTMLによる開発:実装においてVisual Studioや .NETは必要ありません
- 互換性:WebAssembly はすべての主要なブラウザでサポートされているため、互換性の問題が発生することなく、さまざまなプラットフォームやデバイス間でシームレスに動作します
主な機能
PDFビューワは、WebAssemblyのサポートAPIを使用することでこれまでサーバーサイドのサポートAPIが必要だった以下のPDFドキュメント編集機能をクライアントサイドで提供します。
- フォームの入力と編集
- 注釈の編集
- セカンダリツールバーを使用したクイック編集
- PDFオーガナイザー(PDFページの作成、結合、並べ替え、削除)
- オプションコンテンツ(レイヤー)の編集
なお、以下の機能についてはまだ対応していませんが、今後のリリースで追加される予定です。
- 墨消し注釈の追加と適用
- 注釈のコンテンツへの変換
- 電子署名
- 画像形式での出力
- リニアライズ
- 共有および共同編集
実装方法
Webアプリケーションの作成
まず、Visual Studio Codeを起動してターミナルでプロジェクトのフォルダquickstart-wasmを作成してquickstart-wasmフォルダに移動します。
mkdir quickstart-wasm
cd quickstart-wasm
npm install
コマンドを使用してPDFビューワのパッケージをインストールします。
npm install @mescius/dspdfviewer
quickstart-wasmフォルダにindex.htmlを作成して、index.htmlのbody
要素に、PDFビューワを表示するためのdiv
要素を追加します。
<!DOCTYPE html>
<html>
<head>
<title>DioDocs for PDFクイックスタート | PDFビューワー(WebAssembly)サンプル</title>
</head>
<body>
<div id="pdfviewer"></div>
</body>
</html>
さらにscript
要素を追加してPDFビューワを設定します。
<!DOCTYPE html>
<html>
<head>
<title>DioDocs for PDFクイックスタート | PDFビューワー(WebAssembly)サンプル</title>
</head>
<body>
<div id="pdfviewer"></div>
</body>
<script src="/node_modules/@mescius/dspdfviewer/dspdfviewer.js"></script>
<script async type="text/javascript" src="/node_modules/@mescius/dspdfviewer/DsPdf.js"></script>
<script src="/node_modules/@mescius/dspdfviewer/wasmSupportApiServer.js"></script>
<script>
//DsPdfViewer.LicenseKey = '***key***';
var viewer = new DsPdfViewer("#pdfviewer", {
supportApi: {
implementation: new WasmSupportApi()
}
});
viewer.addDefaultPanels();
viewer.addAnnotationEditorPanel();
viewer.addFormEditorPanel();
</script>
</html>
ローカルで動作確認するための開発用のサーバーとして、Visual Studio Codeの拡張機能「Live Server」をインストールします。その後、index.htmlを右クリックして、[Open with Live Server]を実行します。
実行後、ブラウザにPDFビューワが表示されます。
PDFファイルを表示、注釈を追加する
PDFビューワの上部にあるツールバーから「ドキュメントを開く」をクリックしてPDFファイルを表示します。
ツールバーから「テキストツール」を選択してさらにセカンドツールバーから「フリーテキスト注釈を追加」をクリックして、PDFドキュメントに注釈を追加します。
PDFファイルとして保存する
ツールバーから「PDF形式で保存」をクリックして注釈を追加したPDFドキュメントをPDFファイルとして保存します。
保存されたPDFファイルに注釈が追加されていることが確認できます。
以上で、PDFビューワはWebAssemblyでサポートAPIを実装することにより、サーバーサイドに接続がない状態でもPDFドキュメントの編集機能を提供できていることが確認できました。
さいごに
弊社Webサイトでは、製品の機能を気軽に試せるデモアプリケーションやトライアル版も公開していますので、こちらもご確認いただければと思います。
また、ご導入前の製品に関するご相談やご導入後の各種サービスに関するご質問など、お気軽にお問合せください。