構成オプションリファレンス
設定オプションリファレンス
ほとんどのロード、保存、変換操作は、Aspose.PDF の .NET 用 FOSS で、受け入れます *Options その操作の動作を設定するオブジェクトです。 LoadOptions and SaveOptions はこのファミリーの2つの抽象的なルートです:すべてのフォーマット固有ローダー (HtmlLoadOptions, MdLoadOptions, TxtLoadOptions, SvgLoadOptions)は LoadOptions、すべてのフォーマット固有ライター (PdfSaveOptions, HtmlSaveOptions, SvgSaveOptions)は SaveOptions. このページでは、ファミリーがどのように連携するかを説明し、すでにカバーされていないオプションクラスを文書化します。 変換と最適化 ガイド。
LoadOptions を使ったドキュメントの読み込み
すべての *LoadOptions サブクラスは、LoadOptions 基底クラスから WarningHandler、WarningHandlerName、DisableFontLicenseVerifications、LoadFormat を継承し、さらにそのソースフォーマット固有のプロパティを追加します。
// HTML: resolve relative images/CSS against a base path
var htmlOptions = new HtmlLoadOptions("assets/");
htmlOptions.IsEmbedFonts = true;
using var htmlDoc = new Document("input.html", htmlOptions);
// Markdown: apply custom CSS while rendering to PDF
var mdOptions = new MdLoadOptions();
mdOptions.CssStyles = "body { font-family: sans-serif; }";
using var mdDoc = new Document("input.md", mdOptions);
// Plain text: control the rendered font size
var txtOptions = new TxtLoadOptions();
txtOptions.FontSize = 11;
using var txtDoc = Document.Open("input.txt", txtOptions);
// SVG: let the page size follow the artwork dimensions
var svgOptions = new SvgLoadOptions();
svgOptions.AdjustPageSize = true;
using var svgDoc = new Document("input.svg", svgOptions);PdfSaveOptions を使った PDF への保存
PdfSaveOptions は、Document を PDF として書き出す際のフォント処理と一時ファイルの配置を制御します。共有された SaveOptions 基底クラスから CloseResponse、SaveFullPath、WarningHandler、CacheGlyphs、SaveFormat を継承します。
using var doc = Document.Open("input.pdf");
var pdfOptions = new PdfSaveOptions();
pdfOptions.DefaultFontName = "Arial";
pdfOptions.TempPath = "temp/";
doc.Save("output.pdf", pdfOptions);HTML と SVG へのエクスポート
HtmlSaveOptions と SvgSaveOptions はどちらも UnifiedSaveOptions から派生しています。変換ガイドで取り上げられた画像/フォント/レイアウトのコントロールに加えて、HtmlSaveOptions はドキュメントのフレーバーとページネーション戦略を選択でき、SvgSaveOptions は完全に継承された SaveOptions/UnifiedSaveOptions メンバーに依存しています。
using var doc = Document.Open("input.pdf");
// Fixed-layout HTML5 output, split one file per page
var htmlOptions = new HtmlSaveOptions(HtmlDocumentType.Html5, fixedLayout: true);
htmlOptions.SplitIntoPages = true;
htmlOptions.ImageResolution = 150;
htmlOptions.Title = "Converted Document";
doc.Save("output.html", htmlOptions);
// SVG export configured through the shared SaveOptions members
var svgOptions = new SvgSaveOptions();
svgOptions.SaveFullPath = false;
doc.Save("output.svg", svgOptions);Document.Convert を使用したワンステップ変換
Document.Convert は、ソース LoadOptions と宛先 SaveOptions を単一の静的呼び出しで受け取ります。そのため、Document を手動で開いたり、変換したり、破棄したりすることなく、フォーマット間の変換が可能です。
var loadOptions = new HtmlLoadOptions();
var saveOptions = new PdfSaveOptions();
Document.Convert("input.html", loadOptions, "output.pdf", saveOptions);テキスト抽出オプション
TextExtractionOptions は、抽出されたテキストを TextAbsorber(および TextDevice)がどのようにフォーマットするかを制御し、抽出を実行する吸収器やデバイスクラスに依存しません。
using var doc = Document.Open("input.pdf");
var extractionOptions = new TextExtractionOptions(TextFormattingMode.Raw);
extractionOptions.ScaleFactor = 1.0;
extractionOptions.IgnoreResourceFontErrors = true;
var absorber = new TextAbsorber(extractionOptions);
doc.Pages[1].Accept(absorber);
string text = absorber.Text;OptimizationOptions を使用した出力の最適化
OptimizationOptions は、ファイルサイズを削減するための別個のフォーマット非依存メカニズムです。Document.OptimizeResources を通じて適用され、*SaveOptions クラスを介しては適用されないため、任意の保存パスと組み合わせることが可能です。
using var doc = Document.Open("input.pdf");
var optimizationOptions = new OptimizationOptions();
optimizationOptions.RemoveUnusedObjects = true;
optimizationOptions.CompressObjects = true;
optimizationOptions.SubsetFonts = true;
optimizationOptions.ImageCompressionOptions.CompressImages = true;
optimizationOptions.ImageCompressionOptions.ImageQuality = 80;
doc.OptimizeResources(optimizationOptions);
doc.Save("optimized.pdf");ヒントとベストプラクティス
- すべての
*LoadOptionsと*SaveOptionsサブクラスはWarningHandler/WarningHandlerNameを継承します - 両方を一緒に設定してリカバリ可能な診断情報を取得します。 - 拡張子ベースの形式推測に頼るよりも、特にファイルパスではなくストリームで作業する場合は、フォーマット固有の
*LoadOptions/*SaveOptionsインスタンスを使用してください。 - 手動で
Documentを開いて再保存する代わりに、一度きりの変換にはDocument.Convert(srcFileName, loadOptions, dstFileName, saveOptions)を使用してください。 OptimizationOptionsは*SaveOptionsファミリーとは独立しています - ターゲット形式に関係なく出力を縮小するには、Saveの前にOptimizeResourcesを呼び出してください。- 同じ設定が適用される場合は、毎回再構築するのではなく、複数のドキュメントで単一のオプションインスタンスを再利用してください。
よくある問題
| 問題 | 原因 | 修正 |
|---|---|---|
| 画像/CSS の相対パスが HTML の読み込み時に解決されません | HtmlLoadOptions.BasePath が設定されていませんでした | ベースパスを HtmlLoadOptions(basePath) コンストラクタ経由で渡す |
| 誤った出力形式が生成されました | 対象の拡張子に対して不一致の *SaveOptions サブクラスまたは SaveFormat が使用されました | 宛先フォーマットに一致する *SaveOptions サブクラスを使用してください |
OptimizeResources はファイルサイズを削減しません | OptimizationOptions はデフォルトのままで、削減フラグが有効になっていません | RemoveUnusedObjects、CompressObjects、および SubsetFonts を明示的に設定してください |
| ロード/セーブ時に発生した警告は黙って無視されます | ハンドラ名を指定せずに WarningHandler が設定されています | WarningHandler と WarningHandlerName を一緒に設定する |
FAQ
LoadOptionsとSaveOptionsの違いは何ですか?
LoadOptionsは、非PDFソース形式(HTML、Markdown、テキスト、SVG)から文書を読み取る方法を設定します;SaveOptionsは、Documentが出力形式(PDF、HTML、SVG)に書き込まれる方法を設定します。すべてのフォーマット固有オプションクラスは、これら二つのルートのうちいずれか一方から派生します。
ネイティブPDFを開くときにLoadOptionsを指定する必要がありますか?
いいえ。Document.OpenとDocumentコンストラクタは、ネイティブPDF入力のために単純なファイルパスまたはストリームを受け取ります。*LoadOptionsのサブクラスは、HTML、Markdown、テキスト、またはSVGなどの非PDFソース形式をインポートする場合にのみ必要です。
複数のSave呼び出しで同じSaveOptionsインスタンスを再利用できますか?
はい。オプションインスタンスは単なる構成オブジェクトであり、ドキュメントごとの状態を保持しないため、同じPdfSaveOptionsまたはHtmlSaveOptionsインスタンスをSaveに渡して、同じ設定を共有する複数のドキュメントで使用できます。
フォーマット固有のSaveOptionsクラスと比べて、OptimizationOptionsはどのように異なりますか?
OptimizationOptionsはDocument.OptimizeResourcesによって消費され、保存とは別のステップです。未使用のオブジェクト/ストリームを削除し、画像をその場で再圧縮し、任意の*SaveOptionsサブクラスと共にSaveを呼び出す前に適用できます。
すべてのソース/ターゲット形式は、LoadOptionsとSaveOptionsの両方のクラスを持っていますか?
必ずしも対称的ではありません。例えば、Markdown とプレーンテキストは現在、インポート用に MdLoadOptions/TxtLoadOptions を提供していますが、対応する *SaveOptions がなく、どの方向の変換がサポートされているかを示しています。
API Reference 概要
| クラス / メソッド | 説明 |
|---|---|
LoadOptions | すべてのドキュメント読み込みオプションタイプの基底クラス |
SaveOptions | すべてのドキュメント保存オプションタイプの基底クラス |
HtmlLoadOptions | PDF ドキュメントとして HTML をインポートするオプション |
MdLoadOptions | Markdown を PDF ドキュメントとしてインポートするオプション |
TxtLoadOptions | プレーンテキストを PDF ドキュメントとしてインポートするオプション |
SvgLoadOptions | SVG を PDF ドキュメントとしてインポートするオプション |
PdfSaveOptions | ドキュメントを PDF として保存するオプション |
HtmlSaveOptions | ドキュメントを HTML として保存するオプション |
SvgSaveOptions | ドキュメントを SVG として保存するオプション |
UnifiedSaveOptions | HtmlSaveOptions と SvgSaveOptions の共有ベース |
Document.Convert | 静的なワンステップ変換を LoadOptions/SaveOptions ペアで行う |
TextExtractionOptions | TextAbsorber テキスト抽出用のフォーマット設定 |
OptimizationOptions | フォーマットに依存しない文書サイズ/リソース最適化設定 |
Document.OptimizeResources | 文書に OptimizationOptions インスタンスを適用する |