列挙型の操作

列挙型の使用

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説明
PageModePDF ビューアが文書を開いたときに表示する方法(アウトライン、サムネイル、全画面表示など)
PageLayout文書が表示される際に使用されるページレイアウト(単一ページ、列表示など)
ColorTypeページのカラーモデルまたはカラー値(RGB、CMYK、グレースケールなど)
HorizontalAlignment段落、表、または注釈の水平配置
VerticalAlignment段落、表、または注釈の垂直配置
TextAlignment注釈テキストボックスの水平テキスト配置
Justificationフリーテキスト注釈の内容の配置
LoadFormatLoadOptions サブクラスで使用されるソースフォーマットセレクタ
SaveFormatDocument.Save で使用される出力フォーマットセレクタ
Rotationページ回転角度、Page.Rotate を介して公開

参照

 日本語