←前へ 目次↑ 次へ→

4.10. PDFの機能

4.10.1. PDFのバージョンと機能

出力するPDFのバージョンは output.pdf.version で設定することが出来ます。 デフォルトではバージョン1.5のPDFが出力されます。 PDF 1.5以降であれば、Copper PDFの全ての機能を利用することが出来ます。

PDF 1.4以前では、使用出来る機能に制限があります。 詳細は資料集のoutput.pdf.version の説明を参照してください。

4.10.2. 暗号化

Copper PDFは暗号化したPDFを出力することが出来ます。 パスワードを設定して暗号化したPDFは、パスワードがなければ閲覧不可能になります。 また、内容のコピーなどPDFの利用制限を設定するためにも暗号化が必要で、 広く配布するPDFのためにパスワードを設定せず、暗号化だけしたPDFを出力することが出来ます。

暗号化は、 output.pdf.encryption の設定で有効となります。 暗号化方式はv1とv2の2種類がありますが、通常はPDF 1.3以降でサポートされているv2暗号化を使用してください。

暗号強度(暗号化キーのビット数)は output.pdf.encryption.length で設定出来ます。デフォルトでは最も強い暗号化(v1では40, v2では128)がされるため、通常は設定の必要はありません。

閲覧のためのパスワードは output.pdf.encryption.user-password で設定することが出来ます。 このプロパティを設定しなかった場合は、暗号化だけされて誰でも開くことが出来るPDFが生成されます。 さらに output.pdf.encryption.owner-password でAdobe Acrobat等で文書の編集をするためのパスワードを設定することが出来ます。

PDFを暗号化する場合は、パーミッションを設定することが出来ます。 パーミッションはoutput.pdf.encryption.permissionsで開始する、 次の8種類の入出力プロパティで設定することが出来ます。 true(有効)またはfalse(無効)で設定してください。 デフォルトでは全て有効です。

output.pdf.encryption.permissions.print
印刷
output.pdf.encryption.permissions.modify
内容の変更
output.pdf.encryption.permissions.copy
テキストや画像のコピー
output.pdf.encryption.permissions.add
注釈の追加、変更とPDFフォームへの入力

次の4つはv2暗号化でのみ有効です。

output.pdf.encryption.permissions.fill
PDFフォームへの入力
output.pdf.encryption.permissions.extract
障害を持つユーザーのための文書中のテキストや画像の抽出
output.pdf.encryption.permissions.assemble
文書中に新しいページ、ブックマーク、サムネイル画像を追加する
output.pdf.encryption.permissions.print-high
文書を高画質で印刷する

なお、Copper PDFはPDFフォームをサポートしていないため、 フォームに対する権限は通常は無意味です。

パーミッションを設定することにより、Adobe Reader等のPDF閲覧ソフトは設定に沿った動作をしますが、 他のツール等でPDFに対する該当する操作が行われないことを保証するものではありません。

4.10.3. ファイルの添付

PDF 1.4以降では、PDFにファイルを添付することが出来ます。 ファイルの添付は

の4つで1組のプロパティを使います。 nは0から始まる通し番号で、複数のファイルを添付することが出来ます。

このうち必須なのはoutput.pdf.attachments.n.uriです。 あらかじめドライバにより送られてきたファイルのURIか、 アクセス可能なファイルのURLを設定してください。

output.pdf.attachments.n.nameはファイルの名前です。 ASCII文字以外も使用することが出来ますが、文字化けが発生するおそれがあります。 日本語ファイル名を使用する場合は、 output.pdf.attachments.n.nameにはなるべくASCII文字を使い、 output.pdf.attachments.n.description に実際のファイル名を設定してください。

output.pdf.attachments.n.mime-typeは、 ファイルのMIMEタイプです。

4.10.4. PDFの圧縮形式

Copper PDFのデフォルトの設定では、出力されるPDFはなるべくサイズが小さくなるように圧縮されます。 結果、出力されるPDFはバイナリデータとなります。

output.pdf.compressionの設定により、 テキスト形式か、圧縮されないPDFを生成することが出来ます。 asciiという設定では、PDFを圧縮しますが、出力されるPDFはASCIIテキストになります。 若干サイズは大きくなりますが、テキストとしてそのままコピー&ペースト出来るようなファイルが出来上がります。 noneではPDFを全く圧縮せず、描画命令などがそのままの形のテキストで出てきます。 画像はHEX形式となり、非常にファイルサイズが大きくなりますが、 出力されたPDFの内容をテキストエディタ等で確認するのに便利です。

PDF中の画像の圧縮形式

容量の大きなPDFの場合、画像が容量のほとんどを占めていることがよくあります。 そのため、画像の圧縮形式を適切に設定することで、PDFのサイズを節約することが出来ます。

デフォルトでは、JPEG画像は加工されずにPDF内で使用され、 他の画像はFlateDecode形式(可逆圧縮)で圧縮されます。

画像の圧縮形式は output.pdf.image.compression で指定することが出来ます2.0.3。 デフォルトはflateですが、jpegにするとJPEGで圧縮します。 JAI がインストールされた環境では、jpeg2000の指定が可能です。 画像の圧縮は、デフォルトではJPEG / JPEG2000には適用されませんが output.pdf.jpeg-imageをrecompressにすると、 JPEG / JPEG2000を再圧縮するようになります2.0.3 (ただしJPEGをJPEGに、JPEG2000をJPEG2000に圧縮することはしません、JPEGとJPEG2000を互いに変換することはします)。

JPEG / JPEG2000による再圧縮は不可逆であり、 画像を劣化させるためアイコンのような小さな画像には適用したくないことがあります。 そのため、Copper PDFは一定の大きさより小さな画像を常にFlateDecode形式で圧縮するように指定することが出来ます 2.0.3。 閾値はoutput.pdf.image.compression.losslessに、 画像の縦のピクセル数と横のピクセル数を足した値で設定します。デフォルトは200です。 この場合、例えば縦が90ピクセル、横が110ピクセルの画像はJPEG / JPEG2000に再圧縮されますが、 縦が80ピクセル、横が100ピクセルの画像はFlateDecodeで可逆圧縮されます。 ただし、元の画像がJPEG / JPEG2000で、 output.pdf.image.compressionで指定した形式と同じ場合は、 そのままの形式でPDFに埋め込みます。

4.10.5. PDFの表示環境のキャラクタ・エンコーディング

PDF 1.2以前ではフォント名、PDF 1.6以前では添付ファイル名が、 PDFの表示環境のキャラクタ・エンコーディングに依存していました。 後のバージョンのPDFではユニコードを使用するため、特に表示環境のキャラクタ・エンコーディングを気にする必要はありません。

古いバージョンのPDFを生成する場合は、文字化けを防ぐために、 output.pdf.platform-encoding に想定される表示環境のエンコーディングを設定する必要があります。 デフォルトではMS932(Windows版Shift_JIS)が設定されているため、 日本語環境ではおおよそ問題は起きません。 ただし、該当する箇所に設定されたエンコーディングがサポートしない文字が使われた場合や、 設定されたエンコーディング以外の表示環境では文字化けが発生する可能性があります。

4.10.6. 作成・更新時刻、ファイルIDの設定

デフォルトでは、PDFの作成・更新時刻(CreationDate, ModDate)にはCopper PDFが動作している環境の時計の現在時刻が使われます。 また、ファイルIDは乱数が使用されます。

作成・更新時刻とファイルIDは、明示的に設定することも出来ます2.0.9

作成・更新時刻はそれぞれ

を設定してください。 日付の形式は"2009-05-22 21:10:14"または"2009-06-04 15:53:02 +0900" (タイムゾーンを明示する場合)といった形式です。

ファイルIDは output.pdf.file-id で設定してください。 これは必ず32桁固定の16進数で、 "000067A36902BF8D2A0617B9CD02BCFA" のような値です。


←前へ 目次↑ 次へ→
Copper PDF ©2008-2009 GNN & Co.,Ltd. All rights reserved.