グラフィクス

外部ファイルとして存在するグラフィクスは、いずれも <fo:external-graphic> の src プロパティや、<fo:simple-page-master> の axf:background-image プロパティに指定することができます。 AH Formatter V6.4 は、画像の種類を自動的に判定します。 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スキームでは、パラメータの区切りがセミコロン ; で、データの区切りがカンマ , です。注意してください。

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

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

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

AH Formatter V6.4 が読み込みをサポートしているグラフィクスは以下のとおりです。 特に明記されていない場合は、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" です。

JPEG2000

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

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リファレンス」にある資料などを参照してください。

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.4 で正しく読めない可能性もあります。

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セクションで囲んでください。(SVG1.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(JIS X 4211~4213)で定められている Computer Graphics Metafile、および WebCGM 2.1 に対応しています。 CGM画像はベクタ画像としてPDFに埋め込まれます。ラスタ化されないため画像の劣化は発生しません。 詳細は「CGM仕様の実装状況」をご覧ください。 対象とするCGMファイルのエンコーディングは、ISO8632-3で定められたバイナリエンコーディングのみです。

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

なお、gzip圧縮されたCGMにも対応しています。 content-type は "image/cgm" です。

PDF

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

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

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

Video/Audio

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