XSL Formatter V3.4 でのPDF出力について
XSL Formatterでは独自開発エンジンのPDF出力機能、もしくは「Adobe Acrobat Distiller」を使用することで、XSL Formatterの機能を十二分に発揮したPDFを作成することができます。
XSL FormatterからPDFを作成するメリット
PDFを複数に分冊して出力することができます。
アンテナハウス独自拡張機能によって、ひとつのFOから、PDFを多分冊出力することができます。分冊されたPDFにしおりを付けることも可能です。
PDFファイルへの「しおり」の埋め込みができます。
PDFには「しおり」と呼ばれる機能があります。
「しおり」は、目次を階層化した概観を持っており、項目をクリックすることにより目的の位置へジャンプすることができます。たとえば、ページ一覧や索引から、目的の項目をクリックすることによって、目的ページへのジャンプが可能になります。
XSL Formatter PDF出力機能、もしくは「Adobe Acrobat Distiller」をお使い頂ければ、「しおり」を設定したPDFを作成することができます。しおりをグループ化することもできます。
PDFファイルへの「リンク」の埋め込みができます。
PDFのリンクは、PDF文書内の特定位置へのリンクと外部へのリンクが有ります。
リンクの設定を行うことによりAcrobat Readerでは、文書内での関連項目へのジャンプ、 あるいはホームページへリンクすることができます。
XSL Formatter PDF出力機能、もしくは「Adobe Acrobat Distiller」をお使い頂ければ、「リンク」を設定したPDFを作成することができます。
また、ベースURIの指定もできます。
PDF中に、他のPDFを埋め込むことができます。
<fo:external-graphic> を用いてPDF中に、他のPDFを埋め込むことができます。
- 埋め込むページ番号の指定が可能です。
- content-width や content-height を指定して拡大縮小の指定が可能です。
なお、GUIなどではダミーの画像が表示されます。
PDFファイルの「文書情報」が設定できます。
元文書内の拡張プロパティにより、PDFの「タイトル」、「サブタイトル」、「作成者」、「キーワード」を設定することができます。
PDFファイルの「セキュリティ設定」が設定できます。
PDFファイルの「ユーザパスワード」、「マスタパスワード」の設定、および、各種アスセス権限の指定が可能です。
セキュリティ設定時の暗号化は 40-bit RC4(Acrobat3.x、4.x) を使用します。 PDF1.4以上のときは 128-bit RC4(Acrobat5.x) の高レベルの暗号を利用することができます。
「XSL Formatter PDF出力機能」によるPDFの出力
「XSL Formatter PDF出力機能」は、XSLFormatter の組版結果を PDF(Portable Document Format)ファイルとして出力するための機能です。これを使用すれば、Adobe Acrobatが無くてもPDFを作成することができます。
「XSL Formatter PDF出力機能」のメリット
- アンテナハウス独自拡張機能によって、ひとつのFOから、PDFを多分冊出力することができます。分冊されたPDFにしおりを付けることも可能です。
- XSL Formatter同様、サーバ上にてPDF化を行うことができます。 Acrobat のPDFWriter や Distiller は、サーバでの利用が制限されていますが、XSL Formatter PDF出力機能をつかえば接続数を気にすることなくサーバでPDFの作成ができます。
- 標準出力へPDFを出力するといったストリーム処理が可能です。Webサーバに応用すれば、PDFストリームを直接呼び出しクライアントのブラウザに出力することもできます。
文字出力
フォント
Adobe Type 1 フォント(Adobe標準の欧文基本14フォントを含む)、TrueTypeフォント(TrueType アウトライン形式のOpenTypeフォントを含む)および OpenType(PostScript アウトライン)をサポートします。その他の形式のフォントはサポートされません。
また、XSL Formatterでは使用するフォントが実行環境にインストールされている必要があります。フォント のインストール方法については、Windowsのヘルプ、あるいはフォントに添付される説明書などを参 照してください。
なお、フォントのインストール時には必ず「フォントフォルダにフォントをコピーする」を 指定してください。
Type1フォントに関する注意事項
Adobe Type 1 フォントはWindows2000/XP環境でのみサポートされます。 Adobe Type 1 フォント内の 14フォント (Courier, Courier-Bold, Courier-Oblique, Courier-BoldOblique, Helvetica, Helvetica-Bold, Helvetica-Oblique, Helvetica-BoldOblique, Times-Roman, Times-Bold, Times-Italic, Times-BoldItalic, Symbol, ZapfDingbats) はPDFでは欧文基本14フォントと呼ばれます。
これらの欧文基本14フォント以外の Adobe Type 1 フォントを使用する場合でも、AFM(Adobe Font Metrics)ファイルを用意する必要はありません。
Adobe Type 1 フォントのグリフ名称と 組版データの文字コード(Unicode)との対応付けはAGL(Adobe Glyph List)の定義に沿って行います。AGL に定義されていない名称を持つグリフは出力されません。
文字セット、エンコード
サポートされる文字セットは以下のものです。
- Adobe 標準ラテン文字セット
- Symbol 文字セット
- ZapfDingbats 文字セット
- 日本語文字セット(Adobe-Japan1-Supplement2)
- 簡体中国語文字セット(Adobe-GB1-Supplement2)
- 繁体中国語文字セット(Adobe-CNS1-Supplement0)
- 韓国語文字セット(Adobe-Korea1-Supplement1)
XSL Formatterの内部処理はすべて Unicode で行われます。中国語、日本語、韓国語(CJK) の文字の場合、本機能が出力するPDFは、この Unicode を、それぞれ以下のCMapを使用して、CJK各文字セット内のグリフへ割り当てています。
- 日本語 : UniJIS-UCS2-H(V)、UniJIS-UCS2-HW-H(V)
- 簡体中国語 : UniGB-UCS2-H(V)
- 繁体中国語 : UniCNS-UCS2-H(V)
- 韓国語文字 : UniKS-UCS2-H(V)
上記の文字セットに属さない文字はフォントからグリフのアウトラインを取得して、PDF内にフォント埋め込みを行います(この処理はTrueTypeフォントに対してのみ行われます)。
フォント埋め込み
PDFにフォントを埋め込むことで、フォントが存在しない環境でも表示可能なPDFファイルを作成することができます。本機能では、TrueTypeフォント、Adobe Type 1 フォントで、この機能を使用することができます(.TTFの拡張子を持つ OpenTypeフォントを含みます)。
TrueTypeフォントの場合、デフォルトの設定では、フォントが対応する文字セットに定義のない文字のみ、フォントの埋め込みを行ないます。フォントベンダーによって埋め込みが禁止されているフォントであった場合、エラーを返して終了します。これをエラーとせず、空白文字に置き換えてPDF出力を行なうこともできます。
なお、埋め込みを行なうフォントとして指定された場合、指定されたフォント内の文字は文字セットに含まれている文字か否かによらず、埋め込まれます。
Adobe Type 1フォントの場合、デフォルトの設定では、フォント固有のエンコーディング(font specific encoding) を持つフォントのみ、埋め込みを行ないます。
TrueTypeの場合と同様に、埋め込みを行なうフォントとして指定されたフォントは、標準のエンコーディング(standard encoding)を持つフォントも埋め込まれます。
埋め込みが許可されていないフォントを外部フォントとして出力する方法はサポートしておりません。
タイ語出力
下記のTrueTypeフォントを使用したタイ語出力をサポートします。
- Microsoft Sans Serif
- Tahoma
- Arial Unicode MS (ver0.86 以降)
- Angsana New
- Angsana UPC
- Browallia New
- Browallia UPC
- Cordia New
- Cordia UPC
- Dillenia UPC
- Eucrosia UPC
- Freesia UPC
- Iris UPC
- Jasmine UPC
- Kodchiang UPC
- Lily UPC
上記の 4 以降のフォントは、Windows2000 では、コントロールパネル「地域のオプション」のシステムの言語設定で、タイ語をチェックした場合に追加されるフォントです。 Windows XP では、コントロールパネルの「地域と言語のオプション」の言語タブ内で「複合文字や右から左方向に書く各言語(タイ語を含む)のファイルをインストールする」をチェックした場合に追加されます。
1、3 のフォントは Regular書体のみ、2 のフォントは Regularおよび Bold書体、その他はRegular、Bold、Italic、BoldItalic 書体に対応します。
タイ文字の処理時、出力文字をチェックし、グリフに置換が必要な文字の並びを検出した場合に、グリフの置換を行います。
アラビア語出力
下記のTrueTypeフォントを使用したアラビア語出力をサポートします。
- Arial
- Courier New
- Microsoft Sans Serif
- Tahoma
- Times New Roman
- Arial Unicode MS
Windows2000 のコントロールパネル「地域のオプション」のシステムの言語設定で、「アラビア語」をチェックした場合に追加されるフォント、および、WindowsXPで、コントロールパネルの「地域と言語のオプション」の言語タブ内で「複合文字や右から左方向に書く各言語(タイ語を含む)のファイルをインストールする」をチェックした場合に追加されるアラビア語フォントには対応しておりません。
3、6 のフォントは Regular書体のみ、その他は、Regularおよび Bold書体に対応します。
アラビア文字の処理時、上記のフォント内に定義されている OpenType feature を使用して、アラビア文字の語頭形、語中形、語尾形、独立形へのシェイピングを行います。また、リガチャ、マーク等のグリフ置換が定義されている場合、それに応じて、処理を行います。
対応している feature は 'init'、'medi'、'fina'、'isol'、'liga'、'mset' の各 feature です。
また、Kashida による伸張処理も行います。このとき、Kashida 量の制限を、拡張プロパティ axf:text-kashida-space で行うことができます。
ヘブライ語出力
下記のTrueTypeフォントを使用したヘブライ語出力をサポートします。
- Arial
- Courier New
- Lucida Sans Unicode
- Microsoft Sans Serif
- Tahoma
- Times New Roman
- Arial Unicode MS
- Aharoni
- David
- David Transparent
- FrankRuehl
- Levenim MT
- Miriam
- Miriam Fixed
- Fixed Miriam Transparent
- Miriam Transparent
- Narkisim
- Rod
- Rod Transparent
上記の 8 以降のフォントは Windows2000 のコントロールパネル「地域のオプション」のシステムの言語設定で、「ヘブライ語」をチェックした場合に追加されるフォントです。WindowsXPでは、コントロールパネルの「地域と言語のオプション」の言語タブ内で「複合文字や右から左方向に書く各言語(タイ語を含む)のファイルをインストールする」をチェックした場合に追加されます。
3、4、7、10、11、13、14、15、16、17、18、19 のフォントは Regular書体のみ、8のフォントはBold書体のみ、5、9、12 のフォントは Regularおよび Bold書体、その他は Regular、Bold、Italic、BoldItalic 書体に対応します。
ヘブライ文字の処理時、出力文字をチェックし、Unicode仕様の Hebrew Presentation Forms に定義されている文字への変換が必要な文字列を検出した場合に、それへの置換を行います。
制限事項
- タイ語フォントは、PDFへ常に埋め込まれます。
- OpenTypeフォントには Glyph Substitution 等の Advanced Typograhic Extensions と呼ばれる機能があります。XSL Formatter V3.3 では縦書き文字時の Glyph Substitution('vert')、および、前述のアラビア文字用の 'init'、'medi'、'fina'、'isol'、'liga'、'mset'に対応しております。このほかの feature を使用したフォントは、正しく処理されない場合があります。
- アラビア語、ヘブライ語内の母音の位置がずれる場合があります。
イメージ出力
サポートしているグラフィックイメージについては、「グラフィックス・サポート」を参照してください。
ベクタイメージ
次のベクタイメージは、PDF命令に置き換えられてベクタイメージのまま直接PDFに出力されます。そのため、画質の劣化はありません。
- SVG
- MathML
- EMF
- WMF
これら以外のベクタイメージは、ラスタイメージに変換されてPDFに出力されます。このときに生成するラスタイメージの解像度を変換結果のPDF内でのdpi値で指定することができます。
ただし、ラスタイメージへの変換は Windows版のみ対応しています。Windows版以外では直接 PDFに出力できないベクタイメージは無視されます。
注意: | MathMLは、XSL Formatter MathML オプション がインストールされていない場合はラスタイメージに変換されます。この場合、MathML Pluginが必要になります。 |
---|
ラスタイメージ
一般に、ラスタイメージデータは何らかの方法で圧縮されています。もし、その圧縮(非圧縮)方法がPDFファイルに適合するならば、そのラスタイメージはそのままPDFに埋め込まれます。
そうでない場合は、まず、そのラスタイメージを非圧縮化して、PDFと互換性のあるビットマップ形式に変換します (非圧縮化できないラスタイメージは扱うことができません)。そして、そのビットマップ形式を JPEGまたはZLIB圧縮(BitMap形式のFlate圧縮)してからPDFに埋め込みます。ラスタイメージが直接PDFに埋め込まれた場合、これらの属性は適用されません。
PDFに直接埋め込むことのできるラスタイメージは以下のとおりです。
- JPEG
- PNG
- GIF
- TIFF
- JPEG2000
ただし、次のような制約があります。
- Progressive JPEG、Interlaced GIF は通常の JPEG、GIF に変換されます。
- PNG、TIFFで、16ビットカラーは8ビットカラーに切り詰められます。
- PNG、TIFFで、αチャネルが付いている場合は分離されます。
- TIFFでは対応していない形式があります。
- JPEG2000は、PDF1.5以上のときのみPDFへ埋め込まれます。それ以外ではJPEGなどに変換されてから埋め込まれます。
ダウンサンプリング
XSL Formatter では、PDFに埋め込まれるラスタ画像のダウンサンプリングを行うことができます。