« 2008年05月31日 | メイン | 2008年06月02日 »
2008年06月01日
PDFページの一部領域をコピーして別のPDFを作りたい
PDFを紙のように切り貼りできたら、とても便利だと思います。
先日、弊社の製品で、そのようなことのできるものがないかと、ご質問を受けました。弊社の製品には、そのような機能を実現している製品はありません。
作るとしますと、(1)PDF Viewer SDKを使ってPDFを表示し、(2)表示中の画面中の領域をマウスなどで指定し、(3)指定範囲を選択してイメージ(BMP)画像としてクリップボードなどに取り出し、(4)イメージ画像をPDF化する、という機能であれば、比較的簡単に実装できるでしょう。
しかし、これでは指定した領域から作成したPDFはイメージ画像になってしまい、拡大・縮小すると鮮明でなくなることがあります。
○指定した領域をベクトルで取り出すことはできないでしょうか?
残念ながら、これは不可能ではないにしてもかなり難しいようです。
Acrobatでは類似の機能に、トリミングツールがあります。しかし、このトリミング・ツールは、指定領域外を非表示にしているだけで、指定領域の範囲内で新しいPDFを作っているわけではないと説明されています。
少し、実験してみました。
1.AcrobatでPDFを開き、トリミング・ツールを選択して領域を指定します。
3.確認して「OK」ボタンを押しますと、指定した領域だけが表示されます。
この段階では、あくまで、指定領域外のデータを見えなくしているだけで、データが無くなっている訳ではありません。ファイルサイズを確認しても特に小さくなる訳ではありません。
3の表示状態で、2.のダイヤログを表示して、「余白を制御」の「ゼロに設定」のボタンを押しますと、1.の表示に戻ってしまいます。このように、トリミング機能は元に戻りますので、指定領域だけのPDFを作っている訳ではないようです。
但し、Acrobat Professionalの文書の検査機能を使いますと、非表示のオブジェクトの削除ができます。
4.トリミングして保存したPDFで文書の検査機能を使用
5.「チェックした項目をすべて削除」ボタンを押します。次のような確認ダイヤログがでますので、OKとします。
6.5で非表示のオブジェクトを全て削除した状態のPDFを保存します。そして、「ゼロに設定」しますと、次のように文字列が削除されていることが分かります。
非表示のオブジェクトの削除機能の用途は、例えば、文書を相手に渡すときに、余計な情報がないかどうかをチェックして、余分な情報を削除するためのもの。指定の領域だけで、新しいPDFを作るという目的に使うものではないように思います。
また、PDFを自由自在に切り貼りできるようになってしまうと、著作権侵害の問題が起こるかもしれません。やはりPDFはあまり簡単に再利用できない方が安心?
投票をお願いいたします