IRONSOFTWAREHOME

Jak odczytywać pliki PDF w języku C# za pomocą IronOCR

Curtis Chau
Curtis Chau
Updated: 4 czerwca 2026

IronOCR umożliwia wyodrębnianie tekstu z plików PDF w języku C# za pomocą jednej linii kodu, obsługując wszystkie wersje PDF i zapewniając dokładne wyniki OCR dzięki silnikowi opartemu na Tesseract.

PDF to skrót od "Portable Document Format". Jest to format plików opracowany przez firmę Adobe, który zachowuje czcionki, obrazy, grafikę i układ dowolnego dokumentu źródłowego, niezależnie od aplikacji i platformy użytej do jego utworzenia. Pliki PDF są zazwyczaj używane do udostępniania i przeglądania dokumentów w spójnym formacie, niezależnie od oprogramowania lub sprzętu używanego do ich otwierania. IronOCR obsługuje różne wersje dokumentów PDF, od starszych specyfikacji PDF 1.0 po najnowsze standardy PDF 2.0.

Szybki start: OCR pliku PDF w kilka sekund

Szybko skonfiguruj OCR w IronOCR, konstruując OcrPdfInput wskazującą na twój PDF, a następnie wywołaj Read. Ten przykład pokazuje wyodrębnianie tekstu z pliku PDF przy użyciu IronOCR.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Skopiuj i uruchom ten fragment kodu.

    using var result = new IronOcr.IronTesseract().Read(new IronOcr.OcrPdfInput("document.pdf", PdfContents.TextAndImages));
    C#
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

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

Jak odczytać cały plik PDF?

Zacznij od zainstancjonowania klasy IronTesseract, aby wykonać OCR. Następnie użyj instrukcji 'using' do utworzenia obiektu OcrPdfInput, przekazując mu ścieżkę do pliku PDF. Na koniec wykonaj OCR przy użyciu metody Read. To podejście sprawdza się zarówno w przypadku zeskanowanych plików PDF (opartych na obrazach), jak i plików PDF z możliwością wyszukiwania (opartych na tekście), co pozwala na wyodrębnianie tekstu z różnych typów plików PDF.

/* :path=/static-assets/ocr/content-code-examples/how-to/input-pdfs-read-pdf.cs */
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add PDF
using var pdfInput = new OcrPdfInput("Potter.pdf");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(pdfInput);

// Access the extracted text
string extractedText = ocrResult.Text;
System.Console.WriteLine(extractedText);
Widok podzielony pokazujący sformatowany tekst z Harry'ego Pottera w porównaniu z wyodrębnionym tekstem zwykłym, demonstrujący ekstrakcję tekstu z pliku PDF

W większości przypadków nie ma potrzeby określania właściwości DPI. Jednakże, podanie wysokiej wartości DPI podczas konstruowania OcrPdfInput może poprawić dokładność odczytu. Domyślne ustawienie DPI jest zazwyczaj wystarczające dla większości standardowych dokumentów PDF, ale w przypadku dokumentów specjalistycznych warto je dostosować.

Kiedy należy dostosować ustawienia DPI?

Ustawienia DPI (Dots Per Inch) mają kluczowe znaczenie w przypadku dokumentów skanowanych w niskiej rozdzielczości lub plików PDF zawierających mały tekst. Aby uzyskać optymalne wyniki, rozważ dostosowanie ustawień DPI w następujących przypadkach:

  • Praca ze skanowanymi dokumentami o rozdzielczości poniżej 200 DPI
  • Przetwarzanie historycznych lub archiwalnych plików PDF
  • Radzenie sobie ze złożonymi układami lub małymi czcionkami
  • Problemy z dokładnością przy ustawieniach domyślnych

W przypadku większości operacji OCR zaleca się rozdzielczość 300 DPI, natomiast w przypadku dokumentów zawierających bardzo mały tekst lub skomplikowane szczegóły może być konieczne zastosowanie rozdzielczości 600 DPI.

Jakie formaty plików obsługuje IronOCR oprócz PDF?

IronOCR zapewnia kompleksową obsługę wielu formatów plików, nie tylko PDF. Możesz przetwarzać obrazy w różnych formatach, w tym:

  • JPEG/JPG dla standardowych zdjęć
  • Format PNG dla obrazów z przezroczystością
  • TIFF dla dokumentów wielostronicowych
  • BMP dla obrazów nieskompresowanych
  • GIF do prostych grafik

Ponadto IronOCR może obsługiwać strumienie PDF bezpośrednio z pamięci, co sprawia, że nadaje się do aplikacji internetowych i usług w chmurze.

Praca z typami treści PDF

Podczas przetwarzania plików PDF można zoptymalizować wydajność, określając typ zawartości. Enum PdfContents pozwala na celowanie w konkretną zawartość:

// For text-only PDFs (faster processing)
var textOnlyPdf = new OcrPdfInput("document.pdf", PdfContents.Text);

// For image-only PDFs (scanned documents)
var imageOnlyPdf = new OcrPdfInput("scanned.pdf", PdfContents.Images);

// For mixed content (default)
var mixedPdf = new OcrPdfInput("mixed.pdf", PdfContents.TextAndImages);

Jak odczytać konkretne strony z pliku PDF?

Podczas odczytywania konkretnych stron z dokumentu PDF należy podać numer indeksu strony do importu. Aby to zrobić, przekaż listę indeksów stron do parametru PageIndices podczas konstruowania OcrPdfInput. Należy pamiętać, że indeksy stron wykorzystują numerację zaczynającą się od zera. Ta funkcja jest szczególnie przydatna podczas pracy z dużymi dokumentami, w których tylko niektóre strony zawierają istotne informacje.

using IronOcr;
using System.Collections.Generic;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Create page indices list
List<int> pageIndices = new List<int>() { 0, 2 };

// Add PDF
using var pdfInput = new OcrPdfInput("Potter.pdf", PageIndices: pageIndices);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(pdfInput);

Dlaczego numeracja stron zaczyna się od zera?

Indeksowanie od zera jest standardową konwencją w języku C# i większości języków programowania. Oznacza to, że pierwsza strona ma indeks 0, druga strona ma indeks 1 i tak dalej. Ta spójność z indeksowaniem tablic ułatwia programistom pracę z kolekcjami stron za pomocą kodu. Podczas konwersji numerów stron czytelnych dla człowieka (1, 2, 3...) na indeksy wystarczy odjąć 1 od numeru strony.

Jak mogę czytać strony w kolejności niechronologicznej?

Czytanie niekolejnych stron jest proste dzięki IronOCR. Wystarczy dodać wybrane indeksy stron do listy w dowolnej kolejności. Na przykład:

// Read pages 1, 3, 5, and 10 (using zero-based indices)
List<int> pageIndices = new List<int>() { 0, 2, 4, 9 };

// Or use LINQ for range-based selection
var evenPages = Enumerable.Range(0, 10).Where(x => x % 2 == 0).ToList();

Silnik OCR przetworzy tylko określone strony, co znacznie poprawi wydajność w przypadku dużych dokumentów.

Co się stanie, jeśli podam nieprawidłowe numery stron?

Jeśli podasz indeksy stron, które przekraczają liczbę stron dokumentu, IronOCR zgłosi wyjątek. Przed przetworzeniem należy wdrożyć obsługę błędów lub zweryfikować liczbę stron. Przed wykonaniem OCR można sprawdzić całkowitą liczbę stron pliku PDF, aby upewnić się, że indeksy są prawidłowe.

Jak wykonać OCR określonego obszaru pliku PDF?

Ograniczając obszar do przeczytania, można znacznie zwiększyć efektywność czytania. Aby to osiągnąć, należy określić dokładny obszar importowanego pliku PDF, który ma zostać odczytany. W poniższym przykładzie kodu IronOCR skupia się wyłącznie na wyodrębnieniu numeru rozdziału i tytułu. Technika ta, podobna do definiowania obszarów OCR dla obrazów, poprawia zarówno szybkość, jak i dokładność.

using IronOcr;
using IronSoftware.Drawing;
using System;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Specify crop regions
Rectangle[] scanRegions = { new Rectangle(550, 100, 600, 300) };

// Add PDF
using (var pdfInput = new OcrPdfInput("Potter.pdf", ContentAreas: scanRegions))
{
    // Perform OCR
    OcrResult ocrResult = ocrTesseract.Read(pdfInput);

    // Output the result to console
    Console.WriteLine(ocrResult.Text);
}

Jak określić prawidłowe współrzędne prostokąta?

Plik PDF z czerwonym prostokątem zaznaczającym tytuł rozdziału do przetwarzania OCR, konsola Visual Studio pokazująca zakończone wykonanie

Znalezienie właściwych współrzędnych wymaga zrozumienia układu współrzędnych pliku PDF. Konstruktor Rectangle przyjmuje cztery parametry: X (pozycja pozioma), Y (pozycja pionowa), Width i Height. Wszystkie wymiary podane są w pikselach. Narzędzia takie jak przeglądarki PDF z funkcją linijki lub narzędzia do debugowania mogą pomóc w identyfikacji dokładnych współrzędnych. Alternatywnie, można stosować metodę prób i błędów, wprowadzając niewielkie poprawki w celu zawężenia obszaru wyboru.

Aby dokładniej zdefiniować obszar, można skorzystać z funkcji podświetlania tekstu do debugowania, która pozwala wizualizować przetwarzane obszary.

Czy mogę określić wiele regionów w jednej operacji?

Tak, IronOCR obsługuje wiele regionów w ramach jednej operacji OCR. Po prostu dodaj wiele obiektów Rectangle do swojej tablicy:

Rectangle[] scanRegions = { 
    new Rectangle(50, 50, 200, 100),    // Header region
    new Rectangle(50, 200, 500, 300),   // Main content region
    new Rectangle(50, 550, 200, 50)     // Footer region
};

Każdy region będzie przetwarzany osobno, a wyniki zostaną połączone w określonej kolejności.

Dlaczego warto używać OCR dla konkretnego regionu zamiast pełnej strony?

OCR dostosowany do regionu oferuje kilka zalet:

  • Wydajność: Przetwarzanie mniejszych obszarów przebiega znacznie szybciej
  • Dokładność: Skupienie się na konkretnych regionach ogranicza zakłócenia wynikające z nieistotnych treści
  • Struktura: Bardziej niezawodne pobieranie danych z formularzy i tabel
  • Efektywność kosztowa: krótszy czas przetwarzania oznacza niższe koszty obliczeniowe

Takie podejście jest szczególnie cenne podczas pracy z dokumentami ustrukturyzowanymi, takimi jak faktury, formularze lub raporty, w których dane pojawiają się w przewidywalnych miejscach. W przypadku złożonych struktur dokumentów warto zapoznać się z technikami specjalistycznego wyodrębniania tabel zawartych w dokumentach.

Jakie zaawansowane funkcje OCR dla plików PDF są dostępne?

IronOCR oferuje dodatkowe możliwości przetwarzania plików PDF, wykraczające poza podstawowe wyodrębnianie tekstu. Możesz tworzyć pliki PDF z możliwością wyszukiwania na podstawie zeskanowanych dokumentów, zachowując oryginalny układ i dodając warstwę tekstową do wyszukiwania i kopiowania. Biblioteka obsługuje również wielowątkowość, co pozwala na szybsze przetwarzanie dużych zbiorów plików PDF.

Dla programistów, którzy chcą rozpocząć pracę z OCR w swoich aplikacjach .NET, zapoznanie się z prostymi przykładami OCR stanowi solidną podstawę do zrozumienia możliwości i najlepszych praktyk IronOCR.

Obsługa złożonych scenariuszy związanych z plikami PDF

W przypadku trudnych dokumentów PDF IronOCR oferuje kilka zaawansowanych funkcji:

  1. Wstępna obróbka obrazu: Zastosuj filtry obrazu w celu poprawy jasności tekstu
  2. Wiele języków: Przetwarzaj dokumenty zawierające wiele języków jednocześnie
  3. Dostosowane konfiguracje: Dokładnie dostosuj ustawienia OCR dla określonych typów dokumentów
  4. Opcje eksportu: Zapisywanie wyników w różnych formatach, w tym w plikach PDF z możliwością wyszukiwania oraz w formacie HTML z obsługą hOCR

Te cechy sprawiają, że IronOCR jest kompleksowym rozwiązaniem spełniającym wymagania Enterprise w zakresie przetwarzania plików PDF.

Często Zadawane Pytania

Jak wyodrębnić tekst z pliku PDF w C#?

Możesz wyodrębnić tekst z plików PDF za pomocą IronOCR za pomocą tylko jednej linii kodu. Wystarczy utworzyć instancję IronTesseract i użyć metody Read z OcrPdfInput: `using var result = new IronOcr.IronTesseract().Read(new IronOcr.OcrPdfInput("document.pdf", PdfContents.TextAndImages));`. IronOCR obsługuje zarówno zeskanowane pliki PDF (na podstawie obrazu), jak i przeszukiwalne pliki PDF (na podstawie tekstu).

Jakie wersje PDF są obsługiwane do wyodrębniania tekstu?

IronOCR obsługuje wszystkie wersje PDF, od starszych specyfikacji PDF 1.0 do najnowszych standardów PDF 2.0. Silnik OCR oparty jest na technologii Tesseract, co zapewnia dokładne wyodrębnianie tekstu bez względu na wersję PDF, z którą pracujesz.

Czy mogę odczytać tylko konkretne strony z pliku PDF zamiast całego dokumentu?

Tak, IronOCR pozwala odczytywać konkretne strony z pliku PDF, podając indeksy stron. Zamiast przetwarzać cały dokument, można określić, z których stron wyodrębnić tekst za pomocą obiektu OcrPdfInput, co czyni proces OCR bardziej efektywnym dla dużych dokumentów.

Jaki jest minimalny przepływ pracy dla usługi OCR na pliku PDF?

Minimalny przepływ pracy z IronOCR składa się z 5 kroków: 1) Pobierz bibliotekę C#, 2) Przygotuj dokument PDF, 3) Utwórz obiekt OcrPdfInput ze ścieżką do pliku PDF, 4) Użyj metody Read, aby wykonać OCR, 5) Opcjonalnie określ indeksy stron do selektywnego odczytywania.

Kiedy powinienem dostosować ustawienia DPI dla OCR PDF?

Podczas gdy domyślne ustawienia DPI IronOCR działają dobrze dla większości standardowych plików PDF, warto rozważyć dostosowanie DPI przy pracy z dokumentami skanowanymi w niskiej rozdzielczości (poniżej 200 DPI) lub plikami PDF zawierającymi mały tekst. Wyższe ustawienia DPI w konstrukcji OcrPdfInput mogą znacznie zwiększyć dokładność odczytu dla dokumentów specjalistycznych.

Czy silnik OCR pracuje zarówno z zeskanowanymi plikami PDF, jak i przeszukiwalnymi plikami PDF?

Tak, IronOCR skutecznie przetwarza zarówno zeskanowane pliki PDF (na podstawie obrazu), jak i przeszukiwalne pliki PDF (na podstawie tekstu). Silnik oparty na Tesseract automatycznie obsługuje różne typy plików PDF, czyniąc go wszechstronnym w wyodrębnianiu tekstu z różnych formatów PDF bez potrzeby stosowania różnych podejść.

What are the advantages of using region-specific OCR over full-page OCR?

Region-specific OCR improves performance by focusing on relevant areas, enhancing accuracy and reducing noise from irrelevant content. It is especially useful for forms and structured documents.

What advanced OCR features does IronOCR offer for PDFs?

IronOCR provides features such as creating searchable PDFs, multithreading for faster processing, image preprocessing, and support for multiple languages, catering to complex document processing needs.

How do you handle invalid page numbers in IronOCR?

If invalid page numbers are specified in IronOCR, it will throw an exception. It is recommended to implement error handling or verify page counts prior to processing.

Can IronOCR process non-consecutive pages from a PDF?

Yes, IronOCR can handle non-consecutive pages by specifying the desired page indices in a list. This allows for selective processing of pages in any order.

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 6,236,385Wersja:2026.9wł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.9

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

Wersja: 2026.9

lub pobierz Instalator Windows tutaj.

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

Licencje od 749 USD

Key in blue circle

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

Your trial license will be sent to your email address

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
Otrzymaj swoją Konsultację 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