PDFの加工ニーズ こんなときどうする?
社内の文書管理ワークフローにおいて、PDFを中心とした運用となっていることは多いのではないでしょうか。PDFとして出力し、それを使用した後そのままアーカイブとして保存したりすることで、文書管理が簡単にできるものと思います。
ただ、PDFはOffice文書などと違い、作成した後はあまり加工することを想定していないことが多いのではないでしょうか。例えば、これまでに作られた社内の既存PDF全てに対し、何らかの加工をしたいという要件が出てきたとき、どうしたら手間や余計なコストをかけずに実現できるのでしょうか。 例えば、下記のような要望があったとします。
その1:PDFにウォーターマークを入れろ
既存の社内文書に「社外秘」といった透かし文字(ウォーターマーク)を入れることになった。既存の大量のPDFに対応しなければいけないが、どうやってやれば簡単にできるだろうか?
その2:作成者を書き換えろ
既存のPDFのメタデータ(プロパティ)の、作成者の欄に文書の作成担当者の個人名が入ってしまっているとのこと。作成者欄を一律に会社名に変更できないだろうか。
その3:パスワードを設定しろ
同一のパスワードでいいので、フォルダ内の全てのPDFにファイル開くためのパスワードを設定したいとのこと。これも自動、一括処理でできないだろうか。
こんなとき、これらの課題に対して、一体どうやったらできるのか意外と悩みそうです。 イーストでは、これらのような課題解決のため、Adobe PDF Libraryの持つ複数機能を搭載した、すぐに使えるサンプルツールをご用意しました。
PDFツールを活用しよう
今回ご紹介するツールは、「PDFLTools」というものになります。1つのプログラムですが、パラメタによる呼び出し方法を変えることで、複数の機能を切り替えて使うことができます。
上述のニーズを満たすには、それぞれ下記のようなコマンド呼び出しを行って実行します。
その1:ウォーターマーク設定
PDF各ページに、任意のテキストのウォーターマークが設定できます。別のコマンドで任意の画像をウォーターマークとして設定することもできます。
Usage: PDFLTools content addtextwatermark [options...]
Options:
-f, -file <String> 対象 PDF ファイル (Required)
-t, -text <String> ウォーターマークテキスト (Required)
-o, -output <String> 出力ファイル (Default: null)
-p, -paramsJson <String> ウォーターマークパラメータ JSON ファイルパス (Default: WatermarkTextParams.json)
その2:メタデータ設定
PDF文書のプロパティ表示で見ることのできる、タイトルや作成者などのPDFのメタデータを、指定したものに設定することができます。
Usage: PDFLTools metadata set [options...]
Options:
-f, -file <String> 対象 PDF ファイル (Required)
-m, -metadataJson <String> メタデータ JSON ファイル (Required)
その3:パスワード設定
PDFに対し、文書を開くためのユーザーパスワードを、任意のものを指定し設定することができます。
Usage: PDFLTools security adduserpassword [options...]
Options:
-f, -file <String> ユーザーパスワード対象 PDF ファイル (Required)
-p, -password <String> ユーザーパスワード (Required)
-o, -output <String> 出力ファイル (Default: null)
開発用ライブラリとして柔軟に
このようなニーズに合ったツールを使うことで簡単な呼び出し方法で要望が実現できることもあります。また、一見単純に見えるPDFの加工要件も、大量のPDFを繰り返し処理したり、あるいは社内ワークフローの一部として、サーバーに組み込んで加工させようとすると、性能や費用面を考えると、どうやって実現するのが一番よいか迷うものです。
今回ご紹介しました「PDFLTools」は、Adobe製のPDF処理を使った開発用ライブラリ、Adobe PDF Libraryのサンプルプログラムとしてご提供が可能です。そのままビルドしてバッチやスクリプト、フォルダ監視などのワークフローに組み込んでご利用いただけます。また、もちろん適宜コードを改変しシステムの一部として組み込んでいただくこともできます。
イーストでは、このPDFLToolsのカスタマイズをはじめ、本ライブラリを使った開発やその支援も行えますので、PDFを使ったソリューションについては、お気軽にご相談いただけましたら幸いです。