Cómo acceder a todos los objetos DOM de PDF utilizando IronPDF en C# | IronPDF

Cómo acceder a todos los objetos DOM de PDF en C#

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

Para acceder a objetos DOM de PDF en C#, utilice la propiedad ObjectModel de IronPDF, que proporciona acceso programático a objetos de texto, imágenes y rutas dentro de documentos PDF, permitiéndole leer, modificar, traducir, escalar y eliminar elementos directamente.

como-encabezado:2(Inicio rápido: Acceder y actualizar elementos DOM de PDF con IronPDF)

Empiece a manipular documentos PDF utilizando las funciones de acceso DOM de IronPDF. Esta guía muestra cómo acceder al DOM del PDF, seleccionar una página y modificar objetos de texto. Cargue su PDF, acceda a la página deseada y actualice el contenido con unas pocas líneas de código.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronPDF con el gestor de paquetes NuGet

    PM > Install-Package IronPdf

  2. Copie y ejecute este fragmento de código.

    var objs = IronPdf.ChromePdfRenderer.RenderUrlAsPdf("https://example.com").Pages.First().ObjectModel;
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronPDF en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

¿Cómo acceder a objetos DOM en PDF?

Se accede al ObjectModel desde el objeto PdfPage. Primero, importe el PDF deseado y acceda a su propiedad Pages. A partir de ahí, seleccione cualquier página para acceder a la propiedad ObjectModel. Esto permite interactuar con el contenido PDF mediante programación, de forma similar al trabajo con elementos DOM de HTML.

Cuando se trabaja con objetos PDF DOM, se accede a la estructura subyacente del documento PDF. Esto incluye elementos de texto, imágenes, gráficos vectoriales (paths) y otros contenidos que conforman la representación visual de su PDF. IronPDF ofrece un enfoque orientado a objetos para la manipulación de PDF que se integra con aplicaciones 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;
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
Depurador de IronPDF mostrando la colección TextObjects con coordenadas BoundingBox y propiedades de transformación

La propiedad ObjectModel contiene ImageObject, PathObject y TextObject. Cada objeto contiene información sobre su índice de página, cuadro delimitador, escala y traducción. Esta información puede modificarse. Para opciones de renderizado, puede personalizar cómo se muestran estos objetos. Cuando se trabaja con márgenes personalizados, es importante comprender el posicionamiento de los objetos.

: - `Height`: Altura de la imagen - `Ancho`: Anchura de la imagen - `ExportBytesAsJpg`: Método para exportar la imagen como matriz de bytes JPG: - `FillColor`: El color de relleno de la ruta - `StrokeColor`: El color del trazo de la ruta - `Puntos`: Colección de puntos que definen la trayectoria: - `Color`: El color del texto - `Contenido`: El contenido real del texto Cada tipo de objeto proporciona métodos y propiedades adaptados a su tipo de contenido. Cuando necesite [extraer texto e imágenes](https://ironpdf.com/how-to/extract-text-and-images/) o modificar un contenido específico, estos objetos proporcionan un control granular. Esto resulta útil cuando se trabaja con [formularios PDF](https://ironpdf.com/how-to/create-forms/) en los que es necesario manipular campos de formulario mediante programación. ### ¿Cómo puedo recuperar información sobre glifos y cuadros delimitadores? A la hora de especificar glifos exactos con fuentes personalizadas, es esencial recuperar información sobre el cuadro delimitador y el glifo. IronPDF proporciona esta información para un posicionamiento de píxeles perfecto al [dibujar texto y mapas de bits](https://ironpdf.com/how-to/draw-text-and-bitmap/) en PDF existentes. Acceda al **ObjectModel** desde el objeto **PdfPage**. A continuación, acceda a la colección **TextObjects**. Llame al método `GetGlyphInfo` para recuperar información sobre glifos y cuadros delimitadores. ```cs :path=/static-assets/pdf/content-code-examples/how-to/access-pdf-dom-object-retrieve-glyph.cs ```
Depurador que muestra las propiedades del objeto glifo PDF, incluidas las coordenadas, los límites y los detalles del contenido de texto
La información sobre glifos incluye datos de posicionamiento, métricas de fuentes y detalles específicos de los caracteres para la manipulación avanzada de PDF. Esto permite la creación de aplicaciones de procesamiento de PDF que manejan requisitos complejos de tipografía y maquetación. Al trabajar con [fuentes personalizadas](https://ironpdf.com/how-to/manage-fonts/), este acceso a nivel de glifo garantiza una representación precisa en todos los sistemas.
## ¿Cómo puedo traducir objetos PDF? Ajuste el diseño del PDF cambiando la posición de elementos como texto o imágenes. Mover objetos cambiando su propiedad `Translate`. Esta funcionalidad forma parte de las capacidades de transformación de [PDF](https://ironpdf.com/how-to/transform-pdf-pages/) de IronPDF. El siguiente ejemplo muestra HTML utilizando CSS Flexbox para centrar el texto. Accede al primer `TextObject` y tradúcelo asignando un nuevo `PointF` a la propiedad `Translate`. Esto desplaza el texto 200 puntos a la derecha y 150 puntos hacia arriba. Si desea ver más ejemplos, visite la página [Ejemplo de traducción de objetos PDF](https://ironpdf.com/examples/translate-pdf-objects/). ### ¿Qué código utilizo para traducir objetos? ```csharp :path=/static-assets/pdf/content-code-examples/how-to/access-pdf-dom-object-translate.cs ``` ### ¿Qué aspecto tiene el resultado de la traducción? El resultado muestra "Centrado" desplazado 200 puntos a la derecha y 150 puntos hacia arriba desde su posición original.
Comparación de antes y después de la traducción de un PDF que muestra la posición y el formato del texto
Las operaciones de traducción mantienen las propiedades originales del objeto, como la fuente, el tamaño y el color, y solo cambian la posición. Es ideal para realizar ajustes de maquetación sin afectar al aspecto visual. Esta función funciona con [encabezados y pies de página](https://ironpdf.com/how-to/headers-and-footers/) al reposicionar contenido generado dinámicamente.
## ¿Cómo puedo escalar objetos PDF? Cambie el tamaño de los objetos PDF mediante la propiedad `Scale`. Esta propiedad actúa como un multiplicador. Los valores superiores a 1 aumentan el tamaño, mientras que los valores entre 0 y 1 lo disminuyen. El escalado es esencial para los diseños dinámicos y para ajustar el contenido a las dimensiones de la página. Consulte la [guía de objetos PDF](https://ironpdf.com/examples/scale-pdf-objects/) para ver más ejemplos. El ejemplo renderiza HTML que contiene una imagen. Accede al primer `ImageObject` y lo escala al 70% asignando a `Scale` un nuevo `PointF` con 0,7 para ambos ejes. ### ¿Cuál es el código para escalar objetos PDF? ```csharp :path=/static-assets/pdf/content-code-examples/how-to/access-pdf-dom-object-scale.cs ``` Aplique diferentes factores de escala a los ejes X e Y de forma independiente para obtener una escala no uniforme. Esto es útil para ajustar el contenido a dimensiones específicas. Al trabajar con [tamaños de papel personalizados](https://ironpdf.com/how-to/custom-paper-size/), el escalado ayuda a garantizar que el contenido se ajuste a los límites de la página. ### ¿Cómo es el escalado en la práctica? La salida muestra la imagen escalada al 70% de su tamaño original.
Demostración de escalado de PDF: Logotipo de IRON escalado de tamaño grande (izquierda) a tamaño pequeño (derecha) con flecha que muestra la transformación

## ¿Cómo puedo eliminar objetos PDF? Eliminar objetos accediendo a la colección DOM de PDF como `ImageObjects` o `TextObjects`. Llame a `RemoveAt` en la colección, pasando el índice del objeto a eliminar. Esto resulta útil para redactar contenidos o simplificar documentos. Más información en el [ejemplo de eliminación de objetos PDF](https://ironpdf.com/examples/remove-pdf-objects/). El código carga BeforeScale.pdf y elimina la primera imagen de la primera página. ### ¿Qué código debo utilizar para eliminar objetos? ```csharp :path=/static-assets/pdf/content-code-examples/how-to/access-pdf-dom-object-remove.cs ``` ### ¿Qué ocurre cuando elimino varios objetos? Los índices de los objetos restantes se desplazan tras la eliminación. Al eliminar varios objetos, elimínelos en orden inverso para mantener los índices correctos. Esta técnica es útil para [redactar texto](https://ironpdf.com/how-to/redact-text/) de documentos confidenciales. ## ¿Cómo combino varias operaciones DOM? El acceso DOM de IronPDF permite sofisticados flujos de trabajo de procesamiento de documentos. Combinar operaciones para transformaciones complejas: ### ¿Cuándo debo utilizar operaciones combinadas? ```csharp // Example of combining multiple DOM operations using IronPdf; using System.Drawing; 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 = Color.Red; } } // Scale down all images by 50% foreach (var imgObj in objects.ImageObjects) { imgObj.Scale = new PointF(0.5f, 0.5f); } } pdf.SaveAs("processed-document.pdf"); ``` ### ¿Cuáles son los casos de uso comunes de las operaciones combinadas? Las operaciones DOM combinadas funcionan bien para: 1. **Procesamiento de documentos por lotes**: Procese documentos para estandarizar el formato o eliminar contenido sensible 2. **Generación de informes dinámicos**: Modifique plantillas PDF con datos en tiempo real mientras controla el diseño 3. **Migración de contenidos**: Extraer y reorganizar contenidos de PDF en nuevos diseños 4. **Mejoras de accesibilidad**: mejore los documentos modificando el tamaño del texto, el contraste o el espaciado Estas técnicas permiten potentes aplicaciones de procesamiento de PDF que gestionan modificaciones complejas. Para gestionar las propiedades de los documentos, consulte la [guía de gestión de metadatos](https://ironpdf.com/how-to/metadata/). ## ¿Cómo se compara el acceso DOM con otros métodos de manipulación de PDF? Trabajar con PDF DOM ofrece ventajas sobre los enfoques tradicionales: ```csharp // Example: Selective content modification based on criteria using IronPdf; using System.Drawing; 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 = Color.Red; } } } report.SaveAs("highlighted-report.pdf"); ``` Este control granular no es posible sólo con [conversión de HTML a PDF](https://ironpdf.com/how-to/html-to-pdf-responsive-css/), por lo que el acceso al DOM es esencial para el procesamiento sofisticado de PDF. ¿Listo para ver qué más puedes hacer? Consulta la página del tutorial aquí: [Editar PDF](https://ironpdf.com/tutorials/csharp-edit-pdf-complete-tutorial/)

Preguntas Frecuentes

¿Para qué se utiliza la propiedad ObjectModel en la manipulación de PDF?

La propiedad ObjectModel de IronPDF proporciona acceso programático a objetos de texto, imágenes y rutas dentro de documentos PDF. Permite a los desarrolladores leer, modificar, traducir, escalar y eliminar elementos directamente desde el DOM de PDF, de forma similar a trabajar con elementos DOM de HTML.

¿Cómo se accede a los objetos DOM de PDF en C#?

Para acceder a los objetos DOM de PDF mediante IronPDF, importe primero el documento PDF de destino y, a continuación, acceda a su propiedad Pages. Desde allí, seleccione cualquier página y utilice la propiedad ObjectModel. Por ejemplo: var objs = IronPDF.ChromePdfRenderer.RenderUrlAsPdf("https://example.com").Pages.First().ObjectModel;

¿A qué tipos de objetos puedo acceder a través del PDF DOM?

El ObjectModel de IronPDF contiene tres tipos de objetos principales: ImageObject (con propiedades como Height, Width y ExportBytesAsJpg), PathObject (con FillColor, StrokeColor y Points) y TextObject (con propiedades Color y Contents). Cada uno de ellos proporciona métodos adaptados a su tipo de contenido específico.

¿Puedo modificar el contenido de texto de un documento PDF mediante programación?

Sí, IronPDF le permite modificar el contenido del texto a través de la propiedad Contents de TextObject. Puede acceder a los objetos de texto a través del ObjectModel, actualizar su contenido y guardar el documento PDF modificado con sólo unas pocas líneas de código.

¿Cómo puedo exportar imágenes de documentos PDF?

ImageObject de IronPDF proporciona el método ExportBytesAsJpg, que permite exportar imágenes como matrices de bytes JPG. Acceda a la imagen a través de la propiedad ObjectModel y utilice este método para extraer los datos de la imagen mediante programación.

¿Qué información hay disponible sobre la posición de cada objeto DOM?

Cada objeto en el ObjectModel de IronPDF contiene información sobre su índice de página, coordenadas del cuadro delimitador, escala y traslación. Estos datos de posicionamiento pueden leerse y modificarse para reposicionar o transformar elementos dentro del PDF.

Chaknith Bin
Ingeniero de Software
Chaknith trabaja en IronXL e IronBarcode. Tiene un profundo conocimiento en C# y .NET, ayudando a mejorar el software y apoyar a los clientes. Sus conocimientos derivados de las interacciones con los usuarios contribuyen a mejores productos, documentación y experiencia en general.
¿Listo para empezar?
Nuget Descargas 16,685,821 | Versión: 2025.12 recién lanzado