Copper PDFは長らくPDFを唯一の出力形式としていましたが、 Copper PDF 2.0.3から画像の出力をサポートしました。
output.typeにMIMEタイプを設定することにより、 出力形式を切り替えることができます。 デフォルトではPDF("application/pdf")です。
Copper PDFはデフォルトの設定でPDFを出力します。 PDF出力機能の詳細はPDFの機能を参照してください。
出力する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)を参照してください。
Copper PDFはPDFだけではなく、JPEG等のラスタ(ピクセルマップ)画像を出力することができます。 2.0.3 output.typeに"image/jpeg"のように、 画像のMIMEタイプを指定してください。
画像のエンコーディングにはJava実行環境の機能を利用しており、 大抵のJava実行環境ではJPEG("image/jpeg"), PNG("image/png")画像を出力することができます。 Java実行環境に拡張ライブラリを導入することにより、出力できる画像を増やすことができます。 拡張方法については他の画像形式の利用を参照してください。
コアフォント とCID-Keyedフォントを描画できないという制約があります。 フォントを正しく表示するためには、埋め込みフォントを利用する必要があります。 フォントの設定方法はフォントの種類を参照してください。
出力される画像の解像度は output.image.resolution により設定することができます2.0.4。 値の単位はdpiで、CSSで1inの長さのオブジェクトを描画するときに並ぶピクセル数です。 デフォルトの画像の解像度は96dpiです。 1ptは1/72inであるため、デフォルトでは1ptは1ピクセルより若干大きくなります。
1pxが実際に出力される画像の1ピクセルと一致するようにするためには output.resolution と output.image.resolution が同じ値になるようにしてください。 デフォルトでは両方とも96です。
なお、2.0.8以前ではoutput.image.resolutionのデフォルト値が72となっており、解像度が正しく反映されないバグがありました。 2.0.9以降では (以前の設定 × output.resolution / 72) で換算した値を設定してください。
Copper PDF 3.0.1 からSVGの出力をサポートしました。 output.typeに"image/svg+xml"を設定してください。
SVG出力では、文字が全てアウトライン化されます。 出力されたSVGはAdobe Illustrator CSなどのドローソフトで読み込み、加工することができます。