.NETインターフェイス

.NETインターフェイスを使えば、Visual Basic.NET、Visual C#.NET などで作成された .NETアプリケーションから AH Formatter V7.2 の機能を利用することができます。

.NETインターフェイスは、Microsoft .NET Framework および .NET Core の以下の環境にて動作します。

  • Microsoft .NET Framework 4.5.2
  • Microsoft .NET Framework 4.6.x
  • Microsoft .NET Framework 4.7.x
  • Microsoft .NET Framework 4.8
  • .NET Core 3.1 V7.2

コンポーネントの登録

AH Formatter .NETコンポーネントはグローバルアセンブリキャッシュへ自動的には登録されません。使用するにはアプリケーションのカレントフォルダに配置するか、もしくはアプリケーション構成ファイルを作成するなど、なんらかの方法でパスを解決する必要があります。

.NETインターフェイスを実行するにはWindows版では [Install directory]、非Windowsの環境では [Install directory]/​lib を実行時の共有ライブラリの検索パスに含む必要があります。Windows版ではインストール時に環境変数 PATH に上記パスが追加されるので追加の設定は必要ありません。Linux 64ビット版では環境変数 LD_LIBRARY_PATH、Macintosh 64ビット版では環境変数 DYLD_LIBRARY_PATH を設定するなど実行時の共有ライブラリの検索パスに [Install directory]/​lib を追加する必要があります。必要な環境変数については、環境変数を参照してください。

.NETコンポーネントファイル名.NET Framework 4.5.2/4.6.x/4.7.x/4.8 用
(Windows版のみに含まれます)
XfoDotNet40Ctl72.dll
.NET Core 3.1 用 XfoDotNetCore31Ctl72.dll

.NET Framework を使用する場合に必要な再頒布可能パッケージは「動作環境」でご確認ください。

クラス

.NET コンポーネントには以下のクラスが含まれます。

名前機能
XfoObjAH Formatter V7.2 本体のクラスです。このクラスは IDisposableインターフェイスを実装しています。XfoObjクラスオブジェクトの使用を終了するときはリソースを解放するためにDisposeメソッドを呼ぶようにしてください。

以下はC#の例です。

XfoDotNetCtl.XfoObj obj = new XfoDotNetCtl.XfoObj();
try {
  // 何かの処理
} finally {
  obj.Dispose();
}
XfoExceptionAH Formatter V7.2 の例外クラスです。XfoObjクラスのExecuteメソッドがスローします。

プロパティ

XfoExceptionクラスのプロパティには以下のものがあります。

名前入出力機能
ErrorLevelInt32R 組版でエラーが発生した場合のエラーレベルを示します。
1.情報
2.警告エラー
3.回復可能エラー
4.致命的エラー
ErrorCodeInt32R組版で例外エラーが発生した場合のエラーコードを示します。正常終了した場合はゼロです。ゼロ以外は、何らかのエラーが起こったことを示します。
MessageStringR 組版で例外エラーが発生した場合にエラーメッセージが格納されます。メッセージは英文です。

XfoObjクラスのプロパティには以下のものがあります。

名前入出力機能
VersionStringR AH Formatter V7.2 のバージョン文字列を取得します。
DocumentURIStringR/W 組版対象のXML/FO/HTMLドキュメントの URIを指定します。
  • 省略された場合、あるいは "@STDIN" の場合は、標準入力からFOドキュメントが読み込まれます。
標準入力から読み込まれるドキュメントは、常にFOと仮定されます。
StylesheetURIStringR/W 組版で使用するXSL/CSSスタイルシートのURIを指定します。 指定されているXMLドキュメントがFOの場合や、XMLファイルが <?xml-stylesheet ...?> の処理命令を含んでいてスタイルシートが指定されている場合、指定されているドキュメントがHTMLの場合などは、スタイルシートの指定は必要ありません。
スタイルシートが CSS の場合は、最後のユーザスタイルシートとなります。 これは、AddUserStylesheetURI によって追加するスタイルシートや、AddOptionFileURI によって指定されたオプション設定ファイル中の指定よりも後に適用されます。
StylesheetTitleStringR/W優先するスタイルシート処理命令 <?xml-stylesheet title="..."?> のタイトルを指定します。
FormatterTypeInt32R/W 組版種別を指定します。次の組版種別が指定できます。
0.自動判定
1.HTML
2.XHTML
3.XML+CSS
4.XSL-FO
省略時および不正な値のときは、自動判定になります。
HtmlDefaultCharsetStringR/WHTMLのデフォルトのエンコーディングを指定します。 ここでの指定は、エンコーディングが不明なHTMLに対して適用されます。
OptionFileURIStringR/W AH Formatter V7.2 のオプションを記述したXML形式のオプション設定ファイルのURIを指定します。オプション設定ファイルの内容は、直ちに評価されます。すでに設定されているプロパティと背反する設定は上書きされます。 AddOptionFileURI で追加されたURIは破棄されます。
OptionFileCountInt32R設定済みのオプション設定ファイル数を取得します。
PrinterNameStringR/W 組版結果の出力形式または出力するプリンタ名を指定します。
  • プリンタ名が指定された場合は組版結果をそのプリンタへ出力します。
  • "@STDPRN" が指定された場合は、"通常使うプリンタ" へ出力します。
  • "@PDF" が指定された場合は、組版結果を PDF へ出力します。
  • "@SVG" が指定された場合は、組版結果を SVG へ出力します。
  • "@PS" が指定された場合は、組版結果を PostScript へ出力します。
  • "@XPS" が指定された場合は、組版結果を XPS へ出力します。
  • "@DOCX" が指定された場合は、組版結果を Word(docx) へ出力します。
  • "@TEXT" が指定された場合は、組版結果をテキスト形式で出力します。
  • "@AreaTree" が指定された場合は、組版結果のエリアツリーを出力します。
省略された場合は "@PDF" が指定されたとみなされます。
プリンタ名に関しては、「プリンタ名」を参照してください。プリンタの指定(プリンタ名または @STDPRN)は、Windows版のみ対応しています。
PDF出力に関しては、「PDF出力」を参照してください。
SVG出力に関しては、「SVG出力」を参照してください。
PostScript出力に関しては、「PostScript®出力」を参照してください。
XPS出力に関しては、「XPS出力」を参照してください。
Word(docx)出力に関しては、「Word(docx)出力」を参照してください。
テキスト出力に関しては、「テキスト出力」を参照してください。
PrinterSettingURIStringR/W プリンタ設定ファイルのURIを指定します。このファイルの作成方法は「プリンタ設定ファイル」を参照してください。このプロパティはWindows版にのみ存在します。
OutputFilePathStringR/W 組版結果の出力先ファイルパスを指定します。 PrinterNameで出力形式にプリンタが指定されている場合は、印刷結果がプリンタドライバによって、指定したファイルに保存されます。 プリンタ以外の出力形式が指定されている場合は、その出力形式で、指定したファイルに保存されます。 省略された場合、あるいは"@STDOUT" が指定された場合は標準出力に出力します。
OutputFOPathStringR/W 入力ファイルがXMLドキュメントとXSLスタイルシートのとき、XSLTの結果のFOの出力ファイルを指定します。
  • 入力ファイルがFO(またはHTMLなど)のときは、出力されません。
  • "@STDOUT" の場合は、標準出力とみなされます。
省略された場合は出力されません。
ExternalXSLTStringR/W外部XSLTプロセッサのコマンドラインを指定します。省略された場合は、既定の MSXML が使用されます。例えば、
xslt %param -o %3 %1 %2
%1~%3の意味は以下のとおりです。
  • %1 : XMLファイル
  • %2 : XSLファイル
  • %3 : XSLT出力ファイル
  • %param : xsl:param
%1~%3 はパラメータ位置を表すのに使用します。実際のファイル名を指定してはなりません。xsl:param を使用する場合は、XSLTParamFormatSetXSLTParamでパラメータを指定しておく必要があります。
XSLTParamFormatStringR/W 外部XSLTプロセッサを使用する場合の xsl:param パラメータ形式を指定します。例えば
-p %p %v
%pと%v意味は以下のとおりです。
  • %p : パラメータ名
  • %v : パラメータ値
BaseURIStringR/W デフォルトのベースURIを指定します。
FormattedPagesInt32R 組版したページ数を取得します。
TwoPassFormattingBooleanR/W解決しない<fo:page-number-citation>を大量に持つ巨大な文書の組版では、ページ情報の破棄が不可能なためメモリを大量に消費します。そのため、組版できるページ数に限界が生じてしまいます。 このパラメータは、組版を2パスにすることでその問題を解決します。組版に要する時間は増えますが、消費するメモリは解決すべきページ番号情報だけとなり、ごくわずかとなります。 大規模文書の組版を参照してください。 CSS組版では無効です。
MultiVolumeBooleanR/WPDFを分冊出力するときに指定します。FO中に <axf:output-volume-info> 拡張要素が含まれていないときはエラーです。 false のとき、StartVolume/EndVolume は無効で、StartPage/EndPage が有効です。 true のとき、StartPage/EndPage は無効で、StartVolume/EndVolume が有効です。
StartVolume
EndVolume
Int32R/WMultiVolume=true のとき有効で、出力の開始分冊と終了分冊を指定します。開始分冊が省略された場合や 0以下の場合は、先頭分冊からとみなされます。終了分冊が省略された場合や実際の分冊数より大きい場合は最終分冊までとみなされます。矛盾する指定、例えば StartVolume=5 EndVolume=3 のような場合はエラーです。
TotalVolumeCountInt32R PDF分冊出力時の全分冊数を取得します。
OutputVolumeCountInt32R PDF分冊出力時の実際に出力した分冊数を取得します。
StartPage
EndPage
Int32R/W 出力の開始ページと終了ページを指定します。 開始ページが省略された場合や 0以下の場合は、先頭ページからとみなされます。 終了ページが省略された場合や 0の場合、あるいは実際のページ数より大きい場合は最終ページまでとみなされます。 矛盾する指定、例えば StartPage=5 EndPage=3 のような場合はエラーです。
ExitLevelInt32R/W組版でエラーが発生した場合の処理の中止条件を指定します。ExitLevel で指定したエラーレベル以上のエラーが発生した場合、AH Formatter V7.2 に組版を中止させます。初期値は2(警告エラー)で、2以上の場合は組版を 中止します。1~4の値を指定してください。5以上の値を指定した場合は4(致命的エラー)が指定されたとみなされます。4(致命的エラー)が発生した場合は指定したエラーレベルに関係なく処理は打ち切られます。なお、エラー表示自体は、どのレベルを指定しても表示されません。
ErrorLevelInt32R 組版でエラーが発生した場合のエラーレベルを示します。
1.情報
2.警告エラー
3.回復可能エラー
4.致命的エラー
ErrorCodeInt32R組版でエラーが発生した場合のエラーコードを示します。正常終了した場合はゼロです。ゼロ以外は、何らかのエラーが起こったことを示します。
ErrorMessageStringR組版でエラーが発生した場合のエラーメッセージ本体です。
ErrorStreamTypeInt32R/W組版中、設定したエラーレベル未満のエラーが発生した場合に標準出力、もしくは標準エラー出力へ、エラーメッセージを出力します。デフォルトではエラー情報を出力しません。
0.出力しない
1.標準出力
2.標準エラー出力
XmlDomDocumentSystem.Xml.XmlDocumentW組版対象のXMLドキュメントをSystem.Xml.XmlDocumentクラスのオブジェクトで指定します。
XmlDomStylesheetSystem.Xml.XmlDocumentW組版で使用するXSLスタイルシートをSystem.Xml.XmlDocumentクラスのオブジェクトで指定します。

プロパティ – PDF出力の設定

名前入出力機能
PdfVersionInt32R/W 作成するPDFのバージョンを指定します。バージョン番号は以下のいずれかを指定してください。
0.PDF1.3
1.PDF1.4
2.PDF1.5
3.PDF1.6
4.PDF1.7
10.PDF2.0
101.PDF/X-1a:2001
103.PDF/X-3:2002
104.PDF/X-1a:2003
105.PDF/X-2:2003
106.PDF/X-3:2003
107.PDF/X-4:2010
108.PDF/X-4p:2010
200.PDF/A-1a:2005
400.PDF/A-1b:2005
631.PDF1.4/A-2a:2011
632.PDF1.5/A-2a:2011
633.PDF1.6/A-2a:2011
634.PDF1.7/A-2a:2011
641.PDF1.4/A-2b:2011
642.PDF1.5/A-2b:2011
643.PDF1.6/A-2b:2011
644.PDF1.7/A-2b:2011
651.PDF1.4/A-2u:2011
652.PDF1.5/A-2u:2011
653.PDF1.6/A-2u:2011
654.PDF1.7/A-2u:2011
661.PDF1.4/A-3a:2012
662.PDF1.5/A-3a:2012
663.PDF1.6/A-3a:2012
664.PDF1.7/A-3a:2012
671.PDF1.4/A-3b:2012
672.PDF1.5/A-3b:2012
673.PDF1.6/A-3b:2012
674.PDF1.7/A-3b:2012
681.PDF1.4/A-3u:2012
682.PDF1.5/A-3u:2012
683.PDF1.6/A-3u:2012
684.PDF1.7/A-3u:2012
1002.PDF1.5/UA-1:2014
1003.PDF1.6/UA-1:2014
1004.PDF1.7/UA-1:2014
PdfEncryptLevelInt32R/W 作成するPDFの暗号化時のキー長を指定します。キー長は以下のいずれかを指定してください。
0.40bit RC4
1.128bit RC4
2.128bit AES
3.256bit AES
このパラメータは PdfVersion でPDF1.4以降を指定しなければ有効になりません。 128bit AES はPDF1.6以降で、256bit AES はPDF1.7以降で有効です。
PdfTagBooleanR/W タグ付きPDFを生成します。PDFのバージョンによって、タグ付きにできないときは無視されます。
PdfReversePageBooleanR/Wページを逆順に出力します。
PdfUserPasswordStringW PDFに設定するユーザパスワードを指定します。PDF1.3~1.7では32文字までの、PDF2.0以降では127文字までのASCII文字を指定してください。
PdfOwnerPasswordStringW PDFに設定するオーナパスワードを指定します。PDF1.3~1.7では32文字までの、PDF2.0以降では127文字までのASCII文字を指定してください。
PdfNoPrintingBooleanR/W 作成されるPDFを印刷不可にします。
このプロパティは、PdfOwnerPassword の指定が必要です。
PdfNoChangingBooleanR/W 作成されるPDFを変更不可にします。
このプロパティは、PdfOwnerPassword の指定が必要です。
PdfNoContentCopyingBooleanR/W 作成されるPDFの内容をコピー不可にします。
このプロパティは、PdfOwnerPassword の指定が必要です。
PdfNoAddingOrChangingCommentsBooleanR/W 作成されるPDFの注釈やフォーム追加不可にします。
このプロパティは、PdfOwnerPassword の指定が必要です。
PdfNoFillFormBooleanR/W 作成するPDFのフォームフィールドの入力と署名を不可にします。このパラメータは PdfVersion でPDF1.4以降を指定しなければ有効になりません。 このパラメータを有効にするには、他のパラメータの設定が必要な場合があります。詳しくはISO 32000-1 または ISO 32000-2を参照してください。
PdfNoAccessibilityBooleanR/W 作成するPDFのスクリーンリーダデバイスのテキストアクセスを不可にします。 このパラメータは PdfVersion でPDF1.4以降を指定しなければ有効になりません。
PdfNoAssembleDocBooleanR/W 作成するPDFのページの挿入、削除、回転を不可にします。 このパラメータは PdfVersion でPDF1.4以降を指定しなければ有効になりません。
PdfEmbedAllFontsExInt32R/W 組版結果内で使用されているフォントのうち、フォントの埋め込みが制限されていないフォントをすべて PDF に埋め込むか否かを次のいずれかで指定します。
0.指定されたフォントのみ
1.欧文基本14フォントを除くすべてのフォント
2.欧文基本14フォントを含むすべてのフォント
PdfEmbedFontsStringR/W 作成するPDFに指定したフォントを埋め込みます。フォントを複数指定する場合はカンマ区切りで指定します。
PdfEmbedSubsetFontPercentageInt32R/W作成するPDFに指定したフォントを埋め込むとき、指定した値(パーセンテージ)以上の使用率のときフォントすべてを埋め込み、値未満のとき使用している文字のみの部分的な埋め込みを行います。 指定しなかったときは100とみなされるので、常に部分的な埋め込みが行われます。
PdfErrorOnEmbedFaultBooleanR/W trueを指定するとフォント埋め込みに失敗したときにエラーを発行するようになります。
PdfErrorOnMissingGlyphBooleanR/W trueを指定するとフォントにグリフがなかったときにエラーを発行するようになります。
PdfPrintingAllowedInt32R/W 作成するPDFの印刷を許可するかどうかを以下のいずれかで指定します。このパラメータは PdfVersion でPDF1.4以降を指定しなければ有効になりません。
0.許可しない
1.低解像度の印刷のみ許可
2.高解像度の印刷を許可
PdfImageCompressionInt32R/W PDFに直接格納できないカラー画像形式のとき、その画像はPDFと互換性のあるビットマップ形式に変換されてから格納されます。そのとき、PDFファイル内に格納するデータの圧縮方法を次のいずれかで指定します。
0.JPEGまたはZLIB圧縮
1.JPEG圧縮
2.ZLIB圧縮
3.JPEG 2000圧縮(PdfVersion が PDF1.5以降のときのみ有効)
4.LZWまたはJPEGまたはZLIB圧縮
5.JPEG 2000またはJPEGまたはZLIB圧縮(PdfVersion が PDF1.5以降のときのみ有効)
6.LZWまたはJPEG 2000またはJPEGまたはZLIB圧縮圧縮(PdfVersion が PDF1.5以降のときのみ有効)
自動 が指定された場合、PdfJPEGQualityPdfRasterizeResolution の指定に従ってイメージデータを作成し、JPEG、ZLIB 圧縮のサイズの小さい方を選択します。 この設定は、カラー画像に対するものです。グレイスケール画像に対しては PdfGrayscaleImageCompression、白黒画像に対しては PdfMonochromeImageCompression を指定してください。
PdfJPEGQualityInt32R/W PDFに直接格納できないカラー画像形式のとき、PdfImageCompression に JPEG圧縮 が指定されたときの画質を 1~100 の範囲の数値で指定します。数字が大きいほど画質はよくなりますが、ファイルサイズは大きくなります。 この設定は、カラー画像に対するものです。グレイスケール画像に対しては PdfGrayscaleJPEGQuality を指定してください。
PdfPutImageColorProfileBooleanR/W PDFに埋め込むカラー画像中のICCプロファイルをPDFに埋め込むかどうかを指定します。
PdfImageDownSamplingInt32R/W PDFに格納するラスタのカラー画像のダウンサンプリングの方法を指定します。
0.ダウンサンプリングしない
1.バイリニア法
2.バイキュービック法
3.ニアレストネイバー法
ダウンサンプリングしない 以外が指定されたときは PdfImageDownSamplingDPI で指定された解像度以上の画像を PdfImageDownSamplingTarget で指定された解像度にダウンサンプリングします。 この設定は、カラー画像に対するものです。グレイスケール画像に対しては PdfGrayscaleImageDownSampling、白黒画像に対しては PdfMonochromeImageDownSampling を指定してください。
PdfImageDownSamplingTargetInt32R/W ラスタのカラー画像をダウンサンプリングするときの解像度を指定します。
PdfImageDownSamplingDPIInt32R/W ダウンサンプリングを行うラスタのカラー画像の解像度を指定します。
PdfGrayscaleImageCompressionInt32R/W PDFに直接格納できないグレイスケール画像形式のとき、その画像はPDFと互換性のあるビットマップ形式に変換されてから格納されます。そのとき、PDFファイル内に格納するデータの圧縮方法を次のいずれかで指定します。
0.JPEGまたはZLIB圧縮
1.JPEG圧縮
2.ZLIB圧縮
3.JPEG 2000圧縮(PdfVersion が PDF1.5以降のときのみ有効)
4.LZWまたはJPEGまたはZLIB圧縮
5.JPEG 2000またはJPEGまたはZLIB圧縮(PdfVersion が PDF1.5以降のときのみ有効)
6.LZWまたはJPEG 2000またはJPEGまたはZLIB圧縮圧縮(PdfVersion が PDF1.5以降のときのみ有効)
自動 が指定された場合、PdfGrayscaleJPEGQualityPdfRasterizeResolution の指定に従ってイメージデータを作成し、JPEG、ZLIB 圧縮のサイズの小さい方を選択します。 この設定は、グレイスケール画像に対するものです。カラー画像に対しては PdfImageCompression、白黒画像に対しては PdfMonochromeImageCompression を指定してください。
PdfGrayscaleJPEGQualityInt32R/W PDFに直接格納できないグレイスケール画像形式のとき、PdfGrayscaleImageCompression に JPEG圧縮 が指定されたときの画質を 1~100 の範囲の数値で指定します。数字が大きいほど画質はよくなりますが、ファイルサイズは大きくなります。 この設定は、グレイスケール画像に対するものです。カラー画像に対しては PdfJPEGQuality を指定してください。
PdfGrayscaleImageDownSamplingInt32R/W PDFに格納するラスタのグレイスケール画像のダウンサンプリングの方法を指定します。
0.ダウンサンプリングしない
1.バイリニア法
2.バイキュービック法
3.ニアレストネイバー法
ダウンサンプリングしない 以外が指定されたときは PdfGrayscaleImageDownSamplingDPI で指定された解像度以上の画像を PdfGrayscaleImageDownSamplingTarget で指定された解像度にダウンサンプリングします。 この設定は、グレイスケール画像に対するものです。カラー画像に対しては PdfImageDownSampling、白黒画像に対しては PdfMonochromeImageDownSampling を指定してください。
PdfGrayscaleImageDownSamplingTargetInt32R/W ラスタのグレイスケール画像をダウンサンプリングするときの解像度を指定します。
PdfGrayscaleImageDownSamplingDPIInt32R/W ダウンサンプリングを行うラスタのグレイスケール画像の解像度を指定します。
PdfMonochromeImageCompressionInt32R/W PDFに直接格納できない白黒画像形式のとき、その画像はPDFと互換性のあるビットマップ形式に変換されてから格納されます。そのとき、PDFファイル内に格納するデータの圧縮方法を次のいずれかで指定します。
0.CCITT Group4
1.CCITT Group3
2.Run Length圧縮
3.ZLIB圧縮
4.なし
この設定は、白黒画像に対するものです。グレイスケール画像に対しては PdfGrayscaleImageCompression、カラー画像に対しては PdfImageCompression を指定してください。
PdfMonochromeImageDownSamplingInt32R/W PDFに格納するラスタの白黒画像のダウンサンプリングの方法を指定します。
0.ダウンサンプリングしない
1.バイリニア法
2.バイキュービック法
3.ニアレストネイバー法
ダウンサンプリングしない 以外が指定されたときは PdfMonochromeImageDownSamplingDPI で指定された解像度以上の画像を PdfMonochromeImageDownSamplingTarget で指定された解像度にダウンサンプリングします。 この設定は、白黒画像に対するものです。グレイスケール画像に対しては PdfGrayscaleImageDownSampling、カラー画像に対しては PdfImageDownSampling を指定してください。
PdfMonochromeImageDownSamplingTargetInt32R/W ラスタの白黒画像をダウンサンプリングするときの解像度を指定します。
PdfMonochromeImageDownSamplingDPIInt32R/W ダウンサンプリングを行うラスタの白黒画像の解像度を指定します。
PdfLinearizeBooleanR/W リニアライズPDFを出力するかどうかを設定します。
PdfCompressContentStreamBooleanR/W 作成するPDF中のテキストとラインアートを圧縮してPDFのサイズを小さくするかどうかを指定します。
PdfUseLaunchForRelativeURIBooleanR/W ローカルファイルで指定された外部へのリンクをPDFのリンクプロパティにどのように変換するかを指定します。trueを指定すると"ファイルから開く"に変換され、falseを指定すると"World Wide Web リンク"に変換されます。
PdfRGBConversionInt32R/W 作成するPDFのRGBカラースペース(DeviceRGB)をDeviceGrayに変換する方法を以下のいずれかで指定します。
0.変換しない
1.黒をデバイスグレイ
2.グレイをデバイスグレイ
3.すべてデバイスグレイ
4.すべてCMYKに
PdfRasterizeResolutionInt32R/W ベクタイメージがラスタイメージに変換されてPDFに格納されるときのラスタイメージの解像度を70~500(dpi)の値で指定します。SVG、EMF、WMFはラスタイメージに変換されることなくPDF内に描画されます。このプロパティはWindows版にのみ存在します。
PdfImport3DAnnotationBooleanR/W3Dオブジェクトのインポートを有効にします。
PdfOutputScaleStringW 出力PDFの拡大縮小率を指定します。長さには単位付きの値または%値が指定できます。
PdfOutputHeightStringR/W 出力PDFの高さを拡大縮小します。長さには単位付きの値または%値が指定できます。
PdfOutputWidthStringR/W 出力PDFの幅を拡大縮小します。長さには単位付きの値または%値が指定できます。
PdfErrorOnPDFXFaultBooleanR/W PDF/XまたはPDF/A、PDF/UA出力のときエラーがあっても、処理を中止しないようにします。

プロパティ – SVG出力の設定

名前入出力機能
SvgVersionInt32R/W 作成するSVGのバージョンを指定します。バージョン番号は以下のいずれかを指定してください。
0.SVG 1.1
1.SVG Basic
2.SVG Tiny
SvgImageProcessingTypeInt32R/W 作成するSVGに含まれる画像の処理方法を以下のいずれかで指定します。
0.すべての画像をSVGに埋め込みます。
1.すべての画像を SvgImageCopyPath で指定された複写先に複写してリンクします。
2.リンクされている画像はリンクし、埋め込まれている画像は埋め込みます。 ただし、JPEG、PNG以外の画像は常に埋め込まれます。
3.リンクされている画像を SvgImageCopyPath で指定された複写先に複写してリンクします。埋め込まれている画像は埋め込みます。
このパラメータを省略したときは 0 が指定されたものとみなし、すべての画像を埋め込みます。
SvgImageCopyPathStringR/W SvgImageProcessingType に 1 や 3 を指定したときの複写先を指定します。
SvgGzipCompressionBooleanR/W 出力するSVGをgzip圧縮するかどうかを指定します。
SvgSingleFileBooleanR/W 組版結果が複数ページに渡るとき、それらを複数のSVGに分割して出力するか、ひとつのSVGとして出力するかを指定します。 trueのときひとつのSVGを出力し、falseのとき複数のSVGを出力します。複数のSVGを出力するときは、ファイル名が SvgFormat の指定によって修飾されます。ファイルへの出力のときのみ有効です。ストリームなどファイル名を持たない出力では無効です。
SvgImageRenameBooleanR/W 画像を SvgImageCopyPath などで指定したディレクトリに複写して処理するとき、そのファイル名をすべて SvgImagePrefix で指定したプレフィクスで命名し直すか、元のファイル名を利用するかを指定します。ファイル名が重複するときは、連番が補われます。true を指定すると、すべて命名し直します。
SvgImagePrefixStringR/W 画像を SvgImageCopyPath で指定したディレクトリに複写して処理するとき、そのファイル名のプレフィクスを指定します。ファイル名は、プレフィクス+連番 となります。既定値は空文字列で、そのときは連番のみとなります。
SvgSinglePageNumberBooleanR/W SvgSingleFile=false のとき、出力されるSVGが1ページしかないときに連番を付けるかどうかを指定します。falseなら付けません。
SvgFormatStringR/W 元文書が複数ページで SvgSingleFilefalse を指定しているときに複数のSVGファイルがファイル名末尾に連番を付けて出力されますが、連番のフォーマットを変更できます。 例えば、出力ファイル名に document.svg が与えられているとき、SvgFormat に "-01" を与えたならば、document-01.svgdocument-02.svg、… となります。 このパラメータが省略されたときは "1" が指定されたものとみなされます。
SvgImageConversionInt32R/W 作成するSVGに格納する画像の変換方法を以下から選択します。
0.自動
1.JPEG変換
2.PNG変換
SvgJPEGQualityInt32R/W SVGに直接格納できない画像形式のとき、SvgImageConversion に JPEG変換 が指定されたときの画質を 1~100 の範囲の数値で指定します。数字が大きいほど画質はよくなりますが、ファイルサイズは大きくなります。初期値は 80 です。
SvgRasterizeResolutionInt32R/W 一部のベクタイメージがラスタイメージに変換されてSVGに格納されるときのラスタイメージの解像度を70~500(dpi)の値で指定します。SVG、EMF、WMFはラスタイメージに変換されることなくSVG内に描画されます。このプロパティはWindows版にのみ存在します。
SvgSingleFileMaxHeightInt32R/W SvgSingleFile=true のとき、複数ページを単一ページに割り付けたときの高さの最大値を指定します。値には単位を付けなければなりません。 SvgSingleFileMaxPagesSvgSingleFileMaxHeightのどちらかまたは両方を指定した場合は、最大サイズ(SvgSingleFileMaxHeight)または最大ページ数(SvgSingleFileMaxPages)のどちらかを超えたときエラーとして処理を中止します。 このパラメータが省略されたときは高さを制限しません。
SvgSingleFileMaxPagesInt32R/W SvgSingleFile=trueを指定したとき出力する最大ページ数を指定します。このメソッドが省略されたときは "5000" が指定されたものとみなします。 SvgSingleFileMaxPagesSvgSingleFileMaxHeightのどちらかまたは両方を指定した場合は、最大サイズ(SvgSingleFileMaxHeight)または最大ページ数(SvgSingleFileMaxPages)のどちらかを超えたときエラーとして処理を中止します。
SvgImageDownsamplingDPIInt32R/W イメージを埋め込むときのダウンサンプリングの解像度を1以上の整数で指定します。もとのイメージの解像度が指定より低い場合はそのままの解像度で埋め込みます。
SvgImageDownsamplingMethodInt32R/W ダウンサンプリング時の圧縮法を指定します。このパラメータが省略されたときは "IMGDOWNSAMPLING_AVERAGE" が指定されたものとみなします。
1.バイリニア法
2.バイキュービック法
3.ニアレストネイバー法

プロパティ – 印刷設定

名前入出力機能
PrnCopiesInt32R/W プリンタに出力のとき有効で、印刷する部数を指定します。 指定されなかった場合は 1とみなされます。このプロパティはWindows版にのみ存在します。
PrnCollateBooleanR/W プリンタに出力のときに出力部数が複数のときにのみ有効です。 指定されなかったときや falseが指定されたときは、同一ページを続けて複数部印刷します。 true が指定されたときは、指定開始ページから終了ページまでの印刷を繰り返します。このプロパティはWindows版にのみ存在します。
BatchPrintBooleanR/W falseを指定すると、印刷時に印刷設定ダイアログを表示します。 省略したときや、trueを指定したときは印刷設定ダイアログは表示されません。このプロパティはWindows版にのみ存在します。

プロパティ – スムージング処理

名前入出力機能
GdiTextAntialiasBooleanR/W trueが指定された場合、文字のスムージング処理を行います。このプロパティはWindows版にのみ存在します。
GdiLineartSmoothingBooleanR/W trueが指定された場合、線画のスムージング処理を行います。このプロパティはWindows版にのみ存在します。
GdiImageSmoothingBooleanR/W trueが指定された場合、イメージのスムージング処理を行います。このプロパティはWindows版にのみ存在します。

プロパティ – すかし文字列処理

名前入出力機能
WatermarkTextStringR/W 各ページに、指定したすかし文字列を表示します。\n で区切ることによって複数行にすることができます。評価版のときは無効です。
WatermarkFontFamilyStringR/W WatermarkText で指定した文字列に対するフォントファミリを指定します。
WatermarkFontWeightStringR/W WatermarkText で指定した文字列に対するフォントの太さを指定します。normal、bold または 100~900 の数値が指定できます。
WatermarkFontStyleStringR/W WatermarkText で指定した文字列に対するフォントスタイルを指定します。normal または italic が指定できます。
WatermarkOpacityStringR/W WatermarkText で指定した文字列に対する不透明度を指定します。

値に付加する単位には、次のいずれかが指定できます。

表記意味
cmセンチメートル
mmミリメートル。 1mm = 0.1cm
inインチ。 1in = 2.54cm
ptポイント。 1pt = 1in/72
pcパイカ。 1pc = 12pt
jpt1jpt = 0.3514mm
q1q = 0.25mm

メソッド

XfoObjクラスの提供するメソッドは次のとおりです。

名前戻り値引数機能
Disposeなしなしリソースを解放します。オブジェクトの使用を終了するときは、このメソッドを呼ぶようにしてください。
Executeなしなし組版を実行し、OutputFilePathで指定されたPDF、もしくはPrinterNameで指定されたプリンタに出力します。
RenderなしinputStream : Stream
outputStream : Stream
outDevice : String
inputStreamに指定されたXSL-FOドキュメントの組版を実行し、outDeviceに指定された出力形式でoutputStreamへ出力します。outDevice が省略された場合は @PDF が指定されたとみなされます。
RenderなしinputDoc : XmlDocument
outputStream : Stream
outDevice : String
inputDocに指定されたXSL-FOドキュメントの組版を実行し、outDeviceに指定された出力形式でoutputStreamへ出力します。outDevice が省略された場合は @PDF が指定されたとみなされます。
RenderなしinputStream : Stream
xsltStream : Stream
outputStream : Stream
outDevice : String
inputStreamに指定されたXMLドキュメントをxsltStreamに指定されたスタイルシートでXSL-FOドキュメントへ変換して組版を実行し、outDeviceに指定された出力形式でoutputStreamへ出力します。outDevice が省略された場合は @PDF が指定されたとみなされます。XSLT変換には.NET Framework標準のXSLTプロセッサを使用します。ExternalXSLTプロパティおよび、オプション設定ファイルのXSLTプロセッサ指定は無視されます。
Clearなしなし組版エンジンを初期化します。
SetXSLTParamなしname : String
value : String
xsl:param のパラメータ名と値を設定します。
ClearXSLTParamなしなし設定した xsl:param のすべてのパラメータ名と値をクリアします。
SetFontAliasなしfontName : String
aliasName : String
フォント名の置換設定をします。この置換は、FO中に現れるフォント名に作用し、fontNamealiasName に置換します。
EraseFontAliasなしfontName : String fontName に関するフォント名の置換設定を消去します。
ClearFontAliasなしなし すべてのフォント名の置換設定を消去します。
GetFormattingErrorなしerrlist : Collections.ArrayList組版終了後に呼ぶことができます。組版中に発生したExitLevel未満のエラーレベルを持つエラー情報を取得し、引数に指定したCollections.ArrayListへ格納します。エラー情報はXfoErrorInformationクラスのオブジェクトとしてArrayListに格納されます。 XfoErrorInformationクラスにはエラー情報としてErrorLevelErrorCodeErrorMessageという3つのプロパティが存在します。
GetOptionFileURIStringindex : Int32指定したインデクスからオプション設定ファイルのURIを取得します。
AddOptionFileURIなしfileURI : StringAH Formatter V7.2 のオプションを記述したXML形式のオプション設定ファイルのURIを追加します。オプション設定ファイルの内容は、直ちに評価されます。すでに設定されているプロパティと背反する設定は上書きされます。
AddUserStylesheetURIなしfileURI : String追加するCSSユーザスタイルシートを指定します。 AddUserStylesheetURI は何度でも指定できます。 StylesheetURI で指定されるスタイルシートよりも先に、指定された順に適用されます。

イベント

XfoObjのイベントは次のとおりです。

名前戻り値引数機能
OnFormatPageなしpageNum : Int32
組版中に組版が完了したページ番号をイベントとして受信することができるようになります。なお、ASP.NET では利用できません。
  • 1以上 : 組版が完了したページ番号
  • 0 : すべてのページの組版が完了
  • -1 : 2パス組版の1パス目の開始
  • -2 : 2パス組版の2パス目の開始
OnRenderPageなしpageNum : Int32
組版中に出力が完了したページ番号をイベントとして受信することができるようになります。なお、ASP.NET では利用できません。
  • 1以上 : 出力が完了したページ番号
  • 0 : すべてのページの出力が完了

ウェブブラウザへのPDF出力

サーバ上でASP.NETアプリケーションを使い、組版結果をPDF出力する場合に、作成したPDFデータを直接ウェブブラウザに送信することが可能です。
下記はそのプログラミング例です。

public class TestPage : Page
{
    public void OnStreamPDF(Object sender, EventArgs ea)
    {
        XfoDotNetCtl.XfoObj obj = new XfoDotNetCtl.XfoObj();
        obj.ExitLevel = 4;
        FileStream fs = null;
        try
        {
            fs = File.Open("c:\\temp\\sample.fo", FileMode.Open, FileAccess.Read);
            Response.Clear();
            Response.ContentType = "application/pdf";
            obj.Render(fs1, Response.OutputStream);
            Response.End();
        }
        catch(Exception e)
        {
            throw e;
        }
        finally
        {
            if (fs != null)
                fs.Close();
        }
    }
}

プログラミング例

下記はC#のプログラミング例です。 この他、[Install directory]/​samples/​dotnet にC#、VisualBasic.NET用のサンプルファイルがいくつか含まれています。

using System;

public class MainApp
{
    static public void Main()
    {
        XfoDotNetCtl.XfoObj obj = new XfoDotNetCtl.XfoObj();
        obj.DocumentURI = "c:\\temp\\test.xml";
        obj.StylesheetURI = "c:\\temp\\test.xsl";
        obj.OutputFilePath = "c:\\temp\\test.pdf";
        obj.ExitLevel = 4;
        try
        {
            obj.Execute();
        }
        catch(XfoException e)
        {
            Console.WriteLine("ErrCode : " + e.ErrorCode + "\n" + e.Message);
        }
        catch(Exception e)
        {
            Console.WriteLine(e.Message);
        }
        finally
        {
            obj.Dispose();
        }
    }
}

サンプルプログラムの実行

[Install directory]/​samples/​dotnet にいくつかの C#、VisualBasic.NET用のサンプルファイルと .NET Core用のサンプルプロジェクトファイルが含まれています。なお、.NETインターフェイスを実行するには、コンポーネントの登録や共有ライブラリの検索パスの追加などの設定が必要となります。また、Linux 64ビット版、Macintosh 64ビット版でサンプルを実行するためには、 環境変数の設定も必要です。詳細はコンポーネントの登録および環境変数を参照してください。

.NET Framework

.NET Framework において C#.NET用のサンプルを実行するには次のようにします。

> cd [Install directory]\samples\dotnet\cs
> C:\Windows\Microsoft.NET\Framework64\[.NET version]\csc sample.cs /r:[Install directory]\XfoDotNet40Ctl72.dll
> copy [Install directory]\XfoDotNet40Ctl72.dll .
> sample.exe sample.fo sample.pdf

Windows版(32ビット版)を Windows x64 Edition にインストールして .NET Framework を利用するときは /platform:x86 を指定してください。

> cd [Install directory]\samples\dotnet\cs
> C:\Windows\Microsoft.NET\Framework\[.NET version]\csc sample.cs /platform:x86 /r:[Install directory]\XfoDotNet40Ctl72.dll
> copy [Install directory]\XfoDotNet40Ctl72.dll .
> sample.exe sample.fo sample.pdf

.NET Core V7.2

.NET Core において C#.NET用のサンプルを実行するには次のようにします。Windows版(32ビット版)を Windows x64 Edition にインストールして .NET Core を利用するときは 32ビット版の .NET Core Runtime をインストールし、プロジェクトファイルで PlatformTarget に x86 を設定してください。このとき、実行するディレクトリ内にプロジェクトファイル(csproj)が必要となります。

> cd [Install directory]\samples\dotnet\cs
> copy ..\..\..\XfoDotNetCore31Ctl72.dll .
> dotnet run sample.fo sample.pdf

Windows版(32ビット版)を Windows x64 Edition にインストールして .NET Core を利用するときにプロジェクトファイルで PlatformTarget に x86 を設定せず次のように --runtime=win-x86 を指定しても実行できます。

> cd [Install directory]\samples\dotnet\cs
> copy ..\..\..\XfoDotNetCore31Ctl72.dll .
> dotnet run --runtime=win-x86 sample.fo sample.pdf

Linux 64ビット環境においてサンプルを実行する場合は次のようにします。このとき、実行するディレクトリ内にプロジェクトファイル(csproj)が必要となります。

$ cd [Install directory]/samples/dotnet/cs
$ cp ../../../lib/XfoDotNetCore31Ctl72.dll .
$ AHF72_64_FONT_CONFIGFILE=../../../etc/font-config.xml
$ export AHF72_64_FONT_CONFIGFILE
$ AHF72_64_LIC_PATH=../../../etc
$ export AHF72_64_LIC_PATH
$ LD_LIBRARY_PATH=../../../lib:${LD_LIBRARY_PATH}
$ export LD_LIBRARY_PATH
$ dotnet run sample.fo sample.pdf

Macintosh 64ビット環境においてサンプルを実行する場合は次のようにします。このとき、実行するディレクトリ内にプロジェクトファイル(csproj)が必要となります。

$ cd [Install directory]/samples/dotnet/cs
$ cp ../../../lib/XfoDotNetCore31Ctl72.dll .
$ AHF72_64_FONT_CONFIGFILE=../../../etc/font-config.xml
$ export AHF72_64_FONT_CONFIGFILE
$ AHF72_64_LIC_PATH=../../../etc
$ export AHF72_64_LIC_PATH
$ DYLD_LIBRARY_PATH=../../../lib:${DYLD_LIBRARY_PATH}
$ export DYLD_LIBRARY_PATH
$ dotnet run sample.fo sample.pdf

.NET Core で必要となるプロジェクトファイル(csproj)の例です。Reference の Include で XfoDotNetCore31Ctl72.dll へのパスを指定します。

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>
 <ItemGroup>
  <Reference Include="./XfoDotNetCore31Ctl72.dll" />
 </ItemGroup>
</Project>