Wie man mit IronPDF in C# auf alle PDF-DOM-Objekte zugreift | IronPDF

Zugriff auf alle PDF-DOM-Objekte in C

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

Um in C# auf PDF-DOM-Objekte zuzugreifen, verwenden Sie die ObjectModel-Eigenschaft von IronPDF, die einen programmatischen Zugriff auf Text-, Bild- und Pfadobjekte innerhalb von PDF-Dokumenten ermöglicht, sodass Sie Elemente direkt lesen, ändern, übersetzen, skalieren und entfernen können.

Schnellstart: Zugriff auf und Aktualisierung von PDF-DOM-Elementen mit IronPDF

Beginnen Sie mit der Bearbeitung von PDF-Dokumenten mithilfe der DOM-Zugriffsfunktionen von IronPDF. Dieses Handbuch zeigt, wie man auf das PDF-DOM zugreift, eine Seite auswählt und Textobjekte verändert. Laden Sie Ihre PDF-Datei, rufen Sie die gewünschte Seite auf, und aktualisieren Sie den Inhalt mit ein paar Zeilen Code.

  1. Installieren Sie IronPDF mit NuGet Package Manager

    PM > Install-Package IronPdf
  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    var objs = IronPdf.ChromePdfRenderer.RenderUrlAsPdf("https://example.com").Pages.First().ObjectModel;
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute, IronPDF in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion

    arrow pointer

Wie kann ich auf DOM-Objekte in PDFs zugreifen?

Der Zugriff auf das Objekt ObjectModel erfolgt über das Objekt PdfPage. Zuerst importieren Sie die Ziel-PDF-Datei und greifen auf deren Eigenschaft Pages zu. Wählen Sie von dort aus eine beliebige Seite aus, um auf die Eigenschaft ObjectModel zuzugreifen. Dies ermöglicht die programmatische Interaktion mit PDF-Inhalten, ähnlich wie bei der Arbeit mit HTML-DOM-Elementen.

Wenn Sie mit PDF-DOM-Objekten arbeiten, greifen Sie auf die zugrunde liegende Struktur des PDF-Dokuments zu. Dies umfasst Textelemente, Bilder, Vektorgrafiken (paths) und andere Inhalte, die die visuelle Darstellung Ihres PDFs ausmachen. IronPDF bietet einen objektorientierten Ansatz zur PDF-Bearbeitung, der sich in C#-Anwendungen integrieren lässt.

: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;
$vbLabelText   $csharpLabel
IronPDF-Debugger zeigt die TextObjects-Sammlung mit BoundingBox-Koordinaten und Transformationseigenschaften

Die Eigenschaft ObjectModel enthält ImageObject, PathObject und TextObject. Jedes Objekt enthält Informationen über seinen Seitenindex, seinen Begrenzungsrahmen, seine Skalierung und seine Übersetzung. Diese Informationen können geändert werden. Für Wiedergabeoptionen können Sie die Anzeige dieser Objekte anpassen. Bei der Arbeit mit Benutzerdefinierten Rändern ist das Verständnis der Objektpositionierung wichtig.

<ImageObject>:

  • Height: Höhe des Bildes
  • Width: Breite des Bildes
  • ExportBytesAsJpg: Methode zum Exportieren des Bildes als JPG-Byte-Array

<PathObject>:

  • FillColor: Die Füllfarbe des Pfades
  • StrokeColor: Die Strichfarbe des Pfades
  • Points: Sammlung von Punkten, die den Pfad definieren

<TextObject>:

  • Color: Die Farbe des Textes
  • Contents: Der eigentliche Textinhalt

Jeder Objekttyp bietet Methoden und Eigenschaften, die auf den jeweiligen Inhaltstyp zugeschnitten sind. Wenn Sie Text und Bilder extrahieren oder bestimmte Inhalte ändern möchten, bieten diese Objekte eine detaillierte Kontrolle. Dies ist nützlich bei der Arbeit mit PDF-Formularen, bei denen Sie Formularfelder programmatisch manipulieren müssen.

Wie kann ich Glypheninformationen und Bounding Boxes abrufen?

Bei der Angabe von exakten Glyphen mit benutzerdefinierten Schriftarten ist das Abrufen von Bounding-Box- und Glyphen-Informationen unerlässlich. IronPDF liefert diese Informationen für eine pixelgenaue Positionierung beim Zeichnen von Text und Bitmaps in bestehenden PDFs.

Greifen Sie vom Objekt PdfPage auf das Objekt ObjectModel zu. Greifen Sie anschließend auf die Sammlung TextObjects zu. Rufen Sie die Methode GetGlyphInfo auf, um Glyphen- und Begrenzungsrahmeninformationen abzurufen.

: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();
$vbLabelText   $csharpLabel
Debugger, der die Eigenschaften von PDF-Glyphenobjekten anzeigt, einschließlich Koordinaten, Begrenzungen und Details zum Textinhalt

Die Glypheninformationen umfassen Positionierungsdaten, Schriftmetriken und zeichenspezifische Details für die erweiterte PDF-Bearbeitung. Dies ermöglicht die Erstellung von PDF-Verarbeitungsanwendungen, die komplexe Typografie- und Layoutanforderungen erfüllen. Bei der Arbeit mit Benutzerschriftarten gewährleistet dieser Zugriff auf Glyphenebene die korrekte Darstellung auf verschiedenen Systemen.


Wie kann ich PDF-Objekte übersetzen?

Anpassung des PDF-Layouts durch Neupositionierung von Elementen wie Text oder Bildern. Objekte lassen sich verschieben, indem man ihre Translate-Eigenschaft ändert. Diese Funktion ist Teil der PDF-Umwandlungsfunktionen von IronPDF.

Das unten stehende Beispiel rendert HTML mit CSS Flexbox, um den Text zu zentrieren. Es greift auf das erste TextObject zu und übersetzt es, indem es der Eigenschaft Translate ein neues PointF zuweist. Dadurch wird der Text um 200 Punkte nach rechts und 150 Punkte nach oben verschoben. Weitere Beispiele finden Sie auf der Beispielseite für die Übersetzung von PDF-Objekten.

Welchen Code verwende ich zum Übersetzen von Objekten?

: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");
$vbLabelText   $csharpLabel

Wie sieht das Ergebnis der Übersetzung aus?

Die Ausgabe zeigt "Centered" um 200 Punkte nach rechts und 150 Punkte nach oben verschoben.

Vergleich der PDF-Übersetzung vor und nach der Übersetzung, wobei die Positionierung und Formatierung des Textes erhalten bleibt

Bei der Übersetzung werden die ursprünglichen Eigenschaften des Objekts wie Schriftart, Größe und Farbe beibehalten und nur die Position geändert. Dies ist ideal für Layout-Anpassungen, ohne das visuelle Erscheinungsbild zu beeinträchtigen. Diese Funktion funktioniert mit Kopf- und Fußzeilen, wenn dynamisch generierte Inhalte neu positioniert werden.


Wie skaliere ich PDF-Objekte?

PDF-Objekte mithilfe der Eigenschaft Scale skalieren. Diese Eigenschaft wirkt als Multiplikator. Werte größer als 1 erhöhen die Größe, Werte zwischen 0 und 1 verringern sie. Die Skalierung ist für dynamische Layouts und die Anpassung des Inhalts an die Seitengröße unerlässlich. Weitere Beispiele finden Sie im Scale PDF Objects Guide.

Das Beispiel rendert HTML, das ein Bild enthält. Es greift auf das erste ImageObject zu und skaliert es auf 70%, indem es Scale ein neues PointF mit 0,7 für beide Achsen zuweist.

Wie lautet der Code für die Skalierung von PDF-Objekten?

:path=/static-assets/pdf/content-code-examples/how-to/access-pdf-dom-object-scale.cs
using IronPdf;
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 System.Drawing.PointF(0.7f, 0.7f);

// Save the modified PDF to see the result
pdf.SaveAs("AfterScale.pdf");
$vbLabelText   $csharpLabel

Wenden Sie unterschiedliche Skalierungsfaktoren unabhängig voneinander auf die X- und Y-Achse an, um eine ungleichmäßige Skalierung zu erreichen. Dies ist nützlich, um Inhalte in bestimmte Dimensionen einzupassen. Bei der Arbeit mit angepassten Papiergrößen hilft die Skalierung, dass der Inhalt innerhalb der Seitengrenzen passt.

Wie sieht Skalierung in der Praxis aus?

Das Ergebnis zeigt das Bild, auf 70% seiner ursprünglichen Größe skaliert.

Demo zur PDF-Skalierung: IRON-Logo skaliert von groß (links) auf klein (rechts) mit Pfeil, der die Umwandlung anzeigt

Wie kann ich PDF-Objekte entfernen?

Objekte entfernen, indem auf die PDF-DOM-Sammlung wie ImageObjects oder TextObjects zugegriffen wird. Rufen Sie RemoveAt für die Sammlung auf und übergeben Sie den Index des zu löschenden Objekts. Dies ist nützlich für die Schwärzung von Inhalten oder die Vereinfachung von Dokumenten. Weitere Informationen finden Sie im Beispiel für das Entfernen von PDF-Objekten.

Der Code lädt die Datei BeforeScale.pdf und entfernt das erste Bild von der ersten Seite.

Welchen Code sollte ich zum Entfernen von Objekten verwenden?

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

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

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

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

// Save the modified PDF
pdf.SaveAs("removedFirstImage.pdf");
$vbLabelText   $csharpLabel

Was passiert, wenn ich mehrere Objekte entferne?

Die Indizes der verbleibenden Objekte verschieben sich nach dem Entfernen. Wenn Sie mehrere Objekte entfernen, entfernen Sie sie in umgekehrter Reihenfolge, um korrekte Indizes zu erhalten. Diese Technik ist hilfreich, wenn Sie Text aus sensiblen Dokumenten herausnehmen möchten.

Wie kombiniere ich mehrere DOM-Operationen?

Der DOM-Zugriff von IronPDF ermöglicht ausgefeilte Arbeitsabläufe bei der Dokumentenverarbeitung. Kombinieren Sie Operationen für komplexe Transformationen:

Wann sollte ich Combined Operations verwenden?

// Example of combining multiple DOM operations
using IronPdf;
using System.Linq;

PdfDocument pdf = PdfDocument.FromFile("complex-document.pdf");

// Iterate through all pages
foreach (var page in pdf.Pages)
{
    var objects = page.ObjectModel;

    // Process text objects
    foreach (var textObj in objects.TextObjects)
    {
        // Change color of specific text
        if (textObj.Contents.Contains("Important"))
        {
            textObj.Color = System.Drawing.Color.Red;
        }
    }

    // Scale down all images by 50%
    foreach (var imgObj in objects.ImageObjects)
    {
        imgObj.Scale = new System.Drawing.PointF(0.5f, 0.5f);
    }
}

pdf.SaveAs("processed-document.pdf");
// Example of combining multiple DOM operations
using IronPdf;
using System.Linq;

PdfDocument pdf = PdfDocument.FromFile("complex-document.pdf");

// Iterate through all pages
foreach (var page in pdf.Pages)
{
    var objects = page.ObjectModel;

    // Process text objects
    foreach (var textObj in objects.TextObjects)
    {
        // Change color of specific text
        if (textObj.Contents.Contains("Important"))
        {
            textObj.Color = System.Drawing.Color.Red;
        }
    }

    // Scale down all images by 50%
    foreach (var imgObj in objects.ImageObjects)
    {
        imgObj.Scale = new System.Drawing.PointF(0.5f, 0.5f);
    }
}

pdf.SaveAs("processed-document.pdf");
$vbLabelText   $csharpLabel

Was sind häufige Anwendungsfälle für kombinierte Operationen?

Kombinierte DOM-Operationen funktionieren gut für:

  1. Batch-Dokumentenverarbeitung: Verarbeiten Sie Dokumente, um die Formatierung zu standardisieren oder sensible Inhalte zu entfernen
  2. Dynamische Berichterstellung: Ändern Sie PDF-Vorlagen mit Echtzeitdaten und kontrollieren Sie dabei das Layout
  3. Inhaltsmigration: Extrahieren und Umstrukturieren von Inhalten aus PDFs in neue Layouts
  4. Zugänglichkeitsverbesserungen: Verbessern Sie Dokumente durch Ändern der Textgröße, des Kontrasts oder der Abstände

Diese Techniken ermöglichen leistungsstarke PDF-Verarbeitungsanwendungen, die komplexe Änderungen vornehmen können. Zur Verwaltung von Dokumenteigenschaften siehe den Leitfaden zur Verwaltung von Metadaten.

Wie ist der DOM-Zugriff im Vergleich zu anderen Methoden der PDF-Manipulation?

Die Arbeit mit dem PDF-DOM bietet Vorteile gegenüber herkömmlichen Ansätzen:

// Example: Selective content modification based on criteria
using IronPdf;
using System.Linq;

PdfDocument report = PdfDocument.FromFile("quarterly-report.pdf");

foreach (var page in report.Pages)
{
    var textObjects = page.ObjectModel.TextObjects;

    // Highlight negative values in financial reports
    foreach (var text in textObjects)
    {
        if (text.Contents.StartsWith("-$") || text.Contents.Contains("Loss"))
        {
            text.Color = System.Drawing.Color.Red;
        }
    }
}

report.SaveAs("highlighted-report.pdf");
// Example: Selective content modification based on criteria
using IronPdf;
using System.Linq;

PdfDocument report = PdfDocument.FromFile("quarterly-report.pdf");

foreach (var page in report.Pages)
{
    var textObjects = page.ObjectModel.TextObjects;

    // Highlight negative values in financial reports
    foreach (var text in textObjects)
    {
        if (text.Contents.StartsWith("-$") || text.Contents.Contains("Loss"))
        {
            text.Color = System.Drawing.Color.Red;
        }
    }
}

report.SaveAs("highlighted-report.pdf");
$vbLabelText   $csharpLabel

Diese granulare Kontrolle ist mit der HTML-zu-PDF-Konvertierung allein nicht möglich, weshalb der DOM-Zugriff für eine anspruchsvolle PDF-Verarbeitung unerlässlich ist.

Bereit zu sehen, was Sie sonst noch tun können? Sehen Sie sich die Tutorial-Seite hier an: PDFs bearbeiten

Häufig gestellte Fragen

Wofür wird die ObjectModel-Eigenschaft bei der PDF-Bearbeitung verwendet?

Die ObjectModel-Eigenschaft in IronPDF bietet programmatischen Zugriff auf Text-, Bild- und Pfadobjekte in PDF-Dokumenten. Sie ermöglicht es Entwicklern, Elemente direkt aus dem PDF-DOM zu lesen, zu ändern, zu übersetzen, zu skalieren und zu entfernen, ähnlich wie bei der Arbeit mit HTML-DOM-Elementen.

Wie kann ich in C# auf PDF-DOM-Objekte zugreifen?

Um mit IronPDF auf PDF-DOM-Objekte zuzugreifen, importieren Sie zunächst Ihr PDF-Zieldokument und greifen dann auf dessen Pages-Eigenschaft zu. Von dort aus wählen Sie eine beliebige Seite aus und verwenden die ObjectModel-Eigenschaft. Zum Beispiel: var objs = IronPdf.ChromePdfRenderer.RenderUrlAsPdf("https://example.com").Pages.First().ObjectModel;

Auf welche Arten von Objekten kann ich über das PDF-DOM zugreifen?

Das ObjectModel von IronPDF enthält drei Hauptobjekttypen: ImageObject (mit Eigenschaften wie Height, Width und ExportBytesAsJpg), PathObject (mit FillColor, StrokeColor und Points) und TextObject (mit den Eigenschaften Color und Contents). Jedes dieser Objekte verfügt über Methoden, die auf seinen spezifischen Inhaltstyp zugeschnitten sind.

Kann ich Textinhalte in einem PDF-Dokument programmgesteuert ändern?

Ja, IronPDF ermöglicht es Ihnen, den Textinhalt über die Eigenschaft Contents des TextObjects zu ändern. Sie können über das ObjectModel auf Textobjekte zugreifen, ihren Inhalt aktualisieren und das geänderte PDF-Dokument mit nur wenigen Codezeilen speichern.

Wie kann ich Bilder aus PDF-Dokumenten exportieren?

Das ImageObject von IronPDF bietet die Methode ExportBytesAsJpg, mit der Sie Bilder als JPG-Byte-Arrays exportieren können. Greifen Sie über die ObjectModel-Eigenschaft auf das Bild zu und verwenden Sie diese Methode, um Bilddaten programmatisch zu extrahieren.

Welche Informationen sind über die Position der einzelnen DOM-Objekte verfügbar?

Jedes Objekt im ObjectModel von IronPDF enthält Informationen über seinen Seitenindex, seine Bounding-Box-Koordinaten, seinen Maßstab und seine Übersetzung. Diese Positionsdaten können sowohl gelesen als auch geändert werden, um Elemente innerhalb der PDF-Datei neu zu positionieren oder zu transformieren.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 17,803,474 | Version: 2026.3 gerade veröffentlicht
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package IronPdf
Führen Sie eine Probe aus Sehen Sie zu, wie Ihr HTML-Code in eine PDF-Datei umgewandelt wird.