IRONSOFTWAREHOME

Jak uzyskać dostęp do wszystkich obiektów DOM PDF w C#

Curtis Chau
Curtis Chau
Updated: 4 czerwca 2026

Aby uzyskać dostęp do obiektów DOM PDF w C#, użyj właściwości ObjectModel z IronPDF, która zapewnia programowy dostęp do tekstu, obrazów i obiektów ścieżek w dokumentach PDF, pozwalając ci na odczyt, modyfikację, tłumaczenie, skalowanie i usuwanie elementów bezpośrednio.

Szybki Start: Uzyskaj i zaktualizuj elementy DOM PDF za pomocą IronPDF

Rozpocznij manipulację dokumentami PDF, korzystając z funkcji dostępu do DOM IronPDF. Ten przewodnik pokazuje, jak uzyskać dostęp do DOM PDF, wybrać stronę i zmodyfikować obiekty tekstowe. Załaduj swój PDF, uzyskaj dostęp do wybranej strony i zaktualizuj zawartość w kilku linijkach kodu.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Skopiuj i uruchom ten fragment kodu.

    var objs = IronPdf.ChromePdfRenderer.RenderUrlAsPdf("https://example.com").Pages.First().ObjectModel;
    C#
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną
    arrow pointer

Jak uzyskać dostęp do obiektów DOM w PDF?

ObjectModel jest dostępny z obiektu PdfPage. Najpierw zaimportuj docelowy PDF i uzyskaj dostęp do jego właściwości Pages. Stamtąd wybierz dowolną stronę, aby uzyskać dostęp do właściwości ObjectModel. To umożliwia programatyczną interakcję z zawartością PDF, podobnie jak praca z elementami DOM HTML.

Pracując z obiektami DOM PDF, uzyskujesz dostęp do podstawowej struktury dokumentu PDF. Obejmuje to elementy tekstowe, obrazy, grafikę wektorową (paths) i inną zawartość składającą się na wizualną reprezentację twojego PDF. IronPDF zapewnia obiektowe podejście do manipulacji PDF, które integruje się z aplikacjami C#.

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;
Debugger IronPDF pokazujący kolekcję TextObjects z współrzędnymi BoundingBox i właściwościami transformacji

Właściwość ObjectModel zawiera ImageObject, PathObject i TextObject. Każdy obiekt zawiera informacje o swoim indeksie strony, obszarze ograniczenia, Scale i Translation. Informacje te mogą ulec zmianie. W opcjach renderowania można dostosować sposób wyświetlania tych obiektów. Podczas pracy z niestandardowymi marginesami ważne jest zrozumienie pozycjonowania obiektów.

<ImageObject>:

  • Height: Wysokość obrazu
  • Width: Szerokość obrazu
  • ExportBytesAsJpg: Metoda eksportu obrazu jako tablicy bajtów JPG

<PathObject>:

  • FillColor: Kolor wypełnienia ścieżki
  • StrokeColor: Kolor obrysu ścieżki
  • Points: Zbiór punktów definiujących ścieżkę

<TextObject>:

  • Color: Kolor tekstu
  • Contents: Rzeczywista zawartość Text

Każdy typ obiektu udostępnia metody i właściwości dostosowane do swojego typu zawartości. Gdy trzeba wyodrębnić tekst i obrazy lub zmodyfikować konkretną treść, obiekty te zapewniają precyzyjną kontrolę. Jest to przydatne podczas pracy z formularzami PDF, w których konieczna jest programowa manipulacja polami formularza.

Jak mogę pobrać informacje o glifach i prostokątach ograniczających?

Podczas określania dokładnych glifów przy użyciu niestandardowych czcionek niezbędne jest pobranie informacji o ramce ograniczającej i glifach. IronPDF udostępnia te informacje w celu uzyskania idealnego pozycjonowania pikseli podczas rysowania tekstu i map bitowych na istniejących plikach PDF.

Uzyskaj dostęp do ObjectModel z obiektu PdfPage. Następnie uzyskaj dostęp do kolekcji TextObjects. Wywołaj metodę GetGlyphInfo, aby pobrać informacje o glyph i obszarze ograniczenia.

using IronPdf;
using System.Linq;

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

var glyph = pdf.Pages.First().ObjectModel.TextObjects.First().GetGlyphInfo();
Debugger pokazujący właściwości obiektu glifowego PDF, w tym współrzędne, granice i szczegóły treści tekstowej

Informacje o glifach obejmują dane dotyczące pozycjonowania, metrykę czcionek oraz szczegóły dotyczące poszczególnych znaków, umożliwiające zaawansowaną edycję plików PDF. Umożliwia to tworzenie aplikacji do przetwarzania plików PDF, które obsługują złożone wymagania typograficzne i dotyczące układu. W przypadku pracy z niestandardowymi czcionkami dostęp na poziomie glifów zapewnia dokładne renderowanie w różnych systemach.


Jak mogę przetłumaczyć obiekty PDF?

Dostosuj układ pliku PDF, zmieniając położenie elementów, takich jak tekst lub obrazy. Przesuń obiekty, zmieniając ich właściwość Translate. Ta funkcja jest częścią możliwości transformacji plików PDF oferowanych przez IronPDF.

Poniższy przykład renderuje kod HTML przy użyciu CSS Flexbox w celu wyśrodkowania tekstu. Uzyskuje dostęp do pierwszej TextObject i tłumaczy ją, przypisując nowy PointF do właściwości Translate. Spowoduje to przesunięcie tekstu o 200 punktów w prawo i 150 punktów w górę. Aby zapoznać się z innymi przykładami, odwiedź stronę z przykładami tłumaczenia obiektów PDF.

Jakiego kodu używam do tłumaczenia obiektów?

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");

Jak wygląda wynik tłumaczenia?

Wynik pokazuje, że tekst "Centered" został przesunięty o 200 punktów w prawo i 150 punktów w górę w stosunku do pierwotnej pozycji.

Porównanie tłumaczenia pliku PDF przed i po, pokazujące zachowane rozmieszczenie tekstu i formatowanie

Operacje tłumaczenia zachowują oryginalne właściwości obiektu, takie jak czcionka, rozmiar i kolor, zmieniając jedynie jego położenie. Jest to idealne rozwiązanie do dostosowywania układu bez wpływu na wygląd wizualny. Ta funkcja współpracuje z nagłówkami i stopkami podczas zmiany położenia treści generowanych dynamicznie.


Jak skalować obiekty PDF?

Zmniejszaj obiekty PDF korzystając z właściwości Scale. Ta właściwość działa jak mnożnik. Wartości większe od 1 zwiększają rozmiar, natomiast wartości między 0 a 1 go zmniejszają. Skalowanie jest niezbędne w przypadku dynamicznych układów i dostosowywania treści do wymiarów strony. Więcej przykładów można znaleźć w przewodniku dotyczącym skalowania obiektów PDF.

Przykład wyświetla kod HTML zawierający obraz. Uzyskuje dostęp do pierwszej ImageObject i skaluje ją do 70%, przypisując nową Scale z 0,7 dla obu osi do PointF.

Jaki jest kod do skalowania obiektów 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");

Zastosuj różne współczynniki skalowania do osi X i Y niezależnie od siebie, aby uzyskać skalowanie niejednolite. Jest to przydatne do dopasowania treści do określonych wymiarów. W przypadku pracy z niestandardowymi rozmiarami papieru skalowanie pomaga zapewnić, że treść mieści się w granicach strony.

Jak wygląda skalowanie w praktyce?

Wynik pokazuje obraz skalowany do 70% jego pierwotnego rozmiaru.

Demonstracja skalowania pliku PDF: logo Iron przeskalowane z dużego rozmiaru (po lewej) do małego rozmiaru (po prawej) ze strzałką pokazującą transformację

Moją ulubioną biblioteką tego typu jest IronPDF. Umożliwia ona szybkie i efektywne manipulowanie plikami PDF. Posiada także wiele cennych funkcji, takich jak eksport do formatu PDF/A i cyfrowe podpisywanie dokumentów PDF.

Milan Jovanovic

Microsoft MVP

Zobacz studium przypadku

IronOCR pozwala nam oszczędzić 40 000 USD rocznie na ręcznym przetwarzaniu, jednocześnie zwiększając produktywność i uwalniając zasoby do zadań o wysokim wpływie. Gorąco polecam.

Brent Matzelle

Dyrektor technologiczny, OPYN

Zobacz studium przypadku

IronSuite odgrywa kluczową rolę w naszej działalności. Są to narzędzia zwiększające wydajność w całej firmie, w tym tworzenie planów pięter i poprawa zarządzania zapasami.

David Jones

Główny inżynier oprogramowania, Agorus Build

Zobacz studium przypadku

Jak mogę usunąć obiekty z pliku PDF?

Usuń obiekty, uzyskując dostęp do kolekcji DOM PDF, takich jak ImageObjects lub TextObjects. Wywołaj RemoveAt na kolekcji, przekazując indeks obiektu do usunięcia. Jest to przydatne do redagowania treści lub upraszczania dokumentów. Więcej informacji można znaleźć w przykładzie usuwania obiektów z pliku PDF.

Kod ładuje plik BeforeScale.pdf i usuwa pierwszy obraz z pierwszej strony.

Jakiego kodu należy użyć do usunięcia obiektów?

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");

Co się stanie, gdy usunę wiele obiektów?

Indeksy pozostałych obiektów Shiftują się po usunięciu. W przypadku usuwania wielu obiektów należy usuwać je w odwrotnej kolejności, aby zachować prawidłowe indeksy. Ta technika pomaga podczas redagowania tekstu z dokumentów zawierających informacje wrażliwe.

Jak połączyć wiele operacji DOM?

Dostęp do DOM w IronPDF umożliwia zaawansowane procesy przetwarzania dokumentów. Łączenie operacji w celu wykonywania złożonych przekształceń:

Kiedy należy stosować operacje złożone?

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

Jakie są typowe zastosowania operacji łączonych?

Połączone operacje DOM sprawdzają się dobrze w przypadku:

  1. Przetwarzanie dokumentów w partiach: Przetwarzaj dokumenty w celu standaryzacji formatowania lub usuwania wrażliwych treści
  2. Dynamiczne generowanie raportów: Modyfikuj szablony PDF z danymi w czasie rzeczywistym, kontrolując układ
  3. Migracja treści: Ekstrahuj i reorganizuj treści z PDF-ów do nowych układów
  4. Poprawa dostępności: Popraw dokumenty, zmieniając rozmiar tekstu, kontrast lub odstępy

Techniki te umożliwiają tworzenie zaawansowanych aplikacji do przetwarzania plików PDF, które obsługują złożone modyfikacje. Aby zarządzać właściwościami dokumentów, zapoznaj się z przewodnikiem po zarządzaniu metadanymi.

Jak dostęp do DOM wypada na tle innych metod manipulacji plikami PDF?

Praca z PDF DOM zapewnia przewagę nad tradycyjnymi metodami:

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

Taka precyzyjna kontrola nie jest możliwa przy samej konwersji HTML do PDF, co sprawia, że dostęp do DOM jest niezbędny do zaawansowanego przetwarzania plików PDF.

Gotowy, aby sprawdzić, co jeszcze możesz zrobić? Zapoznaj się ze stroną z samouczkiem tutaj: Edytuj pliki PDF

Często Zadawane Pytania

Do czego służy właściwość ObjectModel w manipulacji plikami PDF?

Właściwość ObjectModel w IronPDF zapewnia programowy dostęp do obiektów tekstowych, graficznych i ścieżek w dokumentach PDF. Pozwala programistom na odczytywanie, modyfikowanie, przekształcanie, skalowanie i usuwanie elementów bezpośrednio z DOM pliku PDF, podobnie jak w przypadku pracy z elementami DOM HTML.

Jak uzyskać dostęp do obiektów DOM pliku PDF w języku C#?

Aby uzyskać dostęp do obiektów DOM pliku PDF za pomocą IronPDF, należy najpierw zaimportować docelowy dokument PDF, a następnie uzyskać dostęp do jego właściwości Pages. Następnie należy wybrać dowolną stronę i użyć właściwości ObjectModel. Na przykład: var objs = IronPdf.ChromePdfRenderer.RenderUrlAsPdf("https://example.com").Pages.First().ObjectModel;

Do jakich typów obiektów mam dostęp za pośrednictwem PDF DOM?

Model obiektowy IronPDF zawiera trzy główne typy obiektów: ImageObject (z właściwościami takimi jak Height, Width i ExportBytesAsJpg), PathObject (z właściwościami FillColor, StrokeColor i Points) oraz TextObject (z właściwościami Color i Contents). Każdy z nich udostępnia metody dostosowane do konkretnego typu zawartości.

Czy mogę programowo modyfikować treść tekstową w dokumencie PDF?

Tak, IronPDF umożliwia modyfikowanie treści tekstowej za pomocą właściwości Contents obiektu TextObject. Możesz uzyskać dostęp do obiektów tekstowych za pośrednictwem ObjectModel, zaktualizować ich zawartość i zapisać zmodyfikowany dokument PDF za pomocą zaledwie kilku linii kodu.

Jak mogę wyeksportować obrazy z dokumentów PDF?

Obiekt ImageObject w IronPDF udostępnia metodę ExportBytesAsJpg, która pozwala eksportować obrazy jako tablice bajtów JPG. Uzyskaj dostęp do obrazu za pomocą właściwości ObjectModel i użyj tej metody, aby programowo wyodrębnić dane obrazu.

Jakie informacje są dostępne na temat położenia każdego obiektu DOM?

Każdy obiekt w modelu obiektowym IronPDF zawiera informacje o indeksie strony, współrzędnych ramki ograniczającej, skali i przesunięciu. Dane dotyczące położenia można zarówno odczytywać, jak i modyfikować w celu zmiany położenia lub przekształcenia elementów w pliku PDF.

How do I read PDF layers (Optional Content Groups) in C#?

Use the PdfDocument.Layers collection to enumerate a document's Optional Content Groups (OCGs). Each PdfLayer exposes Id, Name, IsVisible, DefaultVisible, and ParentId. Look a layer up with FindById or FindByName (names are case-sensitive), walk the tree with ChildrenOf, and read its content with ExtractTextFromLayer, ExtractTextFromLayers, GetTextObjectsByLayer, or GetPathObjectsByLayer. A PDF without layers returns an empty (not null) collection, and unknown lookups return empty results rather than throwing.

How can I tell CAD features apart when a PDF has no layers?

PDFs exported from surveying or CAD tools often have no Optional Content Groups. In that case, distinguish features by each path's graphics state: PathObject now exposes StrokeWidth, LineCap, LineJoin, DashPattern, and DashPhase. Reading these lets you separate, for example, a dashed boundary from a solid contour or a thick road from a thin one without any layer information.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 20,667,543Wersja:2026.7właśnie wydany

Odbierz swój BEZPŁATNY

30-dniowy klucz próbny natychmiast.

bullet_checkedNie wymaga karty kredytowej ani tworzenia konta
test_punktorówTestuj w produkcji
bez znaków wodnych
kalendarz_punktorów30 dni w pełni
funkcjonalny produkt
wsparcie_punktorów24/5 wsparcie techniczne
w trakcie okresu próbnego
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz opcję Przeglądaj i wyszukaj „IronPdf”
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.7

Pobierz teraz

lub pobierz instalator Windows tutaj.

  1. Pobierz i rozpakuj IronPDF do lokalizacji takiej jak ~/Libs w katalogu Solution
  2. W Eksploratorze rozwiązań programu Visual Studio kliknij prawym przyciskiem myszy opcję Odwołania. Wybierz opcję Przeglądaj, „IronPdf.dll”

Licencje od 749 USD

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta