How to Access All PDF DOM Objects

This article was translated from English: Does it need improvement?
Translated
View the article in English

PDF DOMオブジェクトへのアクセスとは、ウェブページのDOM(Document Object Model)を操作するのと同様に、PDFファイルの構造を操作することを指します。 PDFにおけるDOMは、ドキュメントの内部構造を表現し、開発者がテキスト、画像、注釈、およびメタデータなどの異なる要素にプログラムでアクセスし、操作することを可能にします。

クイックスタート: IronPDFを使用してPDF DOM要素にアクセスして更新する

IronPDFの強力なDOMアクセス機能を使用して、PDFドキュメントを簡単に操作し始めることができます。 このクイックガイドは、PDF DOMにアクセスし、ページを選択し、テキストオブジェクトを変更する方法を示します。 PDFを読み込み、必要なページにアクセスし、数行のコードでコンテンツを更新するだけでシンプルです。 複雑なセットアップの手間なく、PDF操作に取り組むことを切望している開発者に最適です。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    var objs = IronPdf.ChromePdfRenderer.RenderUrlAsPdf("https://example.com").Pages.First().ObjectModel;
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最小ワークフロー (5ステップ)

  1. C#ライブラリをダウンロードしてPDF DOMオブジェクトにアクセスする
  2. 対象のPDFドキュメントをインポートまたはレンダリングする
  3. PDFのページコレクションにアクセスし、目的のページを選択する
  4. ObjectModelプロパティを使用してDOMオブジェクトを表示し、操作する
  5. 変更されたPDFドキュメントを保存またはエクスポートする

DOMオブジェクトにアクセスする例

ObjectModelPdfPageオブジェクトからアクセス可能です。 まず、対象のPDFをインポートし、そのPagesプロパティにアクセスします。 そこから任意のページを選択すると、ObjectModelプロパティにアクセスできるようになります。

:path=/static-assets/pdf/content-code-examples/how-to/access-pdf-dom-object.cs
using IronPdf;
using System.Linq;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Create a PDF from a URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");

// Access DOM Objects
var objects = pdf.Pages.First().ObjectModel;
Imports IronPdf
Imports System.Linq

' Instantiate Renderer
Private renderer As New ChromePdfRenderer()

' Create a PDF from a URL
Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://ironpdf.com/")

' Access DOM Objects
Private objects = pdf.Pages.First().ObjectModel
$vbLabelText   $csharpLabel
class="content-img-align-center">
class="center-image-wrapper"> デバッグ

ObjectModelプロパティは現在、ImageObjectPathObject、およびTextObjectで構成されています。 各オブジェクトには、ページインデックスやバウンディングボックス、スケール、翻訳についての情報が含まれています。 この情報も変更できます。

ImageObject:

  • Height: 画像の高さ。
  • Width: 画像の幅。
  • ExportBytesAsJpg: 画像をJPGフォーマットのバイト配列としてエクスポートするメソッド。

PathObject:

  • FillColor: パスの塗りつぶし色。
  • StrokeColor: パスの線の色。
  • Points: パスを定義するポイントのコレクション。

TextObject:

  • Color: テキストの色。
  • Contents: 実際のテキストコンテンツ。

グリフ情報とバウンディングボックスの取得

カスタムフォントなどと組み合わせたときに、テキストが意図したとおりに表示されるようにするため、Unicode値に頼るだけでなく、特定のグリフを指定する必要がある場合、バウンディングボックスとグリフ情報を取得できることが便利です。 IronPDFは開発者にその情報を取得する方法を提供します。

まず、PdfPageオブジェクトからObjectModelにアクセスします。 その後、TextObjectsにさらに深く入ると、コレクションが返されます。 最後に、最初の要素のグリフとバウンディングボックス情報を取得するためにGetGlyphInfoメソッドを呼び出します。

:path=/static-assets/pdf/content-code-examples/how-to/access-pdf-dom-object-retrieve-glyph.cs
using IronPdf;
using System.Linq;

PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");

var glyph = pdf.Pages.First().ObjectModel.TextObjects.First().GetGlyphInfo();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel
class="content-img-align-center">
class="center-image-wrapper"> グリフ情報

PDFオブジェクトを翻訳する

テキストや画像などの要素を再配置してPDFのレイアウトを調整する必要がある時があります。 オブジェクトをページ内の新しい場所に簡単に移動するには、そのTranslateプロパティを変更します。

以下のコード例は、CSS Flexboxを使用してPDFの中央にテキストを配置するHTML文字列をレンダリングします。 次に、最初のTextObjectである "Centered" という単語にアクセスします。

最後に、そのTranslateプロパティに新しいPointFを割り当ててTextObjectを変換します。 これにより、テキストが200ポイント右、150ポイント上に移動し、変更されたPDFが保存されます。

コード例

:path=/static-assets/pdf/content-code-examples/how-to/access-pdf-dom-object-translate.cs
using IronPdf;
using System.Drawing;
using System.Linq;

// Setup the Renderer
var renderer = new ChromePdfRenderer();

// We use CSS Flexbox to perfectly center the text vertically and horizontally.
var html = @"
<div style='display: flex; justify-content: center; align-items: center; font-size: 48px;'>
    Centered
</div>";

// Render the HTML to a PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// Save the original PDF to see the "before" state
pdf.SaveAs("BeforeTranslate.pdf");

// Access the first text object on the first page
// In this simple HTML, this will be our "Centered" text block.
var textObject = pdf.Pages.First().ObjectModel.TextObjects.First();

// Apply the translation
// This moves the object 200 points to the right and 150 points up from its original position.
textObject.Translate = new PointF(200, 150);

// Save the modified PDF to see the "after" state
pdf.SaveAs("AfterTranslate.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

出力

出力に示されているように、"Centered" という単語は元の位置から200ポイント右、150ポイント上に移動しています。

class="content-img-align-center">
class="center-image-wrapper"> オブジェクトを翻訳する

PDFオブジェクトをスケーリングする

テキストや画像などのPDFオブジェクトをScaleプロパティを使用してリサイズできます。 このプロパティは乗数として機能します。 1より大きい係数はオブジェクトのサイズを増加させ、0から1の間の係数はサイズを減少させます。

この例では、画像を含むHTML文字列をレンダリングします。 次に、最初のImageObjectにアクセスし、そのScaleプロパティに両軸の値を0.7にした新しいPointFを割り当てることで元のサイズの70%にスケーリングします。 最後に変更されたPDFを保存します。

コード例

:path=/static-assets/pdf/content-code-examples/how-to/access-pdf-dom-object-scale.cs
using IronPdf;
using System.Drawing;
using System.Linq;

// Setup the Renderer
var renderer = new ChromePdfRenderer();

// The image is placed in a div to give it some space on the page.
string html = @"<img src='https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTi8LuOR6_A98euPLs-JRwoLU7Nc31nVP15rw&s'>";

// Render the HTML to a PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// Save the PDF before scaling for comparison
pdf.SaveAs("BeforeScale.pdf");

// Access the first image object on the first page
var image = pdf.Pages.First().ObjectModel.ImageObjects.First();

// We scale the image to 70% of its original size on both the X and Y axes.
image.Scale = new PointF(0.7f, 0.7f);

// Save the modified PDF to see the result
pdf.SaveAs("AfterScale.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

出力

出力は元のサイズの70%にスケーリングされた画像を示しています。

class="content-img-align-center">
class="center-image-wrapper"> オブジェクトをスケールする

PDFオブジェクトを削除する

テキストブロック、形状、画像など、オブジェクトを完全に削除することでPDFをクリーンアップできます。 このプロセスはImageObjectsTextObjectsなどのPDF DOMオブジェクトのコレクションにアクセスし、そのコレクションからアイテムを削除します。 RemoveAtメソッドをコレクションに対して呼び出し、削除したいオブジェクトのインデックスを渡すことでオブジェクトを削除できます。

以下のコードでは、前の例で作成されたBeforeScale.pdfファイルをロードし、最初のページの最初の画像を削除します。

:path=/static-assets/pdf/content-code-examples/how-to/access-pdf-dom-object-remove.cs
using IronPdf;
using IronSoftware.Pdfium.Dom;
using System.Linq;

// Load the PDF file we created in the Scale example
 PdfDocument pdf = PdfDocument.FromFile("BeforeScale.pdf");

 // Access DOM Objects
 IPdfPageObjectModel objects = pdf.Pages.First().ObjectModel;

 // Remove first image
 objects.ImageObjects.RemoveAt(0);

 // Save the modified PDF
 pdf.SaveAs("removedFirstImage.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

次に何ができるのかを見てみましょうか? こちらのチュートリアルページをご覧ください: PDFの編集

よくある質問

C#でPDF DOMオブジェクトにアクセスするにはどうすればいいですか?

C#でPDF DOMオブジェクトにアクセスするには、IronPDFを使用できます。IronPDFライブラリをダウンロードし、PDFドキュメントをインポートまたはレンダリングしてからページコレクションにアクセスします。そこから、 ObjectModel プロパティを使用してテキスト、画像、注釈などのさまざまなDOMオブジェクトを操作します。

PDF DOMで操作できるオブジェクトの種類は何ですか?

PDF DOMでは、 ImageObjectPathObjectTextObject などのオブジェクトを操作できます。これらのオブジェクトを使用して、サイズ、色、内容などの属性にアクセスし、変更することができます。

C#を使用してPDFのテキストコンテンツを変更するにはどうすればいいですか?

IronPDFを使用してPdfPageObjectModel内のTextObjectにアクセスすることで、PDFのテキストコンテンツを変更できます。その後、 ColorContents などのプロパティを変更してテキストを更新します。

PDF DOMのImageObjectの一般的なプロパティにはどんなものがありますか?

PDF DOMのImageObjectには、高さ (Height)、幅 (Width) といったプロパティが含まれており、 ExportBytesAsJpg などのメソッドを使用してJPG形式のバイト配列として画像をエクスポートすることができます。

PDFドキュメントのパスの塗りつぶし色を変更できますか?

はい、IronPDFを使用してPDF DOM内のPathObjectにアクセスし、 FillColor プロパティを変更することで、PDFドキュメントのパスの塗りつぶし色を変更できます。

IronPDFを使ったPDF DOMへのアクセスは完全に安定していますか?

IronPDFを介したPDF DOMへのアクセスは現在実験的な機能であり、テキストオブジェクトにアクセスする際にメモリリークが発生する可能性があるため、注意が必要です。

IronPDFのObjectModelとは何ですか?

IronPDFのObjectModelは、 PdfPageオブジェクトのプロパティであり、PDF DOMへのアクセスを提供し、テキスト、画像、パスなどのPDF要素をプログラムで操作することを可能にします。

画像をPDFからJPEG形式にエクスポートするにはどうすればいいですか?

IronPDFを使用してPDF DOMのImageObjectにアクセスし、その後ExportBytesAsJpgメソッドを使用してJPEG形式のバイト配列として画像をエクスポートすることで、画像をPDFからJPEG形式にエクスポートできます。

PDF DOM アクセスを使用する場合、IronPDF は .NET 10 と互換性がありますか?

はい。IronPDFは.NET 10を完全にサポートしており、 ObjectModelを介したPDF DOMアクセスなどの機能もサポートしています。以前のバージョンと同様に、.NET 10プロジェクトですぐに使用でき、特別な回避策は必要ありません。([ironpdf.com](https://ironpdf.com/blog/net-help/net-10-features/?utm_source=openai))

Chaknith Bin
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeに取り組んでいます。彼はC#と.NETの深い専門知識を持ち、ソフトウェアの改善や顧客サポートに貢献しています。ユーザーとの対話から得られる洞察が、より良い製品、ドキュメント、および全体的な経験に寄与しています。
準備はいいですか?
Nuget ダウンロード 16,154,058 | バージョン: 2025.11 ただ今リリースされました