列挙型の操作
列挙型の使用
Aspose.PDF FOSS for .NET は、ドキュメントの動作、ページの外観、変換フォーマットを設定するために、その API 全体で強く型付けされた列挙型を使用します。マジック文字列や整数ではなく、ほとんどの設定項目 — PDF ビューアがファイルを開く方法から、どのフォーマットで — は列挙型の値で表現されます。 Document 保存されるか — は列挙型の値で表現されます。このページでは、ライブラリを使用する際に最も頻繁に出くわす列挙型を紹介します。これは包括的なカタログではなく、厳選された入門です。列挙型の完全な一覧とすべてのメンバー値については、 API Reference.
ページ表示とレイアウト
PageMode と PageLayout は、Document 上のプロパティで、PDF ビューアがドキュメントを最初に開いたときの表示方法(アウトライン、サムネイル、または特定のカラムレイアウトのいずれか)を制御します。
using var doc = Document.Open("input.pdf");
// Show the outline (bookmarks) panel when the document opens
doc.PageMode = PageMode.UseOutlines;
// Display pages in two columns, first page on the left
doc.PageLayout = PageLayout.TwoColumnLeft;
doc.Save("output.pdf");ページのカラーモデル
ColorType はページのカラーモデル(RGB、CMYK、グレースケールなど)を示します。これは Page と Color の両方で利用可能で、ページ上のコンテンツが実際にどのようにレンダリングされるかに基づいてロジックを分岐させることができます。
using var doc = Document.Open("input.pdf");
var page = doc.Pages[1];
if (page.ColorType == ColorType.Grayscale)
{
// Apply grayscale-specific handling, e.g. skip color-profile conversion
}Alignment
いくつかのクラスはページ上のコンテンツの位置決めのために HorizontalAlignment と VerticalAlignment を公開し、アノテーションクラスはボックス内のテキスト固有の配置のために TextAlignment と Justification を追加します。たとえば Table は、両方の整列軸を直接公開します。
var table = new Table();
table.HorizontalAlignment = HorizontalAlignment.Center;
table.VerticalAlignment = VerticalAlignment.Center;
page.Paragraphs.Add(table);FreeTextAnnotation(および Annotation 基底型)は、アノテーション内のテキスト向けに Justification と TextAlignment も公開します:
if (page.Annotations[1] is FreeTextAnnotation freeText)
{
freeText.Justification = Justification.Center;
freeText.Alignment = TextAlignment.Right;
}ロードおよび保存形式
LoadFormat は LoadOptions サブクラスの背後にあるソース形式を識別します(例として、HtmlLoadOptions.LoadFormat は常に LoadFormat.HTML です)。一方、SaveFormat は Document.Save を呼び出す際の出力形式を選択します。
var loadOptions = new HtmlLoadOptions();
// loadOptions.LoadFormat == LoadFormat.HTML
using var doc = new Document("input.html", loadOptions);
doc.Save("output.html", SaveFormat.Html);ページ回転
Rotation はページの回転角度を表し、Page.Rotate を通じて公開されます。
var page = doc.Pages[1];
page.Rotate = Rotation.on90;ヒントとベストプラクティス
- 文字列または整数ベースのオーバーロードが両方存在する場合は、enum オーバーロードを優先してください — これにより、コンパイル時に無効な値を検出できます。
SaveFormatをDocument.Saveに渡すファイル拡張子に合わせてください;不一致の場合、内容が誤解を招くファイルや使用できない拡張子のファイルが生成されます。- フォーマットの自動検出だけに頼るのではなく、ソース形式に対応する
LoadOptionsサブクラス(例:HTML の場合はHtmlLoadOptions)を使用してください。 - 表や段落の位置を指定する際は、
HorizontalAlignmentとVerticalAlignmentを両方設定してください — どちらかをデフォルトのままにすると、予期しない配置になることがあります。 ColorTypeは指示的ではなく記述的に扱ってください:ページのカラーコンテンツが現在どのようにモデル化されているかを報告するものであり、カラー空間を変換するために切り替える設定ではありません。
よくある問題
| 問題 | 原因 | 修正 |
|---|---|---|
| 保存されたファイルの拡張子に対して内容が正しくありません | 誤った SaveFormat 値が Document.Save に渡されました | 対象のファイル拡張子に一致する SaveFormat 値を渡してください |
| ロードされた HTML/XML/etc. のコンテンツが正しくレンダリングされません | フォーマット固有のサブクラスの代わりに汎用 LoadOptions が使用されています | ソースフォーマットに一致するサブクラスを使用してください。例: HtmlLoadOptions |
| ページ上でテーブルまたは注釈がずれて表示されます | HorizontalAlignment/VerticalAlignment がデフォルトのままになっています | Paragraphs にオブジェクトを追加する前に、両方のプロパティを明示的に設定してください |
| PDF を開くと予期しないビューアの動作が発生します(アウトラインパネルが表示されない、列レイアウトが間違っている) | Document.PageMode/Document.PageLayout が一度も設定されていません | Document.Save を呼び出す前に、両方のプロパティを設定してください。 |
FAQ
PageMode と PageLayout の違いは何ですか?
PageMode はビューアの UI 状態(例:アウトラインやサムネイルパネルが表示されているかどうか)を開いたときに制御し、PageLayout はページの配置方法(単一ページ、1 列、2 列など)を制御します。
どの SaveFormat 値を使用すべきか、どうやって判断すればよいですか?
目的の出力ファイルタイプに合致する SaveFormat 値を選択してください — 例として、HTML 出力には SaveFormat.Html、PDF として再保存するには SaveFormat.Pdf を使用します。
同じオブジェクトに HorizontalAlignment と VerticalAlignment の両方を設定できますか?
はい。Table のようなクラスは両方のプロパティを個別に公開しているため、両方を組み合わせてコンテンツを任意の軸上に配置できます。
ColorType はページのカラースペースを変換できますか?
いいえ。ColorType はページやカラー値に現在関連付けられているカラーモデルを報告するだけで、変換は行いません。
すべての enum とすべての値はどこで確認できますか?
このページでは、最も一般的に使用される列挙型を取り上げています。すべてのメンバー値を含む完全なセットについては、参照してください API Reference.
API Reference 概要
| Enum | 説明 |
|---|---|
PageMode | PDF ビューアが文書を開いたときに表示する方法(アウトライン、サムネイル、全画面表示など) |
PageLayout | 文書が表示される際に使用されるページレイアウト(単一ページ、列表示など) |
ColorType | ページのカラーモデルまたはカラー値(RGB、CMYK、グレースケールなど) |
HorizontalAlignment | 段落、表、または注釈の水平配置 |
VerticalAlignment | 段落、表、または注釈の垂直配置 |
TextAlignment | 注釈テキストボックスの水平テキスト配置 |
Justification | フリーテキスト注釈の内容の配置 |
LoadFormat | LoadOptions サブクラスで使用されるソースフォーマットセレクタ |
SaveFormat | Document.Save で使用される出力フォーマットセレクタ |
Rotation | ページ回転角度、Page.Rotate を介して公開 |