メタデータとユーティリティ
メタデータとユーティリティ
Aspose.PDF FOSS for .NET には、メタデータアクセス、
座標幾何、画像コレクション、およびページレベルのアーティファクトが含まれています。これら
ビルディングブロックは、ライブラリ全体の上位レベルの操作をサポートします。
XMP メタデータ
Metadata はドキュメント上で XMP メタデータ ストリームへのアクセスを提供します。標準またはカスタムの XMP プロパティを読み取り
書き込みできます。
using var doc = Document.Open(pdfBytes);
// Read existing metadata
foreach (var entry in doc.Metadata)
{
Console.WriteLine($"{entry.Key}: {entry.Value}");
}
// Set a custom property
doc.Metadata.Add("xmp:CustomProp", new XmpValue("custom value"));
doc.Save("with-metadata.pdf");座標幾何
Rectangle と Matrix は、API全体で位置決めと変換に使用されます。
var rect = new Rectangle(72, 700, 300, 720);
bool inside = rect.ContainsPoint(150, 710);
// Transformation matrix (translate by 100, 200)
var matrix = new Matrix(1, 0, 0, 1, 100, 200);ページ コレクション操作
PageCollection はインデックス付け、イテレーション、およびビジターパターンの受け入れをサポートします。
using var doc = Document.Open(pdfBytes);
for (int i = 1; i <= doc.Pages.Count; i++)
{
var page = doc.Pages[i];
}画像コレクション
XImageCollection はページのリソースに埋め込まれた画像を管理します。 XImageXImage は画像プロパティを検査するためのメソッドを提供します。
var images = doc.Pages[1].Resources.Images;
foreach (var img in images)
{
Console.WriteLine($"Color type: {img.GetColorType()}");
}アーティファクト
Artifact は、透かし、ヘッダー、フッターなどのコンテンツ以外の要素を表します。ページ番号付けや装飾要素にはアーティファクトを使用してください。
var artifact = new Artifact(ArtifactType.Watermark);
artifact.SetPageNumberReplacementString("Page {0}");ヒントとベストプラクティス
- XMP メタデータキーは Dublin Core と XMP 仕様に従います — 標準の名前空間プレフィックスを使用してください。
Rectangleの座標は PDF ユーザースペース単位 (1/72 インチ) で、原点は左下です。- アフィン変換(平行移動、回転、拡大縮小、せん断)には
Matrixを使用します。 XmpValueは文字列、整数、倍精度、日付、配列型をサポートします。- アーティファクトは構造要素です — アクセシビリティツリーの走査には表示されません。
一般的な問題
| Issue | Cause | Fix |
|---|---|---|
| メタデータキーが見つからない | キーが別の名前空間プレフィックスを使用している | まずすべてのキーを一覧表示して正しいプレフィックスを見つける |
| 矩形座標が逆向きに見える | PDF の原点は左下であり、左上ではない | Y 座標をそれに合わせて調整する |
| 画像コレクションが空 | 画像はフォーム XObjects にあり、直接ページリソースではない | XFormCollection を確認して入れ子になった画像リソースを探す |
よくある質問
メタデータからドキュメントのタイトルを取得するにはどうすればよいですか?
Dublin Core タイトル プロパティについては doc.Metadata["dc:title"] にアクセスしてください。
ウォーターマークアーティファクトを追加できますか?
はい。ArtifactをWatermarkタイプで作成し、ページに追加してください。
Rectangle はどの座標系を使用しますか?
PDF user-space: 原点は左下、単位は 1/72 インチです。標準的な US Letter ページは 612 x 792 ユニットです。
API リファレンス概要
| Class / Method | Description |
|---|---|
Metadata | ドキュメント上の XMP メタデータ辞書 |
XmpValue | XMP プロパティ値の型付きラッパー |
Rectangle | 軸に平行なバウンディングボックス (llx, lly, urx, ury) |
Rectangle.ContainsPoint | 点が矩形内にあるかテストする |
Matrix | 2 次元アフィン変換行列 |
Matrix.Translate | 平行移動行列を作成する |
PageCollection | 1 ベースインデックスの順序付けられたページコレクション |
XImageCollection | ページ上の画像リソース |
XImage | カラータイプ検出付き単一埋め込み画像 |
Artifact | コンテンツ以外のページ要素 (透かし、ヘッダー、フッター) |
Artifact.SetPageNumberReplacementString | ページ番号アーティファクトのテンプレート |