Zdarma C# .NET API pro extrakci a analýzu textu z PDF
Vedoucí open-source .NET knihovna pro snadnou extrakci textu, obrázků, metadata a informací o struktuře PDF souborů. Přidávejte nové stránky, tabulky, text a tvary do PDF.
Co je knihovna PdfPig?
PdfPig je open-source .NET knihovna určená pro čtení, parsování a extrakci obsahu z PDF souborů v C#. Byla vyvinuta jako port Apache PDFBox pro .NET ekosystém a je široce používána pro extrakci textu z PDF, analýzu dokumentů a nízkoúrovňové zpracování PDF. Podporuje .NET Standard a různé verze .NET, což ji činí vysoce flexibilní pro moderní vývojová prostředí. Knihovna je velmi užitečná pro indexaci dokumentů, vyhledávače, předzpracování dokumentů AI/ML, post-processing OCR, automatizaci faktur, nástroje pro přístupnost PDF a systémy extrakce dat.
PDF soubory jsou všude – smlouvy, zprávy, faktury, eKnihy, bankovní výpisy, výzkumné práce a formuláře. Extrahování strukturovaných informací z PDF je často obtížné, protože PDF je především prezentační formát, nikoli sémantický dokumentový formát. PdfPig tento problém zjednodušuje tím, že vývojářům poskytuje přístup k surovému textu a slovům, pozicím znaků a ohraničujícím rámečkům, informacím o fontech a stylování, obrázkům a metadatům a detailům rozvržení dokumentu. Na rozdíl od mnoha PDF knihoven, které se zaměřují hlavně na generování PDF, je PdfPig specializován na čtení existujících PDF dokumentů. To z něj činí vynikající volbu pro vývojáře budující vyhledávače, OCR pipeline, parsery faktur, analyzátory dokumentů, nástroje pro soulad nebo systémy pro extrakci obsahu.
Začínáme s PdfPig
Knihovna PdfPig je k dispozici jako balíček NuGet. Proto se důrazně doporučuje použít NuGet k instalaci PdfPig do vašeho projektu. Použijte prosím následující příkaz pro úspěšnou instalaci.
Instalovat PdfPig pomocí správce balíčků NuGet
// Package Manager
Install-Package PdfPig
// .NET CLI
dotnet add package PdfPig
Můžete jej také nainstalovat ručně; stáhněte nejnovější soubory vydání přímo z GitHubu repozitáře.
Extrahovat text z PDF dokumentů pomocí .NET
Jedním z nejčastějších použití PdfPig je extrahování prostého textu z PDF dokumentů. Vývojáři softwaru mohou otevřít PDF a číst text stránku po stránce nebo extrahovat celý obsah. To je zvláště užitečné pro indexování vyhledávání, skenování klíčových slov a analýzu obsahu. Zde je jednoduchý příklad, který ukazuje, jak mohou vývojáři softwaru extrahovat text z PDF dokumentů v aplikacích C# .NET. Nejprve otevře PDF soubor a iteruje přes všechny stránky, poté přečte extrahovaný textový obsah.
Jak extrahovat text z PDF dokumentů pomocí C# API?
using UglyToad.PdfPig;
using (var document = PdfDocument.Open("sample.pdf"))
{
foreach (var page in document.GetPages())
{
string text = page.Text;
Console.WriteLine(text);
}
}
Interaktivní formuláře a extrakce vložených souborů
Open source knihovna PdfPig nativně podporuje extrahování interaktivních Acrobat formulářů (AcroForms) a čtení souborů skrytých v PDF přílohách. Umožňuje vývojářům globálně kontrolovat definice formulářů, iterovat přes typované interaktivní prvky formulářů (jako jsou zaškrtávací políčka, textová pole nebo tlačítka) a přistupovat k podkladovým surovým bajtovým datům souborů vložených do anotací dokumentu pro bezproblémovou interoperabilitu systémů.
Jak extrahovat interaktivní data formuláře pomocí knihovny C# .NET?
using System;
using System.Collections.Generic;
using UglyToad.PdfPig;
using UglyToad.PdfPig.AcroForms;
class Program
{
static void ExtractInteractiveContent(string pdfPath)
{
using (PdfDocument document = PdfDocument.Open(pdfPath))
{
// Extracting Interactive Form Data
if (document.TryGetForm(out AcroForm form))
{
foreach (var field in form.Fields)
{
Console.WriteLine($"Form Field Name: {field.Information.Name} | Type: {field.Type}");
}
}
// Extracting Embedded Documents/Attachments
if (document.Advanced.TryGetEmbeddedFiles(out IReadOnlyList embeddedFiles))
{
foreach (var file in embeddedFiles)
{
Console.WriteLine($"Found Attachment: {file.Name} ({file.Bytes.Count} bytes)");
// File.WriteAllBytes(file.Name, file.Bytes.ToArray()); // Save attachment locally
}
}
}
}
}
Bezproblémové slučování více PDF souborů pomocí C#
Kromě extrakce obsahu nabízí PdfPig jednoduché nástroje pro správu dokumentů. Využitím třídy PdfMerger mohou vývojáři sloučit samostatné nezávislé PDF struktury do jediné, jednotné výstupní pole bajtů souboru. To poskytuje efektivní způsob, jak spojovat programové zprávy, faktury nebo dokumenty výpisů klientů, aniž byste do svého .NET pipeline přidávali objemné externí závislosti. Následující příklad ukazuje, jak uživatelé mohou kombinovat více PDF dokumentů v .NET aplikacích.
Jak sloučit více PDF souborů v aplikacích C# .NET?
using System.IO;
using UglyToad.PdfPig.Writer;
class Program
{
static void MergeDocuments(string firstPdf, string secondPdf, string outputPdf)
{
// Consolidate files into a single continuous byte sequence
byte[] mergedFileBytes = PdfMerger.Merge(firstPdf, secondPdf);
// Output the combined file stream directly to disk
File.WriteAllBytes(outputPdf, mergedFileBytes);
}
}
Číst metadata PDF, formuláře a anotace
Kromě extrakce textu obsahuje open source knihovna PdfPig funkce, které zpřístupňují metadata dokumentu (název, autor, producent), interaktivní formulářová pole, hypertextové odkazy a záložky. To je neocenitelné pro systémy klasifikace dokumentů, automatizované zpracování formulářů a indexování obsahu, kde potřebujete jak obsah, tak kontext.