グラフィクス

外部ファイルとして存在するグラフィクスは、いずれも <fo:external-graphic> の src プロパティや、<fo:simple-page-master> の axf:background-image プロパティに指定することができます。 AH Formatter V6.6 は、画像の種類を自動的に判定します。 content-typeプロパティの値が指定されているときは、それを仮定しますが、矛盾していないかどうかの判定は行います。その結果、指定が矛盾していた場合は、さらに自動判定を行います。 HTTP経由の画像の場合は、content-typeをHTTPヘッダから取得できます。そのときは、プロパティの値より優先してそれを仮定します。

外部ファイルがXMLのときは、フラグメントを指定することができます。例えば、

<?xml version="1.0"?>
<root>
 ...
 <m:math id="math-1" xmlns:m="http://www.w3.org/1998/Math/MathML">
  ...
 </m:math>
 ...
</root>

のような、XML中に含まれているMathML部分を

<fo:external-graphic src="url('file.xml#math-1')"/>

のようにして参照することができます。

<fo:external-graphic> の src プロパティや、<fo:simple-page-master> の axf:background-image プロパティには、dataスキームRFC2397)を指定することができます。つまり、外部ファイルを用意することなく、グラフィックファイルの内容を直接FO中に指定することができます。

<fo:external-graphic
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAB
3RJTUUH1AIFCDIuN9BfzQAAAAlw ... ="/>

dataスキーム中にメディアタイプ(content-type)を指定する必要はありませんが、指定してある場合は、それを仮定します。

注意: dataスキームの書式は次です。
"data:" [ mediatype ] [ ";base64" ] "," data
base64を指定するときはセミコロン ; が必要であること、データの区切りはカンマ , であることに注意してください。

JarURLConnection で定義される jarスキームを指定できます。これは、JARまたはZIPに有効で、その中のエントリを指定できます。

jar:http://www.foo.com/bar/baz.jar!/COM/foo/Quux.png

最初の区切り !/ 以降をエントリ指定とみなします。JARまたはZIPの入れ子には対応していません。

AH Formatter V6.6 が読み込みをサポートしているグラフィクスは以下のとおりです。 特に明記されていない場合は、Windows版、非Windows版いずれでもサポートされています。

PDF出力での画像の扱いについては、PDF出力イメージ出力を参照してください。
SVG出力での画像の扱いについては、SVG出力イメージ出力を参照してください。
PostScript出力での画像の扱いについては、PostScript®出力イメージ出力を参照してください。
INX出力での画像の扱いについては、INX出力画像を参照してください。
MIF出力での画像の扱いについては、MIF出力画像を参照してください。
XPS出力での画像の扱いについては、XPS出力イメージ出力を参照してください。

指定された画像が存在しないなどの理由で取得できないときは、代替画像が代わりに表示されます。 ただし、background-image に指定された画像のときは代替画像は表示されません。

BMP

Windows Bitmap に対応しています。 content-type は "image/bmp" です。

JPEG

JFIF(JPEG File Interchange Format)に対応しています。 content-type は "image/jpeg" です。

JPEG 2000

次の形式のJPEG 2000に対応しています。

PNG

PNG(Portable Network Graphics Format)に対応しています。 以下の制約があります。

content-type は "image/png" です。

TIFF

TIFF Revision 6.0 仕様のTIFFファイルに対応しています。

下記のカラー表現を処理します。

以下の制約があります。

content-type は "image/tiff" です。

GIF

Graphics Interchange Format に対応しています。 以下の制約があります。

content-type は "image/gif" です。

WMF

Windows Metafile に対応しています。 PDF、SVG、PostScript へはベクタイメージで出力されるので、画質の劣化はありません。 以下のような制約があります。

なお、gzip圧縮されたWMF(WMZ)にも対応しています。 content-type は "image/wmf" です。

EMF

Enhanced Metafile に対応しています。 PDF、SVG、PostScript へはベクタイメージで出力されるので、画質の劣化はありません。 以下のような制約があります。

なお、gzip圧縮されたEMF(EMZ)にも対応しています。 content-type は "image/emf" です。

EPS

Encapsulated PostScript に対応しています。 EPS に表示イメージがあるとき、そのイメージを出力します。表示イメージが存在しない場合は、代替画像に置き換えられます。 ただし、Adobe Distiller や PSプリンタへの出力、またはPostScript®出力では、表示イメージではなく、EPS中のPostScriptプログラムを出力します。

EPSをPDFへ出力するとき、Adobe DistillerやGhostscriptがインストールされている環境では、それらを利用することができます。そのとき、EPSをPDFとしてPDFへ埋め込むことができます(ただし、タグ付きPDFへ埋め込むことはできません)。オプション設定ファイルEPS-processorを設定してください。

注意: Adobe Distiller では、作成できるPDFの大きさに制限があることがあります。EPSの大きさは、その最小値から最大値の範囲内である必要があります。「PDFリファレンス、ISO 32000-1」にある資料などを参照してください。

FO中に、EPSコードを直接記述することが可能です。このことによって、Adobe Distiller などで、EPSコードをそのままPDFに埋め込むことができます。 これは、<fo:instream-foreign-object> を利用して次のように行います。

<fo:instream-foreign-object><![CDATA[%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 84 43 %%Pages: 0 %%Creator: Antenna House %%Title: Green Rounded Box %%CreationDate: 10 Feb 2003 %%LanguageLevel: 2 %%EndComments %%BeginProlog %%EndProlog %%BeginSetup %%EndSetup %%Page: 1 1 %%BeginPageSetup %%EndPageSetup 0 128 0 setrgbcolor 0.1 setlinewidth newpath 0 5 moveto 0 43 84 43 5 arct 84 43 84 0 5 arct 84 0 0 0 5 arct 0 0 0 43 5 arct closepath gsave stroke grestore fill %%PageTrailer %%Trailer %%EOF ]]> </fo:instream-foreign-object>

CDATAセクションは、必ずしも設ける必要はありませんが、そのときは適切な文字参照などを行ってください。

EPSはさまざまなソフトウェアで作成できますので、AH Formatter V6.6 で正しく読めない可能性もあります。

content-type は "application/postscript" です。

SVG

Scalable Vector Graphics (SVG) 1.1 に対応しています。 独自開発したエンジンにより描画するため、PDF、PostScript へのイメージを高い解像度で描画することが可能です。 詳細は、「SVG仕様の実装状況」を参照してください。 なお、gzip圧縮されたSVGにも対応しています。

FO中に、SVGを直接記述することが可能です。 これは、<fo:instream-foreign-object> を利用して次のように行います。

<fo:instream-foreign-object width="100mm" height="100mm" content-width="96mm" content-height="72mm" display-align="center" text-align="center"> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 360"> <circle cx="100" cy="100" r="50" fill="none" stroke="black"/> <circle cx="220" cy="100" r="35" fill="red" stroke="black"/> <circle cx="340" cy="100" r="20" fill="black" stroke="lime" stroke-width="4"/> <circle cx="100" cy="260" r="20" stroke="lime" fill="yellow" stroke-width="4"/> <circle cx="220" cy="260" r="35" stroke="none" fill="blue"/> <circle cx="340" cy="260" r="50" stroke="red" fill="none" stroke-width="10"/> </svg> </fo:instream-foreign-object>

FOでのSVGかどうかの判定は、<svg> 要素が正しいSVGの名前空間を持っているかどうかによります。正しいSVGの名前空間を持っていればSVGとみなし、そうでない場合はSVGとはみなされません。 HTML中では、<svg> タグだけでSVGと判断されます。

DOCTYPE宣言を含めるときは、次のようにCDATAセクションで囲んでください。(SVG 1.1の例)

<fo:instream-foreign-object> <![CDATA[ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 360"> ... </svg> ]]> </fo:instream-foreign-object>

代表的な content-type は "image/svg+xml" です。

MathML

Mathematical Markup Language (MathML) Version 3.0 2nd Edition に対応しています。 MathMLを独自開発したエンジンにより描画するため、PDF、SVG、PostScript へのイメージを高い解像度で描画することが可能です。 詳細は、「MathML仕様の実装状況」を参照してください。 MathMLのレンダリングに関する微調整等は、「MathMLの設定」を参照してください。

FO中に、MathMLを直接記述することが可能です。 これは、<fo:instream-foreign-object> を利用して次のように行います。

<fo:instream-foreign-object> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <mi>y</mi><mo>=</mo><mi>x</mi><mo>&#x2212;</mo><mn>1</mn> </mrow> </math> </fo:instream-foreign-object>

FOでのMathMLかどうかの判定は、<math> 要素が正しいMathMLの名前空間を持っているかどうかによります。正しいMathMLの名前空間を持っていればMathMLとみなし、そうでない場合はMathMLとはみなされません。 HTML中では、<math> タグだけでMathMLと判断されます。

DOCTYPE宣言を含めるときは、次のようにCDATAセクションで囲んでください。

<fo:instream-foreign-object> <![CDATA[ <!DOCTYPE math PUBLIC "-//W3C//DTD MathML 3.0//EN" "http://www.w3.org/Math/DTD/mathml3/mathml3.dtd"> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <mi>y</mi><mo>=</mo><mi>x</mi><mo>&minus;</mo><mn>1</mn> </mrow> </math> ]]> </fo:instream-foreign-object>

代表的な content-type は "application/mathml+xml" です。

CGM

ISO/IEC 8632:1999(JIS X 4211~4213)で定められている Computer Graphics Metafile、および WebCGM 2.1 に対応しています。 CGM画像はベクタ画像としてPDFに埋め込まれます。ラスタ化されないため画像の劣化は発生しません。 詳細は「CGM仕様の実装状況」を参照してください。 対象とするCGMファイルのエンコーディングは、ISO/IEC 8632-3:1999で定められたバイナリエンコーディングのみです。 なお、gzip圧縮されたCGMにも対応しています。

注意: CGMの独自描画機能はオプションです。「AH Formatter CGM オプション」をご購入していただく必要があります。

content-type は "image/cgm" です。

PDF

画像ではありませんが、AH Formatter V6.6 は、PDFを画像のように扱うことができます。 PDFの埋め込みを参照してください。

PDF の表示および印刷結果には以下の制約があります。また、 PostScript, SVG, XPS フォーマットへの出力時に、画像として埋め込まれているPDF にも同様の制限があります。

content-type は "application/pdf" です。

Video/Audio

ビデオやオーディオなどのマルチメディアデータをPDFへ埋め込むことができます。 マルチメディアを参照してください。