出力するPDFのバージョンは output.pdf.version で設定することが出来ます。 デフォルトではバージョン1.5のPDFが出力されます。 PDF 1.5以降であれば、Copper PDFの全ての機能を利用することが出来ます。
PDF 1.4以前では、使用出来る機能に制限があります。 詳細は資料集のoutput.pdf.version の説明を参照してください。
Copper PDF 2.1.0からは、PDF/A-1(ISO 19005-1)に対応したファイルを出力することが出来ます。
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(無効)で設定してください。 デフォルトでは全て有効です。
次の4つはv2暗号化でのみ有効です。
なお、Copper PDFはPDFフォームをサポートしていないため、 フォームに対する権限は通常は無意味です。
パーミッションを設定することにより、Adobe Reader等のPDF閲覧ソフトは設定に沿った動作をしますが、 他のツール等でPDFに対する該当する操作が行われないことを保証するものではありません。
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タイプです。
Copper PDFのデフォルトの設定では、出力されるPDFはなるべくサイズが小さくなるように圧縮されます。 結果、出力されるPDFはバイナリデータとなります。
output.pdf.compressionの設定により、 テキスト形式か、圧縮されないPDFを生成することが出来ます。 asciiという設定では、PDFを圧縮しますが、出力されるPDFはASCIIテキストになります。 若干サイズは大きくなりますが、テキストとしてそのままコピー&ペースト出来るようなファイルが出来上がります。 noneではPDFを全く圧縮せず、描画命令などがそのままの形のテキストで出てきます。 画像はHEX形式となり、非常にファイルサイズが大きくなりますが、 出力されたPDFの内容をテキストエディタ等で確認するのに便利です。
容量の大きなPDFの場合、画像が容量のほとんどを占めていることがよくあります。 そのため、画像の圧縮形式を適切に設定することで、PDFのサイズを節約することが出来ます。
デフォルトでは、JPEG画像は加工されずにPDF内で使用され、 他の画像はFlateDecode形式(可逆圧縮)で圧縮されます。
画像の圧縮形式は output.pdf.image.compression で指定することが出来ます2.0.3。 デフォルトはflateですが、jpegにするとJPEGで圧縮します。 JAI-ImageI/O がインストールされた環境では、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に埋め込みます。
PDF 1.2以前ではフォント名、PDF 1.6以前では添付ファイル名が、 PDFの表示環境のキャラクタ・エンコーディングに依存していました。 後のバージョンのPDFではユニコードを使用するため、特に表示環境のキャラクタ・エンコーディングを気にする必要はありません。
古いバージョンのPDFを生成する場合は、文字化けを防ぐために、 output.pdf.platform-encoding に想定される表示環境のエンコーディングを設定する必要があります。 デフォルトではMS932(Windows版Shift_JIS)が設定されているため、 日本語環境ではおおよそ問題は起きません。 ただし、該当する箇所に設定されたエンコーディングがサポートしない文字が使われた場合や、 設定されたエンコーディング以外の表示環境では文字化けが発生する可能性があります。
デフォルトでは、PDFの作成・更新時刻(CreationDate, ModDate)にはCopper PDFが動作している環境の時計の現在時刻が使われます。 また、ファイルIDは乱数が使用されます。
作成・更新時刻とファイルIDは、明示的に設定することも出来ます2.0.9。
作成・更新時刻はそれぞれ
を設定してください。 日付の形式は"2009-05-22 21:10:14"または"2009-06-04 15:53:02 +09:00" (タイムゾーンを明示する場合)といった形式です。
ファイルIDは output.pdf.file-id で設定してください。 これは必ず32桁固定の16進数で、 "000067A36902BF8D2A0617B9CD02BCFA" のような値です。
PDFの前面または背面に、すかし画像を出力することが出来ます 2.1.8。 すかしを利用出来るのは、PDF 1.4以降です。
同様のことは、CSSのbackground-image等をつかって実現することも出来ますが、 PDFの場合は、画面では見えず印刷時だけすかしを表示する機能があります。
output.pdf.watermark.uriに、すかしに使う画像を、絶対アドレスで指定すると、 繰り返しパターンとして、画像がPDFの全ページに表示されるようになります。
デフォルトでは背景は背面に表示されますが、 output.pdf.watermark.modeに"front"を設定すると、前面に表示されます。
output.pdf.watermark.opacityにより、すかしの不透明度を設定することが出来ます。 例えば、"0.5"という値を設定すると、すかしが半透明になります。
以下の出力例は、output.pdf.watermark.uriにSVG画像を指定し、 output.pdf.watermark.modeに"back"を指定しています。
以下の出力例は、output.pdf.watermark.uriにSVG画像を指定し、 output.pdf.watermark.modeに"front"を指定し、 output.pdf.watermark.opacityに0.5を指定しています。
output.pdf.watermark.view、 output.pdf.watermark.printは、それぞれすかしを画面表示時と印刷時に表示するかどうかを設定するものです。 デフォルトでは両方とも表示しますが、例えばoutput.pdf.watermark.viewに"false"を設定すると、印刷時だけすかしを表示します。
すかしを背面に表示する場合、これらの設定はPDF 1.4以前では有効になりません。
PDF/A (ISO 19005-1)はPDFの長期保存のための国際規格です。 出力されるPDFの形式に一定の制約を加えることにより、様々なPDF表示ソフトウェアの互換性の問題が起きにくくなります。 PDF/AにはPDF/A-1bと、より制約の強いPDF/A-1aがありますが、Copper PDFは現在のところPDF/A-1bをサポートします。
output.pdf.versionに"1.4A-1"を設定すると、PDF/A-1bに準拠したファイルが生成されます2.1.0。 このモードで生成されるPDFのバージョンは1.4ですが、通常のPDF 1.4の以下の機能が使用できなくなります。
フォントは常に埋め込みフォントだけが使用されます。 CID-Keyedフォント、外部フォント、コア14フォントも使用できません。
CopperPDFは、PDFをビューワで開いた際の表示(ViewerPreferences)を設定することができます。 ViewerPreferencesの設定がどのように影響するかは、そのPDFを開くビューワー(Adobe Readerなど)によります。 必ずしもユーザーの環境で設定通りに表示されるものではありませんが、組織内での事務処理や印刷作業のためには非常に有効です。
ViewerPreferencesはoutput.pdf.viewer-preferences.で始まる名前の入出力プロパティにより設定します。 たとえば、文書を印刷する場合の印刷部数をあらかじめ3に設定したい場合は、 output.pdf.viewer-preferences.num-copies を3に設定します。
設定の一覧は、資料集の入出力プロパティ一覧を参照してください。
output.pdf.open-action.java-scriptにより、PDFをビューワで開いたタイミングで実行されるJavaScriptを設定することができます。
例えば、PDFを開いた際に印刷ダイアログを表示する場合は "print();" を設定します。
PDFのJavaScriptの仕様についてはAdobe社が公開しているドキュメント(http://www.adobe.com/jp/support/products/pdfs/acrojs_j.pdf)を参照してください。