PDF出力

AH Formatter V6.6 では、PDF出力機能が標準装備されています。 出力できるPDFのバージョンは以下のとおりです。

AH Formatter V6.6 が出力するPDFには、次のような特徴があります。

PDF出力に関する設定内容の詳細については、PDF出力の設定を参照してください。

PDF/X

PDF/Xは、ISO 15930 で規定されており、印刷用のデータ交換を目的としたPDFのサブセットです。 基本的には、印刷するためのすべての情報がPDFファイル内に含まれています。 AH Formatter V6.6 は、以下のバージョンのPDF/Xを出力することができます。

PDF/Xの大きな特徴は以下が挙げられます。

PDF/X-1aPDF/X-2PDF/X-3PDF/X-4
フォントはすべて埋め込まれなければならない
出力インテントが指定されていなければならない
出力インテントとして指定されたICCプロファイルを埋め込まなければならない × × ×
CMYK、スポットカラーをサポートする
グレイスケールをサポートする
RGBをサポートする ×
透明をサポートする × × ×
パスワードの設定や、印刷制限、変更制限などを行ってよい × × × ×
リンクや注釈などを含めてよい × × × ×
しおり等のアクションを含む要素を含めてよい × × × ×

PDF/X では、すべてのフォントは埋め込まれなければなりません。埋め込みが許可されていないフォントを使用している場合、PDF/Xを生成することはできません。

フォントの埋め込みなど、多くの情報はユーザの設定を無視して適切なものが採用されます。 例えば、出力するPDFのバージョンがPDF/Xに設定されているとき、 PDFオプション設定ダイアログフォント埋め込み は淡色表示されます。

PDF/X として不適合な画像が指定されたときは、PDF出力の設定error-on-pdfx-fault によって処理が異なります。error-on-pdfx-fault を参照してください。

PDF/X では、出力インテントが指定されていなければなりません。 出力インテントは、ICCプロファイルを直接指定する方法と、出力条件識別子を指定する方法があります。

出力インテントを、ICCプロファイルによって指定する場合は、fo:color-profile の src プロパティにICCプロファイルのURLを指定します。 color-profile-name プロパティは、省略するか、"#CMYK"、"#GrayScale" または "#RGB" を指定します。省略したときは "#CMYK" が指定されているとみなされます。例えば、次のように指定します。

<fo:declarations> <fo:color-profile src="url('file:///C:/WINDOWS/system32/spool/drivers/color/JapanColor2001Coated.icc#OutputConditionIdentifier=JC200103')" color-profile-name="#CMYK" /> </fo:declarations>

PDF/X では、指定できる出力インテントはひとつだけです。複数の出力インテントが指定された場合は、どれが採用されるかは不定です。

PDF/X では、埋め込むことのできる出力インテントのICCプロファイルは、そのデバイスクラスが "prtr" であるものだけです。"prtr" 以外のICCプロファイルは利用できません。"prtr" 以外のICCプロファイルを指定すると、次のようなエラーが報告されるでしょう。

6908 (420C): PDF output warning. Unsupported ICC Profile Device Class : mntr: Xxxxxxxx.icc

PDF/X-1~3では、fo:color-profile の src プロパティで、出力条件識別子を指定することもできます。 指定は、URIのフラグメントの形式で行います。

<fo:declarations> <fo:color-profile src="#OutputConditionIdentifier=CGATS%20TR%20001&amp;RegistryName=http://www.color.org" /> </fo:declarations>

先頭文字は # でなければなりません。その後、パラメータを &amp; で区切って羅列します。 各パラメータは、名前=値 の形式です。 各パラメータの名前は、(PDF/X の OutputIntent辞書の項目に対応し)以下のとおりです。

ICCプロファイルに続けてこのフラグメントパラメータの形式を記述することで、プロファイルの情報を与えることもできます。axf:base-uri によるベースURIを指定することもできます。

<fo:declarations axf:base-uri="url('file:///C:/WINDOWS/system32/spool/drivers/color/')">
 <fo:color-profile src="url('Photoshop5DefaultCMYK.icc#Info=Photoshop5')"/>
</fo:declarations>

出力インテントを出力条件識別子で指定した場合は、その出力インテントはPDF/Xに埋め込みません。ICCプロファイルで指定した場合は、PDF/XにそのICCプロファイルを埋め込みます。

標準出力インテントは、次で定義されている標準的なICCプロファイルです。

CMYK Characterization Data

出力条件識別子にこれらのいずれかを指定することができます。 AH Formatter V6.6 で指定できる標準出力インテントは以下のとおりで、いずれもCMYK用です。

  • CGATS TR 001
  • CGATS TR 002
  • CGATS TR 003
  • CGATS TR 005
  • CGATS TR 006
  • CGATS21-2-CRPC1
  • CGATS21-2-CRPC2
  • CGATS21-2-CRPC3
  • CGATS21-2-CRPC4
  • CGATS21-2-CRPC5
  • CGATS21-2-CRPC6
  • CGATS21-2-CRPC7
  • FOGRA1
  • FOGRA2
  • FOGRA3
  • FOGRA4
  • FOGRA5
  • FOGRA6
  • FOGRA7
  • FOGRA8
  • FOGRA9
  • FOGRA11
  • FOGRA12
  • FOGRA13
  • FOGRA14
  • FOGRA15
  • FOGRA16
  • FOGRA17
  • FOGRA18
  • FOGRA19
  • FOGRA20
  • FOGRA21
  • FOGRA22
  • FOGRA23
  • FOGRA24
  • FOGRA25
  • FOGRA26
  • FOGRA27
  • FOGRA28
  • FOGRA29
  • FOGRA30
  • FOGRA31
  • FOGRA32
  • FOGRA33
  • FOGRA34
  • FOGRA35
  • FOGRA36
  • FOGRA37
  • FOGRA38
  • FOGRA39
  • FOGRA40
  • FOGRA41
  • FOGRA42
  • FOGRA43
  • FOGRA44
  • FOGRA45
  • FOGRA46
  • FOGRA47
  • FOGRA48
  • FOGRA49
  • FOGRA50
  • FOGRA51
  • FOGRA52
  • FOGRA53
  • FOGRA54
  • IFRA22
  • IFRA26
  • IFRA28
  • IFRA30
  • JCS2011
  • JC200103
  • JC200104
  • JCN2002
  • JCW2003
  • EUROSB104
  • EUROSB204

URLで指定されたICCプロファイルは、その内容からそれが標準出力インテントかどうかが判断されます。標準出力インテントがURLで指定された場合、PDF/X-1~3 では ICCプロファイルの埋め込みは必須ではないため、埋め込むか埋め込まないかは、PDF出力の設定embed-std-output-intent により選択が可能です。 ただし、PDF/X-4ではこの指定は無視され、常に埋め込みます。 PDF/X-1~3 では、出力条件識別子によって指定された場合は、embed-std-output-intent の設定にかかわらず、埋め込まれません。

FOに出力インテントの指定がない場合は、PDF出力の設定default-output-intent が採用されます。

ICCプロファイルは、Adobeから標準的なものをダウンロードすることができます。

Adobe ICC profiles

ここからダウンロードできるプロファイルは、Adobe Acrobat などにバンドルされ、すでにあなたのシステムにインストールされているかも知れません。 Windows であれば、%windir%\system32\spool\drivers\color ディレクトリなどを探してみてください。

PDF/A

PDF/Aは ISO 19005 で規定されており、電子文書の長期保存を目的とした仕様です。 AH Formatter V6.6 は、以下のバージョンのPDF/Aを出力することができます。

PDF/Aの大きな特徴は以下が挙げられます。

PDF/A-1a PDF/A-1b PDF/A-2a PDF/A-2b PDF/A-2u PDF/A-3a PDF/A-3b PDF/A-3u
フォントはすべて埋め込まれなければならない
ICCプロファイルを埋め込まなければならない
タグ付けされていなければならない × × × × ×
XMP準拠のメタデータを含んでいなければならない
暗号化してよい × × × × × × × ×
LZW圧縮してよい × × × × × × × ×
透明な画像を含めてよい × ×
外部コンテンツを参照してよい × × × × × × × ×
JavaScriptを含めてよい × × × × × × × ×
テキストにUnicodeが使用されなければならない × × ×
PDF/A を注釈として添付できる × ×
PDF/A 以外の任意のファイルを注釈として添付できる × × × × ×

PDF/Aでは、PDF/Xと同様に、すべてのフォントは埋め込まれなければなりません。埋め込みが許可されていないフォントを使用している場合、PDF/Aを生成することはできません。また、PDF/Aでは、ICCプロファイルも埋め込まなければなりません。したがって、出力インテントの指定はICCプロファイルのURL指定のみが有効となります。

フォントの埋め込みなど、多くの情報はユーザの設定を無視して適切なものが採用されます。 PDF/A-1a、PDF/A-2a、PDF/A-3a では、強制的にタグ付けを行います。タグ付きPDFを参照してください。

XMPメタデータは、PDFの文書情報から自動的に生成されますが、<axf:document-info name="xmp"> で独自のXMPを指定することもできます。

ファイルを注釈として添付するには axf:annotation-file-attachment を使って行います。 上の表では[]ですが、PDF/A にファイルを添付するときは以下の制約があります。PDF/A 以外ではこのような制約はありません。

フォームは、PDFにフォントを埋め込めないため、PDF/Aを生成することはできません。ただし、以下のフォームにおいてのみ、フォームがあってもPDF/Aを生成することができます。

PDF/UA

PDF/UAは、ISO 14289-1 で規定されており、ISO 32000-1仕様に基づいた PDF のアクセシビリティ向上を目的とした仕様です。AH Formatter V6.6 は、以下のバージョンのPDF/UAを出力することができます。

PDF/UAの大きな特徴は以下が挙げられます。

タグ付きPDF

通常のPDFは、その内容に文書構造を持ちません。例えば、文章は行ごとに千切れています。段組で、左の段の第1行目に右の段の第1行目が続いていたりします。そのため、視覚障害者などが、何らかのリーダを用いてPDFを読もうとしても、正しい順序で文章を読むことは非常に困難です。 これは、PDFからのテキスト抽出などでも同様です。タグ付きPDFは、PDF1.4以降で有効です。

タグ付きPDFは、PDF中に埋め込まれたタグによってPDF文書を構造化します。 文書が構造化されることによって、PDFは再利用可能な情報となります。このため、タグ付きPDFはアクセシブルなPDF作成に欠くことができません。 PDFのタグ付きPDFの仕様は次を参考にしてください。

ISO 32000-1:2008 14.8 Tagged PDF

タグ付きPDFは、PDFアクセシビリティの重要な要素です。アクセシブルなPDFのためには、タグ付きPDFに加えていくつかの要件があり、全体としては、PDF/UAで規定されています。

AH Formatter V6.6 は、各FO要素に対して次のようなタグ(構造要素)を埋め込みます。なお、region-body 以外の領域に割り当てられたFO要素は Artifact としてタグ付けされます。

FO要素 PDF要素 コメント
fo:root Document
fo:page-sequence Part
fo:flow Sect
fo:static-content Sect
fo:block P または Div inline-level の内容を持つ場合 P、それ以外は Div
fo:block-container Div または Sect absolute-position="fixed" または "absolute" の場合は Sect、それ以外は Div。
fo:inline Span または Referencefo:footnoteの子の場合は Reference、それ以外は Span。
fo:inline-container Span
fo:leader Span
fo:page-number Span
fo:page-number-citation Span
fo:page-number-citation-last Span
fo:scaling-value-citation Span
fo:index-page-citation-list Span
fo:bidi-override Span
fo:footnote footnote-reference-areaは ページ上のすべての footnote を含んでいる Sect を埋め込む。
fo:footnote-body Note
fo:float Sect
fo:external-graphic Figure または FormulaMathML のとき Formula、それ以外は Figure
fo:instream-foreign-object Figure または FormulaMathML のとき Formula、それ以外は Figure
fo:basic-link Link
fo:list-block L
fo:list-item LI
fo:list-item-label Lbl
fo:list-item-body LBody
fo:table Table
fo:table-caption Caption
fo:table-header THead
fo:table-footer TFoot
fo:table-body TBody
fo:table-row TR
fo:table-cell TH または TD fo:table-header 中のとき TH、それ以外は TD
axf:form-fieldForm
axf:rubyRuby
axf:ruby-baseRB
axf:ruby-textRT

AH Formatter V6.6 は、各HTML要素に対して次のようなタグ(構造要素)を埋め込みます。

HTML要素 PDF要素 コメント
htmlDocument
divDiv
h1H1
h2H2
h3H3
h4H4
h5H5
h6H6
pP
ulL
olL
liLI
li::markerLblリストのラベル
dlL
dtLbl
ddLBody
blockquoteBlockQuote
captionCaption
tableTable
trTR
tdTD
thTH
theadTHead
tfootTFoot
tbodyTBody
rubyRuby
rbRB
rtRT
spanSpan
imgFigure
a[href]Link
その他のブロック要素Div
その他のインライン要素Span

構造要素でないタグがいくらか存在します。

PDF要素 コメント
Artifactページの本文から区別される内容に付けられます。 改ページのたびに繰り返し出力される static-content や、table-header(tableの最初のもの以外)、table-footer(tableの最後のもの以外)が、Artifact となります。 axf:pdftag="Artifact" と指定したときも同様です。
ReversedCharsアラビア語など、右から左に書くテキストに付けられます。
Span表示用に加工した文字列の加工前の文字列を ActualText として設定するために使用されます。これは、構造要素の Span とは別です。 加工前の文字列とは、例えば、ハイフネーションされる前の文字列や、タイ語などで複雑なグリフ置換が起こる前の文字列です。

タグ付きPDFを作成するには、PDFオプション設定ダイアログでタグ付きPDFをチェックしたり、コマンドラインインターフェイスで -tpdf を指定したりします。

拡張プロパティのaxf:pdftagで、PDFに出力するタグ名に任意のタグ名が指定できます。

Adobe Acrobat でのアクセシビリティの完全チェックでの各チェック項目(Acrobat 7.0 の場合)に対して、AH Formatter V6.6 は、次のような処理をします。

タグ付きPDFへのタグ付きPDFの埋め込みや、PDFのバージョンによる制約については、PDFの埋め込みを参照してください。

リニアライズドPDF

リニアライズドPDF(Linearized PDF)にすることで、生成されたPDFのWebでの表示は高速となります。リニアライズドPDFの特徴は以下が挙げられます。

Web表示用に最適化したPDFとは、このリニアライズドPDFのことを指します。

注意: 一部のビューアで、ファイルサイズが 4KB以下のリニアライズドPDFを、最適化されていないと判定することが確認されています。

PDFの埋め込み

PDF中に、他のPDFを埋め込むことができます。 また、フォームによる記入欄のあるPDFを埋め込むこともできます。

これは、<fo:external-graphic> を用いて、画像を扱うように行います。 グラフィクスを参照してください。

<fo:external-graphic src="embedded.pdf#page=3"/>

このように、埋め込みたいページ番号をURI中に指定します。 ページの指定は、#page=<FirstPage>-<LastPage> の形式で行います。 ページ番号の指定がない場合は1ページ目が埋め込まれます。

embedded.pdf#page=3-5
3ページ~5ページ
embedded.pdf#page=3-
3ページ~最後のページ
embedded.pdf#page=3
3ページのみ
embedded.pdf
1ページのみ

サイズ指定がない場合は、埋め込まれるPDFのページサイズで埋め込みますが、拡大縮小したいときは、次のように content-widthcontent-height を指定すればよいでしょう。

<fo:external-graphic src="embedded.pdf#page=3" content-width="50%"/>

複数のページを連続して埋め込むことができます。

<fo:external-graphic src="embedded.pdf#page=3-5"/>

上のような指定で、3ページ目から5ページ目までを連続して埋め込みます。すべてのページを埋め込みたいときは、次のようにします。

<fo:external-graphic src="embedded.pdf#page=1-"/>
注意: 埋め込まれるPDFのページサイズが比較的大きいとき、埋め込まれるPDFのページがオーバーフローすることがあります。それは、<fo:external-graphic> がインライン要素であるため、widows/orphans プロパティの影響を受けるためです。ブロックに widows="1" orphans="1" を指定するとよいでしょう。

dataスキームRFC2397)を利用してPDFを指定するとき、ページ番号は次のようにメディアタイプのパラメータとして指定します。

<fo:external-graphic src="data:application/pdf;page=3;base64,JVBERi0xLjQKJeLjz9M..."/>

また、PDFを背景として埋め込むことも可能です。これは、帳票雛形を背景として、その上に内容データだけを組版するようなときに利用できます。 背景としてPDFを指定するときは、次のように axf:background-repeat="no-repeat" を fo:simple-page-master または fo:page-sequence に指定します(CSSでは、@page に指定します)。 axf:background-repeat="repeat" を指定することはできません。

<fo:simple-page-master axf:background-image="background.pdf"
                       axf:background-repeat="no-repeat" ...>

PDFを背景に埋め込むとき、ある1ページだけではなく、複数ページを連続的に埋め込むことが可能です。次のように axf:background-repeat="paginate" を指定します。

<fo:simple-page-master axf:background-image="background.pdf#page=3-5"
                       axf:background-repeat="paginate" ...>

この例では、3ページ目から5ページ目が背景として埋め込まれます。 埋め込まれるPDFのページ数より fo:flow の内容から生成されるページ数が少ない場合は、埋め込まれるPDFのページ数すべてが出力されるようにページが追加されます。 したがって、fo:flow の内容は空でも構いません。fo:flow の内容から生成されるページ数の方が多い場合は、埋め込まれるPDFのページ数を超えたページの背景画像はなしとなります。 ページの指定は、#page=<FirstPage>-<LastPage> の形式で行います。axf:background-repeat="paginate" が指定されていないときは、-<LastPage> 部分は無視されます。

background.pdf#page=3-5
3ページ~5ページ
background.pdf#page=3-
3ページ~最後のページ
background.pdf#page=3
3ページのみ
background.pdf
全ページ
注意: axf:background-repeat="paginate" が指定されていて、ブランクページなどにも背景画像が指定されているとき、そのブランクページが採用された時点でPDFの埋め込みは終了します。

fo:page-sequence と fo:simple-page-master の両方に axf:background-image や axf:background-repeat が指定されている場合は、fo:simple-page-master が優先します。 fo:simple-page-master への指定では、fo:region-body/before/after/start/end への埋め込みも可能となります。

埋め込まれるPDFのバージョンは、出力するPDFのバージョン以下でなければなりません。 PDF/Xなどとの許される組み合わせは、次の表を参照してください。

埋め込まれる​PDF PDF​1.3​~1.7 PDF/X PDF/A PDF/UA
1a:​2001 3:​2002 1a:​2003 2:​2003 3:​2003 4:​2010 1a:​2005 1b:​2005 2a:​2011 2b:​2011 2u:​2011 3a:​2012 3b:​2012 3u:​2012 1:​2014
出力するPDF PDF1.3​~1.7
PDF/X​-1a:​2001
PDF/X-3:​2002
PDF/X-1a:​2003
PDF/X-2:​2003
PDF/X-3:​2003
PDF/X-4:​2010
PDF/A​-1a:​2005
PDF/A​-1b:​2005
PDF/A​-2a:​2011
PDF/A​-2b:​2011
PDF/A​-2u:​2011
PDF/A​-3a:​2012
PDF/A​-3b:​2012
PDF/A​-3u:​2012
PDF/UA​-1:​2014

PDF を埋め込むとき、上の表で[]であっても、以下の制限があります。

フォント出力

Adobe Type1 フォント(Adobe標準の欧文基本14フォントを含む)、TrueTypeフォント(TrueTypeアウトライン形式のOpenTypeフォントを含む)、OpenTypeフォント(PostScriptアウトライン)、WOFF(Web Open Font Format)、WOFF2、Macintosh TrueType フォントデータフォークスーツケース をサポートします。その他の形式のフォントはサポートされません。 詳細は、「フォント」を参照してください。

AH Formatter V6.6 では使用するフォントが実行環境にインストールされている必要があります。Windows版でのフォントのインストール方法については、Windowsのヘルプ、あるいはフォントに添付される説明書などを参照してください。 Windows版で、フォントフォルダ以外に置いたフォントをPDFへ出力することができます。そのときは、フォント構築ファイルによる指定が必要です。

注意: 透過のある画像を含むPDFを Adobe Acrobat/Reader で表示すると、文字が若干太く表示されることがあります。これは、Adobe Acrobat/Reader の既知の問題です。

文字セット・エンコーディング

サポートされる文字セットは以下のものです。

  • Adobe 標準ラテン文字セット
  • Symbol 文字セット
  • ZapfDingbats 文字セット
  • 日本語文字セット(Adobe-Japan1-Supplement2)
  • 簡体中国語文字セット(Adobe-GB1-Supplement2)
  • 繁體中国語文字セット(Adobe-CNS1-Supplement0)
  • 韓国語文字セット(Adobe-Korea1-Supplement1)

AH Formatter V6.6 の内部処理はすべて Unicode で行われます。中国語、日本語、韓国語(CJK) の文字の場合、AH Formatter V6.6 が出力するPDFは、この Unicode を、それぞれ以下のCMapを使用して、CJK各文字セット内のグリフへ割り当てています。

  • 日本語 : UniJIS-UCS2-H(V)、UniJIS-UCS2-HW-H(V)
  • 簡体中国語 : UniGB-UCS2-H(V)
  • 繁體中国語文字セット(Adobe-CNS1-Supplement0)
  • 韓国語文字セット(Adobe-Korea1-Supplement1)

上記の文字セットに含まれない文字が FO内に含まれていた場合、フォントファイルからグリフを取得して、PDFに埋め込みを行います。この処理は TrueType、OpenTypeフォントに対してのみ行われます。

フォント埋め込み

PDFにフォントを埋め込むことで、フォントが存在しない環境でも表示可能なPDFファイルを作成することができます。

TrueTypeフォントの場合、デフォルトの設定では、フォントが対応する文字セットに定義のない文字のみ、フォントの埋め込みを行います。フォントベンダによって埋め込みが禁止されているフォントであった場合、エラーを返して終了します。これをエラーとせず、空白文字に置き換えてPDF出力を行うこともできます。 なお、埋め込みを行うフォントとして指定された場合、指定されたフォント内の文字は文字セットに含まれている文字か否かによらず、埋め込まれます。

Adobe Type1フォントの場合、デフォルトの設定では、フォント固有のエンコーディング(font specific encoding)を持つフォントのみ、埋め込みを行います。 TrueTypeの場合と同様に、埋め込みを行うフォントとして指定されたフォントは、標準のエンコーディング(standard encoding)を持つフォントも埋め込まれます。

埋め込みが許可されていないフォントをPDFに埋め込むことはできません。 埋め込みを行うフォントの指定方法についてはPDF出力の設定を参照してください。

指定によらず、常にフォントの埋め込みを行うことがあります。以下の場合は、常にそのフォントを埋め込みます。もし、そのフォントが埋め込み禁止の場合、そのフォントを利用することはできません。

  • 次のスクリプトのフォント
    • Ethi : エチオピア文字 V6.6
    • Arab : アラビア文字
    • Syrc : シリア文字 V6.6
    • Hebr : ヘブライ文字
    • Deva : デヴァナガリ文字
    • Beng : ベンガリ文字
    • Guru : グルムキ文字
    • Gujr : グジャラート文字
    • Orya : オリヤ文字
    • Taml : タミル文字
    • Telu : テルグ文字
    • Knda : カンナダ文字
    • Mlym : マラヤラム文字
    • Sinh : シンハラ文字
    • Thai : タイ文字
    • Khmr : クメール文字
    • Laoo : ラーオ文字
    • Mymr : ミャンマー文字
  • リガチャされた文字 axf:ligature-mode
  • font-variant によって、変更された字体(small-capsのエミュレーションを除く)
  • 異体字選択された文字
  • 16bitで表現できない Unicode の文字

イメージ出力

サポートしているグラフィックイメージについては、「グラフィクス」を参照してください。

ベクタイメージ

次のベクタイメージは、PDF命令に置き換えられてベクタイメージのまま直接PDFに出力されます。そのため、画質の劣化はありません。

これら以外のベクタイメージは、ラスタイメージに変換されてPDFに出力されます。このときに生成するラスタイメージの解像度を変換結果のPDF内でのdpi値で指定することができます。PDF出力の設定の rasterize-resolution を参照してください。ただし、ラスタイメージへの変換は Windows版のみ対応しています。非Windows版では直接 PDFに出力できないベクタイメージは無視されます。

EPSについては、グラフィクスEPSを参照してください。

注意: CGMで、 AH Formatter CGM オプション が組み込まれていない場合については、グラフィクスを参照してください。

ラスタイメージ

一般に、ラスタイメージデータは何らかの方法で圧縮されています。 もし、その圧縮(非圧縮)方法がPDFファイルに適合するならば、そのラスタイメージはそのままPDFに埋め込まれます。 そうでない場合は、まず、そのラスタイメージを非圧縮化して、PDFと互換性のあるビットマップ形式に変換します(非圧縮化できないラスタイメージは扱うことができません)。 そして、そのビットマップ形式を JPEGまたはZLIB圧縮(BitMap形式のFlate圧縮)してからPDFに埋め込みます。 オプション設定ファイルのPDF出力の設定の、color-compression、color-jpeg-quality 属性を参照してください。ラスタイメージが直接PDFに埋め込まれた場合、これらの属性は適用されません。

PDFに直接埋め込むことのできるラスタイメージは以下のとおりです。

ただし、次のような制約があります。

  • Progressive JPEGInterlaced GIF は通常の JPEG、GIF に変換されます。
  • PNG、TIFFで、16ビットカラーは8ビットカラーに切り詰められます。
  • PNG、TIFFで、αチャネルが付いている場合は分離されます。
  • TIFFでは対応していない形式があります。
  • JPEG 2000は、PDF1.5以降のときのみPDFへ埋め込まれます。それ以外ではJPEGなどに変換されてから埋め込まれます。

ダウンサンプリング

AH Formatter V6.6 では、PDFに埋め込まれるラスタ画像のダウンサンプリングを行うことができます。

PDFオプション設定ダイアログ圧縮ページ や、オプション設定ファイル でどのようにダウンサンプリングするかを指定しておきます。

圧縮には、以下の制約があります。

JPEG圧縮が可能なのは以下の場合です。条件を満たさない場合はZLIB圧縮となります。

  • BitsPerComponentが8
  • カラースペースが、CMYK、RGB、グレイスケール、CIE L*a*b* のいずれか

JPEG 2000圧縮が可能なのは以下の場合です。条件を満たさない場合はJPEG圧縮となります。

  • PDF1.5以降
  • BitsPerComponentが8
  • カラースペースが、RGB、グレイスケール、CIE L*a*b* のいずれか

マルチメディア

ビデオやオーディオなどのマルチメディアデータをPDFへ埋め込むまたはリンクすることができます。 指定は、次のように <fo:external-graphic> で行います。

<fo:external-graphic src="video.mpg" content-type="video/mpeg"
                     axf:multimedia-treatment="embed"
                     axf:poster-image="poster.jpg"
                     axf:show-controls="true"
                     width="640pt" height="400pt"/>

HTMLでの指定は、次のように <object> または <video> で行います。

<object data="video.mpg" type="video/mpeg"
        width="640" height="400"
        style="-ah-poster-image:url('poster.jpg'); -ah-show-controls:true">
</object>

または

<video src="video.mpg" type="video/mpeg"
       width="640" height="400"
       poster="poster.jpg" controls="controls">
</video>

content-type(HTMLではtype属性)の指定は必須です。AH Formatter V6.6 は、src に指定されたデータが、この content-type に従っているものと仮定します。データの内容をチェックしたりすることはありません。 axf:poster-image(HTML <video>要素ではposter属性)でポスター画像を指定することができます。GUIでは、ポスター画像が表示されます。 width、height の指定がない場合は、参照領域の大きさが仮定されます。 マルチメディアを埋め込むのかリンクするのかは、axf:multimedia-treatment で指定します。

注意: PDFでは、マルチメディアは注釈の一種として組み込まれます。ポスター画像を印刷したいときは、axf:annotation-flags="Print" を指定してください。

axf:show-controls(HTML <video>要素ではcontrols属性)の指定がある場合、再生中のマルチメディアの下側にコントロールバーが表示されます。コントロールバーと他の要素とが重ならないようにするにはマルチメディア要素の下側に充分なスペースの確保が必要です。

注意: コントロールバーが表示されるか否かは、マルチメディアデータ、ビューア、プレイヤに依存します。

マルチメディアとして、デフォルトで受け付けるコンテントタイプは以下のとおりです。

これら以外のコンテントタイプは、オプション設定ファイル<multimedia> で追加することができます。 代表的な拡張子とコンテントタイプの組み合わせの例は以下のとおりです。

拡張子コンテントタイプ
*.3g2 video/x-msvideo
*.3gp video/x-msvideo
*.aac audio/basic
*.aiffaudio/x-aiff
*.asf video/x-ms-asf
*.au audio/basic
*.avi video/x-ms-wm
*.dv video/x-dv
*.f4v video/mp4
*.flv video/x-msvideo
*.ivf video/x-ivf
*.m1v video/x-mpeg
*.m2v video/x-mpeg
*.m4a audio/mp4
*.m4b audio/x-m4b
*.m4v video/mp4
*.mid audio/x-midi
*.midi
*.mov video/quicktime
*.mp2 audio/x-mpeg
*.mp3 audio/x-mp3
*.mp4 video/mp4
*.mpe video/mpeg
*.mpeg
*.mpg
*.qt video/quicktime
*.swf application/x-shockwave-flash
*.wav audio/x-wav
*.wma audio/x-ms-wma
*.wmv audio/x-ms-wmv
*.wmx audio/x-ms-wmx

これらが正しく再生できるかどうかは、PDFのビューアに依存します。再生時に、「プレーヤー不足」や「コーデック不足」のエラーが出た場合は、対応するプレイヤやコーデックの導入で再生可能になることがあります。

以下の制約があります。

リッチメディア

マルチメディアを、リッチメディア注釈として埋め込むことができます(ここでは、そのようなマルチメディアを単にリッチメディアと呼びます)。 これは、再生のために外部のプレイヤなどを必要としません。 指定は、次のように <fo:external-graphic> へ axf:multimedia-treatment でリッチメディアであることを指定します。HTMLでの指定は、<object> または <video> で行います。また、有効なプロパティに違いがあります。詳細は画像・マルチメディアを参照してください。

<fo:external-graphic src="video.mpg" content-type="video/mpeg"
                     axf:multimedia-treatment="richmedia"
                     axf:poster-image="poster.jpg"
                     width="640pt" height="400pt"/>

以下のマルチメディアをリッチメディアとして埋め込むことができます。

拡張子コンテントタイプ
*.3g2 video/x-msvideo
*.3gp video/x-msvideo
*.f4v video/mp4
*.flv video/x-msvideo
*.m4v video/mp4
*.mov video/quicktime
*.mp3 audio/x-mp3
*.mp4 video/mp4
*.swf application/x-shockwave-flash

サポートされているデータ形式であっても正しく再生するには、ビデオやオーディオのコーデックと Adobe Acrobat の Flash Player とに互換性が必要です。

以下の制約があります。

その他