XSL FormatterXSL FormatterでのPDF出力について

XSL Formatterでは「XSL Formatter PDF出力オプション」、もしくは「Adobe Acrobat Distiller」を使用することで、XSL Formatterの機能を十二分に発揮したPDFを作成することができます。

XSL FormatterからPDFを作成するメリット

PDFファイルへの「しおり」の埋め込みができます。

PDFには「しおり」と呼ばれる機能があります。 「しおり」は、目次を階層化した概観を持っており、項目をクリックすることにより目的の位置へジャンプすることができます。たとえば、ページ一覧や索引から、目的の項目をクリックすることによって、目的ページへのジャンプが可能になります。
「XSL Formatter PDF出力オプション」、もしくは「Adobe Acrobat Distiller」をお使い頂ければ、「しおり」を設定したPDFを作成することができます。しおりをグループ化することもできます。

PDFファイルへの「リンク」の埋め込みができます。

PDFのリンクは、PDF文書内の特定位置へのリンクと外部へのリンクが有ります。 リンクの設定を行うことによりAcrobat Readerでは、文書内での関連項目へのジャンプ、 あるいはホームページへリンクすることができます。
「XSL Formatter PDF出力オプション」、もしくは「Adobe Acrobat Distiller」をお使い頂ければ、「リンク」を設定したPDFを作成することができます。
また、ベースURIの指定もできます。

PDFファイルへの「文書情報」(タイトル、サブタイトル、作成者、キーワード)の埋め込みが出来ます。

XSL-FOに、AntennaHouse XS独自拡張機能プロパティを使用して、タイトル、サブタイトル、作成者、キーワードを指定しておくことにより、この情報をPDFの文書情報に埋め込むことが出来ます。

「XSL Formatter PDF出力オプション」によるPDFの出力

「XSL Formatter PDF出力オプション」は、XSLFormatter の組版結果を PDF(Portable Document Format)ファイルとして出力するためのオプションです。
これを使用すれば、Adobe Acrobatが無くてもPDFを作成することができます。

「XSL Formatter V2.5 PDF出力オプション」バージョンアップでの改良点

「XSL Formatter V2.5 PDF出力オプション」の改良点/修正点は こちら をご覧ください。

「XSL Formatter PDF出力オプション」の主な仕様

「XSL Formatter PDF出力オプション」の主な仕様はこちらをご覧ください。

「XSL Formatter PDF出力オプション」のメリット

XSL Formatter同様、サーバ上にてPDF化を行うことができます。AcrobatのPDFWriterやDistillerは、サーバでの利用が制限されていますが、PDFオプションがあれば、接続数を気にすることなくサーバでPDFの作成ができます。サーバでも勿論ご使用頂けます。
さらに、作成したPDFストリームを直接呼び出しクライアントのブラウザに出力することも可能です。(ただし、IIS+ASPの環境に限ります)

XSL FormatterからPDF出力オプションを使用してPDFを作成するためには

お使いのPCに「XSL Formatter」をインストールした後、「XSL Formatter PDF出力オプション」をインストールしていただくだけです。Acrobatがインストールされている必要はありません。
(ただし、出力されたPDFファイルを確認するためには、Adobe Acrobat Reader等が必要になります)
動作環境は、XSL Formatter 本体の動作環境に準じます。

XSL Formatter GUIからPDF出力オプションを使用してPDFを作成する

スタンドアロンPC上でXSL FormatterのGUIを起動して対話的にXMLファイルを組版して、組版結果をPDF化する場合を説明します。

  1. XSL Formatterを起動して、ドキュメント(と、必要な場合はスタイルシート)を選択して、組版を行います。
  2. メニューバーの「ファイル」から「PDF出力」を選択します。
    (PDF出力オプションがインストールされていない場合や、組版が完了していない場合は選択不可になっています)
  3. 「PDF出力」ダイアログが表示されますので、出力ファイル名や印刷範囲(出力範囲)の選択を行ってください。
  4. 「OK」をクリックすれば完了です。

XSL Formatter COMインターフェイスからPDF出力オプションを使用してPDFを作成する

XSL Formatterをサーバで運用される場合で、PDF出力オプションにてPDF化を行う場合は、 COMインターフェイスを使用することになります。 COM DLLファイル名は「AXFOSVR.DLL」、オブジェクト名は「AXFOSVR.XFOObj」です。 (この情報はXSL Formatterのインストール時にシステムに登録されます)

次にVBscriptのサンプルを記述します。
たとえば「C:\temp\sample.xml」と「D:\stile\stilesheet.xsl」から「E:\result.pdf」を作成したい場合は、次のように記述します。

dim objAXFset
objAXF=CreateObject("AXFOSVR.XFOObj")

objAXF.Source="C:\temp\sample.xml"
objAXF.Stylesheet="D:\stile\stilesheet.xsl"

objAXF.OutputFile="E:\result.pdf"
objAXF.PrinterName="@PDF"

objAXF.Execute()

if Err.Number then MsgBox("Format Failed!", mbOKOnly)
if objAXF.ErrorCode then MsgBox("Format Failed!" mbOKOnly) )

set objAXF=nothing

PrinterNameプロパティに"@PDF"を設定すれば、PDF出力オプションを使用して、OutputFileプロパティに指定したPDFファイルを作成します。

注意

  • 出力ファイル(OutputFileプロパティ)に'http://hogehoge/foo.pdf'や'file://c:/temp/test'などの URL 形式のファイルパス指定はサポートしておりません。URL 形式ではないファイルパスを指定してください。

次にASPのサンプルを記述します。この例ではDOM(Document Object Model)にてXSL Formatterにドキュメントを引き渡し、その結果をASP呼び出し側のブラウザにPDFストリームとして引き渡す方法を記述します。
たとえば「C:\temp\sample.xml」と「D:\stile\stilesheet.xsl」をMSXSLに引き渡しDOMを取得してXSL Formatterに引き渡します。この結果をブラウザに送信します。

<%
dim objXML
set objXML = CreateObject("MSXML2.DOMDocument.3.0")
objXML.async = False
domXML.load "C:\temp\sample.xml"

dim objXSL
set objXSL = CreateObject("MSXML2.DOMDocument.3.0")
objXSL.async = False
domXSL.load "D:\stile\stilesheet.xsl"

dim objFO
set objFO = CreateObject("MSXML2.DOMDocument.3.0")
objFO.async = False

' XML + XSL => FO
objXML.transformNodeToObject objXSL, objFO

dim objAXF
Set objAXF = Server.CreateObject("AXFOSVR.XFOObj")

objAXF.Clear()

' MSXML -> XSL Formatter
objAXF.foXMLDOM = objFO

objAXF.PrinterName= "@PDF"
objAXF.OutputFile= ""

objAXF.ExtLevel=1

objAXF.Execute()
%>

<%=objAXF.ErrorCode%>

<%
set objAXF=nothing
%>

「Adobe Acrobat Distiller」によるPDFの出力

「Adobe Acrobat Distiller」のメリット

Distillerを使えば ベクトル画像をベクトル画像のまま、PDFに入れる事が可能です。
EPSのPS部分をベクター画像としてPDFに埋め込むことができます。EPSに「プレビューイメージ」が無くても問題有りません。

XSL FormatterからAdobe Acrobat Distillerを使用してPDFを作成するためには

XSL Formatter GUIからAdobe Acrobat Distillerを使用してPDFを作成する

スタンドアロンPC上でXSL FormatterのGUIを起動して対話的にXMLファイルを組版して、組版結果をPDF化する場合を説明します。

  1. 前処理として、ご使用される環境にAdobe Acrobat Distillerがインストールされているかご確認ください。プリンタに「Adobe Acrobat Distiller」というプリンタのアイコンが表示されていればインストールされています。
  2. XSL Formatterを起動して、ドキュメント(と、必要な場合はスタイルシート)を選択して、組版を行います。
  3. メニューバーの「ファイル」から「印刷」を選択します。
  4. 「印刷」ダイアログが表示されますので、プリンタ名から「Adobe Acrobat Distiller」選択してください。
  5. 「OK」をクリックすれば「PDFファイルの保存」ダイヤログが表示されますので、保存したいフォルダを選択して、「OK」を押せば完了です。

「しおり」と「リンク」について

PDFファイルへの「しおり」を埋め込むためには

PDFには「しおり」と呼ばれる機能があります. 「しおり」は、目次を階層化した概観を持っており、項目をクリックすることにより目的の位置へジャンプすることができます. たとえば、ページ一覧や索引から、目的の項目をクリックすることによって、目的ページへのジャンプが可能になります。

XSL Formatterでは、「しおり」機能を実現させる為に次のプロパティを用意いたしました。 このプロパティを作成したいオブジェクトに付加して、PDF出力オプションでPDFを作成すれば、自動的にしおりを作成することができます。

「axf:outline-level」
「しおり」の項目の階層レベルを示します。
「axf:outline-title」
「しおり」のタイトルとして表示される文字列です。
「axf:outline-expand」
「しおり」の表示時に下位の階層を表示するか否か指定します。下位項目を展開して表示するか、たたみ込み表示するかを指定できます。

詳しい設定方法はXSL Formatter本体のオンラインマニュアルを参照してください。

PDFファイルへの「リンク」を埋め込むためには

PDFのリンクは、PDF文書内の特定位置へのリンクと外部へのリンクに分類されます。 PDF出力オプションはこのどちらにも対応しています。

「fo:basic-link internal-destination」
文書内へのリンクを表します。
「external-destination」
外部へのリンクを表します。

次に例を示します. [文書内へのリンク]

<fo:block>
解答は<fo:basic-link internal-destination="appendix-a">付録A</fo:basic-link>にあります.
</fo:block>
...
<fo:block id="appendix-a">
付録A
</fo:block>

[文書外へのリンク]

<fo:block>
ここが<fo:basic-link external-destination="http://www.w3.org/">W3Cのホームページ</fo:basic-link>です.
</fo:block>

詳しい設定方法はXSL Formatter本体のオンラインマニュアルを参照してください。


戻る

Copyright © 1996-2005 Antenna House, Inc. All rights reserved.