# Zugriff auf alle PDF-DOM-Objekte in C#
Um auf PDF-DOM-Objekte in C# zuzugreifen, verwenden Sie die `ObjectModel`-Eigenschaft von IronPDF, die Ihnen programmgesteuerten Zugriff auf Text-, Bild- und Pfadobjekte innerhalb von PDF-Dokumenten bietet. So können Sie Elemente direkt lesen, ändern, übersetzen, skalieren und entfernen.
*as-heading:2(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.
```cs
:title=Access and modify PDF DOM objects in one line!
var objs = IronPdf.ChromePdfRenderer.RenderUrlAsPdf("https://example.com").Pages.First().ObjectModel;
```
<div class="hsg-featured-snippet">
<h3>Minimaler Arbeitsablauf (5 Schritte)</h3>
<ol>
<li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://nuget.org/packages/IronPdf">Herunterladen der C#-Bibliothek für den Zugriff auf PDF-DOM-Objekte</a></li>
<li>Importieren oder rendern Sie das gezielte PDF-Dokument</li>
<li>Greifen Sie auf die <code>Pages</code>-Sammlung des PDFs zu und wählen Sie die gewünschte Seite aus</li>
<li>Verwenden Sie die <strong>ObjectModel</strong>-Eigenschaft, um die DOM-Objekte anzuzeigen und mit ihnen zu interagieren</li>
<li>Speichern oder exportieren Sie das geänderte PDF-Dokument</li>
</ol>
</div>
## Wie kann ich auf DOM-Objekte in PDFs zugreifen?
Auf die `ObjectModel`-Eigenschaft wird über das `PdfPage`-Objekt zugegriffen. Importieren Sie zuerst das Zielformat-PDF und greifen Sie auf dessen `Pages`-Eigenschaft zu. Wählen Sie von dort aus eine beliebige Seite aus, um auf die `ObjectModel`-Eigenschaft 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.
```csharp
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;
```
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/pdf/how-to/access-pdf-dom-object/debug.webp" alt="IronPDF-Debugger zeigt die TextObjects-Sammlung mit BoundingBox-Koordinaten und Transformationseigenschaften" class="img-responsive add-shadow" />
</div>
</div>
Die `ObjectModel`-Eigenschaft enthält `ImageObject`, `PathObject` und `TextObject`. Jedes Objekt enthält Informationen über seinen Seitenindex, Begrenzungsrahmen, `Scale` und `Translation`. Diese Informationen können geändert werden. Für [Wiedergabeoptionen](https://ironpdf.com/how-to/rendering-options/) können Sie die Anzeige dieser Objekte anpassen. Bei der Arbeit mit [Benutzerdefinierten Rändern](https://ironpdf.com/how-to/custom-margins/) 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 `Text`-Inhalt
Jeder Objekttyp bietet Methoden und Eigenschaften, die auf den jeweiligen Inhaltstyp zugeschnitten sind. Wenn Sie [Text und Bilder extrahieren](https://ironpdf.com/how-to/extract-text-and-images/) oder bestimmte Inhalte ändern möchten, bieten diese Objekte eine detaillierte Kontrolle. Dies ist nützlich bei der Arbeit mit [PDF-Formularen](https://ironpdf.com/how-to/create-forms/), 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](https://ironpdf.com/how-to/draw-text-and-bitmap/) in bestehenden PDFs.
Greifen Sie auf die `ObjectModel`-Eigenschaft über das `PdfPage`-Objekt zu. Greifen Sie dann auf die `TextObjects`-Sammlung zu. Rufen Sie die `GetGlyphInfo`-Methode auf, um Glyphen- und Begrenzungsrahmeninformationen abzurufen.
```cs
using IronPdf;
using System.Linq;
PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
var glyph = pdf.Pages.First().ObjectModel.TextObjects.First().GetGlyphInfo();
```
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/pdf/how-to/access-pdf-dom-object/glyphinformation.webp" alt="Debugger, der die Eigenschaften von PDF-Glyphenobjekten anzeigt, einschließlich Koordinaten, Begrenzungen und Details zum Textinhalt" class="img-responsive add-shadow" />
</div>
</div>
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](https://ironpdf.com/how-to/manage-fonts/) gewährleistet dieser Zugriff auf Glyphenebene die korrekte Darstellung auf verschiedenen Systemen.
<hr />
## Wie kann ich PDF-Objekte übersetzen?
Anpassung des PDF-Layouts durch Neupositionierung von Elementen wie Text oder Bildern. Verschieben Sie Objekte, indem Sie ihre `Translate`-Eigenschaft ändern. Diese Funktion ist Teil der [PDF-Umwandlungsfunktionen](https://ironpdf.com/how-to/transform-pdf-pages/) von IronPDF.
Das unten stehende Beispiel rendert HTML mit CSS Flexbox, um den Text zu zentrieren. Es greift auf die erste `TextObject` zu und übersetzt sie, indem es der `Translate`-Eigenschaft eine neue `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](https://ironpdf.com/examples/translate-pdf-objects/).
### Welchen Code verwende ich zum Übersetzen von Objekten?
```csharp
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");
```
### Wie sieht das Ergebnis der Übersetzung aus?
Die Ausgabe zeigt "Centered" um 200 Punkte nach rechts und 150 Punkte nach oben verschoben.
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/pdf/how-to/access-pdf-dom-object/translate.webp" alt="Vergleich der PDF-Übersetzung vor und nach der Übersetzung, wobei die Positionierung und Formatierung des Textes erhalten bleibt" class="img-responsive add-shadow" />
</div>
</div>
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](https://ironpdf.com/how-to/headers-and-footers/), wenn dynamisch generierte Inhalte neu positioniert werden.
<hr />
## Wie skaliere ich PDF-Objekte?
Ändern Sie die Größe von PDF-Objekten mithilfe der `Scale`-Eigenschaft. 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](https://ironpdf.com/examples/scale-pdf-objects/).
Das Beispiel rendert HTML, das ein Bild enthält. Es greift auf die erste `ImageObject` zu und skaliert sie auf 70 %, indem `Scale` eine neue `PointF` mit 0,7 für beide Achsen zugewiesen wird.
### Wie lautet der Code für die Skalierung von PDF-Objekten?
```csharp
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");
```
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](https://ironpdf.com/how-to/custom-paper-size/) 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.
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/pdf/how-to/access-pdf-dom-object/scale.webp" alt="Demo zur PDF-Skalierung: IRON-Logo skaliert von groß (links) auf klein (rechts) mit Pfeil, der die Umwandlung anzeigt" class="img-responsive add-shadow" />
</div>
</div>
<hr />
## Wie kann ich PDF-Objekte entfernen?
Entfernen Sie Objekte, indem Sie auf die PDF-DOM-Sammlung wie `ImageObjects` oder `TextObjects` zugreifen. 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](https://ironpdf.com/examples/remove-pdf-objects/).
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?
```csharp
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");
```
### 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](https://ironpdf.com/how-to/redact-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?
```csharp
// 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.FillColor = IronSoftware.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");
```
### Was sind häufige Anwendungsfälle für kombinierte Operationen?
Kombinierte DOM-Operationen funktionieren gut für:
1. **Batch-Dokumentenverarbeitung:** Verarbeiten von Dokumenten zur Standardisierung des Formats oder zur Entfernung sensibler Inhalte
2. **Dynamische Berichtserstellung:** Ändern Sie Vorlagen-PDFs mit Echtzeitdaten und steuern Sie das Layout
3. **Inhaltsmigration:** Extrahieren und reorganisieren Sie Inhalte aus PDFs in neue Layouts
4. **Verbesserungen der Barrierefreiheit:** Verbessern Sie Dokumente durch Ändern von Textgröße, Kontrast oder Abstand
Diese Techniken ermöglichen leistungsstarke PDF-Verarbeitungsanwendungen, die komplexe Änderungen vornehmen können. Zur Verwaltung von Dokumenteigenschaften siehe den [Leitfaden zur Verwaltung von Metadaten](https://ironpdf.com/how-to/metadata/).
## 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:
```csharp
// 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.FillColor = IronSoftware.Drawing.Color.Red;
}
}
}
report.SaveAs("highlighted-report.pdf");
```
Diese granulare Kontrolle ist mit der [HTML-zu-PDF-Konvertierung](https://ironpdf.com/how-to/html-to-pdf-responsive-css/) 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](https://ironpdf.com/tutorials/csharp-edit-pdf-complete-tutorial/)
Um auf PDF-DOM-Objekte in C# zuzugreifen, verwenden Sie die ObjectModel-Eigenschaft von IronPDF, die Ihnen programmgesteuerten Zugriff auf Text-, Bild- und Pfadobjekte innerhalb von PDF-Dokumenten bietet. So können Sie Elemente direkt lesen, ändern, übersetzen, skalieren und entfernen.
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.
1Install IronPDF with NuGet Package Manager
PM > Install-Package IronPdf
Install-Package IronPdf
2Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
var objs = IronPdf.ChromePdfRenderer.RenderUrlAsPdf("https://example.com").Pages.First().ObjectModel;
var objs = IronPdf.ChromePdfRenderer.RenderUrlAsPdf("https://example.com").Pages.First().ObjectModel;
C#
3Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronPDF in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Importieren oder rendern Sie das gezielte PDF-Dokument
Greifen Sie auf die Pages-Sammlung des PDFs zu und wählen Sie die gewünschte Seite aus
Verwenden Sie die ObjectModel-Eigenschaft, um die DOM-Objekte anzuzeigen und mit ihnen zu interagieren
Speichern oder exportieren Sie das geänderte PDF-Dokument
Wie kann ich auf DOM-Objekte in PDFs zugreifen?
Auf die ObjectModel-Eigenschaft wird über das PdfPage-Objekt zugegriffen. Importieren Sie zuerst das Zielformat-PDF und greifen Sie auf dessen Pages-Eigenschaft zu. Wählen Sie von dort aus eine beliebige Seite aus, um auf die ObjectModel-Eigenschaft 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.
using IronPdf;using System.Linq;// Instantiate RendererChromePdfRenderer renderer = new ChromePdfRenderer();// Create a PDF from a URLPdfDocument pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");// Access DOM Objectsvar objects = pdf.Pages.First().ObjectModel;
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;
ImportsIronPdfImportsSystem.Linq' Instantiate RendererPrivate renderer As New ChromePdfRenderer()' Create a PDF from a URLPrivate pdf AsPdfDocument = renderer.RenderUrlAsPdf("https://ironpdf.com/")' Access DOM ObjectsPrivate 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
Die ObjectModel-Eigenschaft enthält ImageObject, PathObject und TextObject. Jedes Objekt enthält Informationen über seinen Seitenindex, Begrenzungsrahmen, Scale und Translation. 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 Text-Inhalt
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 auf die ObjectModel-Eigenschaft über das PdfPage-Objekt zu. Greifen Sie dann auf die TextObjects-Sammlung zu. Rufen Sie die GetGlyphInfo-Methode auf, um Glyphen- und Begrenzungsrahmeninformationen abzurufen.
using IronPdf;using System.Linq;PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");var glyph = pdf.Pages.First().ObjectModel.TextObjects.First().GetGlyphInfo();
using IronPdf;
using System.Linq;
PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
var glyph = pdf.Pages.First().ObjectModel.TextObjects.First().GetGlyphInfo();
ImportsIronPdfImportsSystem.LinqDim pdf AsPdfDocument = PdfDocument.FromFile("invoice.pdf")Dim glyph = pdf.Pages.First().ObjectModel.TextObjects.First().GetGlyphInfo()
Imports IronPdf
Imports System.Linq
Dim pdf As PdfDocument = PdfDocument.FromFile("invoice.pdf")
Dim glyph = pdf.Pages.First().ObjectModel.TextObjects.First().GetGlyphInfo()
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. Verschieben Sie Objekte, indem Sie ihre Translate-Eigenschaft ändern. 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 die erste TextObject zu und übersetzt sie, indem es der Translate-Eigenschaft eine neue 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?
using IronPdf;using System.Drawing;using System.Linq;// Setup the Renderervar 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 PDFPdfDocument pdf = renderer.RenderHtmlAsPdf(html);// Save the original PDF to see the "before" statepdf.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" statepdf.SaveAs("AfterTranslate.pdf");
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");
ImportsIronPdfImportsSystem.DrawingImportsSystem.Linq' Setup the RendererDim renderer As New ChromePdfRenderer()' We use CSS Flexbox to perfectly center the text vertically and horizontally.Dim html AsString = "<div style='display: flex; justify-content: center; align-items: center; font-size: 48px;'> Centered</div>"' Render the HTML to a PDFDim pdf AsPdfDocument = renderer.RenderHtmlAsPdf(html)' Save the original PDF to see the "before" statepdf.SaveAs("BeforeTranslate.pdf")' Access the first text object on the first page' In this simple HTML, this will be our "Centered" text block.Dim 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" statepdf.SaveAs("AfterTranslate.pdf")
Imports IronPdf
Imports System.Drawing
Imports System.Linq
' Setup the Renderer
Dim renderer As New ChromePdfRenderer()
' We use CSS Flexbox to perfectly center the text vertically and horizontally.
Dim html As String = "
<div style='display: flex; justify-content: center; align-items: center; font-size: 48px;'>
Centered
</div>"
' Render the HTML to a PDF
Dim pdf As PdfDocument = 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.
Dim 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")
Wie sieht das Ergebnis der Übersetzung aus?
Die Ausgabe zeigt "Centered" um 200 Punkte nach rechts und 150 Punkte nach oben verschoben.
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?
Ändern Sie die Größe von PDF-Objekten mithilfe der Scale-Eigenschaft. 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 die erste ImageObject zu und skaliert sie auf 70 %, indem Scale eine neue PointF mit 0,7 für beide Achsen zugewiesen wird.
Wie lautet der Code für die Skalierung von PDF-Objekten?
using IronPdf;using System.Linq;// Setup the Renderervar 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 PDFPdfDocument pdf = renderer.RenderHtmlAsPdf(html);// Save the PDF before scaling for comparisonpdf.SaveAs("BeforeScale.pdf");// Access the first image object on the first pagevar 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 resultpdf.SaveAs("AfterScale.pdf");
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");
ImportsIronPdfImportsSystem.LinqImportsSystem.Drawing' Setup the RendererDim renderer As New ChromePdfRenderer()' The image is placed in a div to give it some space on the page.Dim html AsString = "<img src='https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTi8LuOR6_A98euPLs-JRwoLU7Nc31nVP15rw&s'>"' Render the HTML to a PDFDim pdf AsPdfDocument = renderer.RenderHtmlAsPdf(html)' Save the PDF before scaling for comparisonpdf.SaveAs("BeforeScale.pdf")' Access the first image object on the first pageDim 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 resultpdf.SaveAs("AfterScale.pdf")
Imports IronPdf
Imports System.Linq
Imports System.Drawing
' Setup the Renderer
Dim renderer As New ChromePdfRenderer()
' The image is placed in a div to give it some space on the page.
Dim html As String = "<img src='https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTi8LuOR6_A98euPLs-JRwoLU7Nc31nVP15rw&s'>"
' Render the HTML to a PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
' Save the PDF before scaling for comparison
pdf.SaveAs("BeforeScale.pdf")
' Access the first image object on the first page
Dim 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")
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.
Meine Lieblingsbibliothek dieser Art ist IronPDF. Es ermöglicht eine schnelle und effiziente Bearbeitung von PDF-Dateien. Es verfügt auch über viele wertvolle Funktionen, wie das Exportieren in das PDF/A-Format und das digitale Signieren von PDF-Dokumenten.
IronOCR bedeutet, dass wir jährlich 40.000 $ durch manuelle Verarbeitung einsparen können, während die Produktivität gesteigert wird und Ressourcen für wichtige Aufgaben freigesetzt werden. Ich würde es sehr empfehlen.
Die Iron Suite spielt eine entscheidende Rolle in unseren Operationen. Diese Werkzeuge erhöhen die Effizienz im gesamten Unternehmen, einschließlich der Erstellung von Grundrissen und der Verbesserung des Bestandsmanagements.
Entfernen Sie Objekte, indem Sie auf die PDF-DOM-Sammlung wie ImageObjects oder TextObjects zugreifen. 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?
using IronPdf;using System.Linq;// Load the PDF file we created in the Scale examplePdfDocument pdf = PdfDocument.FromFile("BeforeScale.pdf");// Access DOM Objectsvar objects = pdf.Pages.First().ObjectModel;// Remove first imageobjects.ImageObjects.RemoveAt(0);// Save the modified PDFpdf.SaveAs("removedFirstImage.pdf");
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");
ImportsIronPdfImportsSystem.Linq' Load the PDF file we created in the Scale exampleDim pdf AsPdfDocument = PdfDocument.FromFile("BeforeScale.pdf")' Access DOM ObjectsDim objects = pdf.Pages.First().ObjectModel' Remove first imageobjects.ImageObjects.RemoveAt(0)' Save the modified PDFpdf.SaveAs("removedFirstImage.pdf")
Imports IronPdf
Imports System.Linq
' Load the PDF file we created in the Scale example
Dim pdf As PdfDocument = PdfDocument.FromFile("BeforeScale.pdf")
' Access DOM Objects
Dim objects = pdf.Pages.First().ObjectModel
' Remove first image
objects.ImageObjects.RemoveAt(0)
' Save the modified PDF
pdf.SaveAs("removedFirstImage.pdf")
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 operationsusing IronPdf;using System.Linq;PdfDocument pdf = PdfDocument.FromFile("complex-document.pdf");// Iterate through all pagesforeach (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.FillColor = IronSoftware.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.FillColor = IronSoftware.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");
C#
Was sind häufige Anwendungsfälle für kombinierte Operationen?
Kombinierte DOM-Operationen funktionieren gut für:
Batch-Dokumentenverarbeitung: Verarbeiten von Dokumenten zur Standardisierung des Formats oder zur Entfernung sensibler Inhalte
Dynamische Berichtserstellung: Ändern Sie Vorlagen-PDFs mit Echtzeitdaten und steuern Sie das Layout
Inhaltsmigration: Extrahieren und reorganisieren Sie Inhalte aus PDFs in neue Layouts
Verbesserungen der Barrierefreiheit: Verbessern Sie Dokumente durch Ändern von Textgröße, Kontrast oder Abstand
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 criteriausing 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.FillColor = IronSoftware.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.FillColor = IronSoftware.Drawing.Color.Red;
}
}
}
report.SaveAs("highlighted-report.pdf");
C#
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.
What is the method to scale PDF objects using IronPDF?
PDF objects can be scaled using the `Scale` property in IronPDF's `ObjectModel`, allowing you to adjust the dimensions of elements such as images or text by specifying scale factors.
How can I translate PDF objects in IronPDF?
Translate PDF objects in IronPDF by adjusting their `Translate` property. This repositioning enables layout adjustments without altering the visual style of the objects.
How do I distinguish CAD features in a PDF without layers using IronPDF?
IronPDF allows you to differentiate CAD features without layers by analyzing the `PathObject` attributes such as `StrokeWidth`, `LineCap`, and `DashPattern`.
What are some common use cases for combined PDF DOM operations using IronPDF?
Combined PDF DOM operations are useful for batch document processing, dynamic report generation, content migration, and improving document accessibility, allowing complex modifications using IronPDF.
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 Handbücher.