Comment accéder à tous les objets du DOM PDF en using IronPDF en C# | IronPDF

Comment accéder à tous les objets DOM du PDF en C

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

Pour accéder aux objets DOM PDF en C#, utilisez la propriété ObjectModel d'IronPDF qui fournit un accès programmatique aux objets texte, images et chemin dans les documents PDF, vous permettant de lire, modifier, traduire, mettre à l'échelle et supprimer directement des éléments.

Démarrage rapide : Accéder aux éléments DOM PDF et les mettre à jour avec IronPDF

Commencez à manipuler des documents PDF en utilisant les fonctionnalités d'accès au DOM d'IronPDF. Ce guide montre comment accéder au DOM PDF, sélectionner une page et modifier des objets texte. Chargez votre PDF, accédez à la page souhaitée et mettez le contenu à jour en quelques lignes de code.

  1. Installez IronPDF avec le Gestionnaire de Packages NuGet

    PM > Install-Package IronPdf
  2. Copiez et exécutez cet extrait de code.

    var objs = IronPdf.ChromePdfRenderer.RenderUrlAsPdf("https://example.com").Pages.First().ObjectModel;
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit

    arrow pointer

Comment accéder aux objets DOM dans les PDF?

L'objet ObjectModel est accessible depuis l'objet PdfPage. Tout d'abord, importez le PDF cible et accédez à sa propriété Pages. À partir de là, sélectionnez n'importe quelle page pour accéder à la propriété ObjectModel. Cela permet d'interagir avec le contenu PDF de manière programmatique, de la même manière que l'on travaille avec les éléments DOM de HTML.

Lorsque vous travaillez avec des objets DOM PDF, vous accédez à la structure sous-jacente du document PDF. Cela inclut les éléments de texte, les images, les graphiques vectoriels (paths) et tout autre contenu qui constitue la représentation visuelle de votre PDF. IronPDF propose une approche orientée objet de la manipulation des PDF qui s'intègre aux applications C#.

: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
Débogueur IronPDF montrant la collection TextObjects avec les coordonnées BoundingBox et les propriétés de transformation

La propriété ObjectModel contient ImageObject, PathObject et TextObject. Chaque objet contient des informations sur l'index de la page, la boîte englobante, l'échelle et la traduction. Ces informations peuvent être modifiées. Pour les options de rendu, vous pouvez personnaliser l'affichage de ces objets. Lorsque l'on travaille avec des marges personnalisées, il est important de comprendre le positionnement des objets.

<ImageObject>:

  • Height: Hauteur de l'image
  • Width: Largeur de l'image
  • ExportBytesAsJpg: Méthode pour exporter l'image sous forme de tableau d'octets JPG

<PathObject>:

  • FillColor: La couleur de remplissage du tracé
  • StrokeColor: La couleur du trait
  • Points: Ensemble de points définissant le chemin

<TextObject>:

  • Color: La couleur du texte
  • Contents: Le contenu textuel réel

Chaque type d'objet propose des méthodes et des propriétés adaptées à son type de contenu. Lorsque vous devez extraire du texte et des images ou modifier un contenu spécifique, ces objets offrent un contrôle granulaire. Cela est utile lorsque vous travaillez avec des formulaires PDF où vous devez manipuler des champs de formulaire de manière programmatique.

Comment récupérer les informations sur les glyphes et les boîtes de délimitation ?

Lorsqu'il s'agit de spécifier des glyphes exacts avec des polices personnalisées, il est essentiel de récupérer les informations relatives à la boîte de délimitation et aux glyphes. IronPDF fournit ces informations pour un positionnement au pixel près lorsque dessiner du texte et des bitmaps sur des PDF existants.

Accédez à l'objet ObjectModel depuis l'objet PdfPage. Accédez ensuite à la collection TextObjects. Appelez la méthode GetGlyphInfo pour récupérer les informations sur le glyphe et la boîte englobante.

: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
Débogueur montrant les propriétés de l'objet glyphe PDF, y compris les coordonnées, les limites et les détails du contenu du texte

Les informations sur les glyphes comprennent des données de positionnement, des mesures de police et des détails spécifiques aux caractères pour une manipulation avancée des PDF. Cela permet de créer des applications de traitement PDF qui gèrent des exigences complexes en matière de typographie et de mise en page. Lorsque vous travaillez avec des polices personnalisées, cet accès au niveau des glyphes garantit un rendu précis sur l'ensemble des systèmes.


Comment traduire des objets PDF?

Ajustez la mise en page du PDF en repositionnant des éléments tels que du texte ou des images. Déplacez les objets en modifiant leur propriété Translate. Cette fonctionnalité fait partie des capacités de transformation de fichiers PDF d'IronPDF.

L'exemple ci-dessous rend HTML en utilisant CSS Flexbox pour centrer le texte. Il accède au premier TextObject et le traduit en attribuant un nouveau PointF à la propriété Translate. Le texte est ainsi décalé de 200 points vers la droite et de 150 points vers le haut. Pour plus d'exemples, visitez la page d'exemple de traduction d'objets PDF.

Quel code dois-je utiliser pour traduire les objets ?

: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

À quoi ressemble le résultat de la traduction?

Le résultat montre que "Centered" est décalé de 200 points vers la droite et de 150 points vers le haut par rapport à sa position d'origine.

Comparaison de la traduction PDF avant et après, montrant que le positionnement et le formatage du texte ont été préservés

Les opérations de traduction conservent les propriétés originales de l'objet, telles que la police, la taille et la couleur, et ne modifient que la position. La traduction est idéale pour les ajustements de mise en page sans affecter l'apparence visuelle. Cette fonctionnalité fonctionne avec les en-têtes et les pieds de page lors du repositionnement du contenu généré dynamiquement.


Comment mettre à l'échelle des objets PDF?

Redimensionnez les objets PDF à l'aide de la propriété Scale. Cette propriété agit comme un multiplicateur. Les valeurs supérieures à 1 augmentent la taille, tandis que les valeurs comprises entre 0 et 1 la diminuent. La mise à l'échelle est essentielle pour les mises en page dynamiques et l'ajustement du contenu aux dimensions de la page. Voir le guide des objets PDF à l'échelle pour plus d'exemples.

L'exemple rend du HTML contenant une image. Il accède au premier ImageObject et le met à l'échelle à 70 % en attribuant à Scale un nouveau PointF avec 0,7 pour les deux axes.

Quel est le code pour la mise à l'échelle des objets PDF?

: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

Appliquer des facteurs d'échelle différents aux axes X et Y de manière indépendante pour une mise à l'échelle non uniforme. Cela permet d'adapter le contenu à des dimensions spécifiques. Lorsque vous travaillez avec des formats de papier personnalisés, la mise à l'échelle permet de s'assurer que le contenu s'inscrit dans les limites de la page.

À quoi ressemble la mise à l'échelle en pratique?

La sortie montre l'image redimensionnée à 70 % de sa taille d'origine.

Démonstration de la mise à l'échelle d'un PDF : Logo Iron mis à l'échelle de la grande taille (à gauche) à la petite taille (à droite) avec une flèche montrant la transformation

Comment supprimer les objets PDF?

Supprimez les objets en accédant à la collection DOM PDF comme ImageObjects ou TextObjects. Appelez RemoveAt sur la collection, en passant l'index de l'objet à supprimer. Elle est utile pour expurger le contenu ou simplifier les documents. Pour en savoir plus, consultez l'exemple supprimer les objets PDF.

Le code charge le fichier BeforeScale.pdf et supprime la première image de la première page.

Quel code dois-je utiliser pour supprimer des objets?

: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

Que se passe-t-il lorsque je supprime plusieurs objets ?

Les indices des objets restants se déplacent après la suppression. Lorsque vous supprimez plusieurs objets, faites-le dans l'ordre inverse pour conserver des indices corrects. Cette technique est utile lorsque vous rédigez du texte à partir de documents sensibles.

Comment combiner plusieurs opérations DOM?

L'accès DOM d'IronPDF permet de mettre en place des flux de traitement de documents sophistiqués. Combinez les opérations pour les transformations complexes :

Quand utiliser les opérations combinées?

// 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

Quels sont les cas d'utilisation courants pour les opérations combinées ?

Les opérations DOM combinées fonctionnent bien pour :

  1. Traitement de documents par lots: Traiter les documents pour normaliser le formatage ou supprimer le contenu sensible
  2. Génération de rapports dynamiques: Modifier les modèles de PDF avec des données en temps réel tout en contrôlant la mise en page
  3. Migration de contenu: Extraire et réorganiser le contenu des PDF dans de nouvelles mises en page
  4. Amélioration de l'accessibilité: Améliorer les documents en modifiant la taille, le contraste ou l'espacement du texte

Ces techniques permettent de créer des applications de traitement PDF puissantes qui gèrent des modifications complexes. Pour la gestion des propriétés des documents, voir le guide de gestion des métadonnées.

Comment DOM Access se compare-t-il aux autres méthodes de manipulation des PDF ?

Travailler avec PDF DOM présente des avantages par rapport aux approches traditionnelles :

// 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

Ce contrôle granulaire n'est pas possible avec la seule conversion HTML en PDF, ce qui rend l'accès au DOM essentiel pour un traitement sophistiqué des PDF.

Prêt à voir ce que vous pouvez faire d'autre? Consultez la page du tutoriel ici : Éditer des PDF

Questions Fréquemment Posées

À quoi sert la propriété ObjectModel dans la manipulation des PDF ?

La propriété ObjectModel d'IronPDF offre un accès programmatique au texte, aux images et aux objets de chemin d'accès dans les documents PDF. Elle permet aux développeurs de lire, modifier, traduire, mettre à l'échelle et supprimer des éléments directement à partir du DOM PDF, comme s'ils travaillaient avec des éléments du DOM HTML.

Comment accéder aux objets PDF DOM en C# ?

Pour accéder aux objets DOM PDF à l'aide d'IronPDF, commencez par importer votre document PDF cible, puis accédez à sa propriété Pages. De là, sélectionnez n'importe quelle page et utilisez la propriété ObjectModel. Par exemple : var objs = IronPdf.ChromePdfRenderer.RenderUrlAsPdf("https://example.com").Pages.First().ObjectModel ;

À quels types d'objets puis-je accéder par l'intermédiaire du DOM PDF ?

Le modèle d'objets d'IronPDF contient trois types d'objets principaux : ImageObject (avec des propriétés telles que Height, Width et ExportBytesAsJpg), PathObject (avec FillColor, StrokeColor et Points) et TextObject (avec des propriétés de couleur et de contenu). Chacun de ces objets propose des méthodes adaptées à son type de contenu spécifique.

Puis-je modifier le contenu textuel d'un document PDF par programmation ?

Oui, IronPDF vous permet de modifier le contenu du texte par le biais de la propriété Contents du TextObject. Vous pouvez accéder aux objets texte via le modèle objet, mettre à jour leur contenu et enregistrer le document PDF modifié en quelques lignes de code seulement.

Comment puis-je exporter des images à partir de documents PDF ?

L'objet ImageObject d'IronPDF fournit la méthode ExportBytesAsJpg, qui vous permet d'exporter des images sous forme de tableaux d'octets JPG. Accédez à l'image par le biais de la propriété ObjectModel et utilisez cette méthode pour extraire les données de l'image par programme.

Quelles sont les informations disponibles sur la position de chaque objet DOM ?

Chaque objet du modèle d'objets d'IronPDF contient des informations sur l'index de sa page, les coordonnées de sa boîte englobante, son échelle et sa translation. Ces données de positionnement peuvent être lues et modifiées pour repositionner ou transformer des éléments dans le PDF.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 17,803,474 | Version : 2026.3 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronPdf
exécuter un échantillon Regardez votre code HTML se transformer en PDF.