Extrahujte text z oblasti stránky v souboru PDF
Zavedení
Práce s PDF často vyžaduje extrahování specifického obsahu, ať už se jedná o stahování dat z formulářů, tabulek nebo určitých částí dokumentu. V tomto tutoriálu si projdeme, jak extrahovat text z konkrétní oblasti PDF pomocí Aspose.PDF pro .NET. Namísto prosévání celého dokumentu přesně určíme, kde se text nachází, a efektivně jej extrahujeme.
Předpoklady
Než skočíme do kódu, ujistěte se, že máte na svém místě následující položky:
- Aspose.PDF for .NET: Pokud jste tak ještě neučinili, stáhněte si a nainstalujte knihovnu Aspose.PDF for .NET.Stáhněte si Aspose.PDF pro .NET.
- IDE: Jakékoli vývojové prostředí .NET, jako je Visual Studio.
- .NET Framework: Zajistěte, aby byl váš projekt nastaven pomocí příslušného rozhraní .NET Framework.
- Dokument PDF: Ukázka PDF, ze které budeme extrahovat text.
Nezapomeňte, že můžetezískat bezplatnou zkušební verzi z Aspose.PDF nebo použijte adočasná licence pro plnou funkčnost.
Import nezbytných balíčků
Chcete-li začít pracovat s Aspose.PDF pro .NET, musíte do svého projektu importovat požadované jmenné prostory. Tyto balíčky poskytují nezbytné třídy a metody pro práci s dokumenty PDF.
using System.IO;
using Aspose.Pdf;
using Aspose.Pdf.Text;
using System;
Krok 1: Nastavení adresáře dokumentů a načtení PDF
Prvním krokem je určit, kde se váš soubor PDF nachází, a načíst jej do projektu. Můžete použít cestu místního adresáře k souboru PDF, se kterým chcete pracovat.
// Cesta k adresáři dokumentů.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Otevřete dokument PDF
Document pdfDocument = new Document(dataDir + "ExtractTextAll.pdf");
Tento krok zajistí, že soubor PDF je správně načten a připraven k práci. TheDocument
třída z knihovny Aspose.PDF umožňuje manipulovat se souborem PDF.
Krok 2: Inicializujte absorbér textu pro extrakci
V tomto kroku vytvoříme aTextAbsorber
objekt, který je určen k extrahování textu z dokumentu PDF. TheTextAbsorber
je flexibilní a lze jej přizpůsobit tak, aby se zaměřil na konkrétní regiony nebo stránky.
// Chcete-li extrahovat text, vytvořte objekt TextAbsorber
TextAbsorber absorber = new TextAbsorber();
TheTextAbsorber
class je výkonný nástroj, který zachytí veškerý text v rámci vámi zadaných mezí.
Krok 3: Definujte oblast, ze které se má extrahovat text
Tady se děje kouzlo. Místo vytahování textu z celé stránky můžeme extrakci omezit na konkrétní obdélníkovou oblast stránky. To je perfektní, když přesně víte, kde se váš obsah nachází.
// Omezte extrakci textu na určitou oblast
absorber.TextSearchOptions.LimitToPageBounds = true;
absorber.TextSearchOptions.Rectangle = new Aspose.Pdf.Rectangle(100, 200, 250, 350);
TheRectangle
objekt umožňuje definovat souřadnice (v bodech) oblasti, ze které bude text extrahován. TheTextSearchOptions.LimitToPageBounds
zajistí, že bude extrahován pouze text v zadaném obdélníku.
Krok 4: Přijměte absorbér na požadované stránce
Po nastavení regionu je dalším krokem přijetíTextAbsorber
pro konkrétní stránku, ze které chcete extrahovat text. Zde se zaměříme na první stránku PDF.
// Přijměte absorbér pro první stránku
pdfDocument.Pages[1].Accept(absorber);
Zavoláním naAccept
metodou na stránce, dáme Aspose.PDF pokyn, aby spustil absorbér a shromáždil text z definované oblasti.
Krok 5: Načtěte a uložte extrahovaný text
Jakmile absorbér dokončí svou práci, je čas shromáždit extrahovaný text a uložit jej. Tento krok zahrnuje načtení textu a jeho zapsání do a.txt
soubor.
// Získejte extrahovaný text
string extractedText = absorber.Text;
// Vytvořte spisovatel pro uložení extrahovaného textu
TextWriter tw = new StreamWriter(dataDir + "extracted-text.txt");
// Napište text do souboru
tw.WriteLine(extractedText);
// Zavřete stream
tw.Close();
Tady,TextWriter
třída se používá k zápisu extrahovaného textu do textového souboru. Tím je zajištěno, že extrahovaný obsah bude bezpečně uložen pro pozdější použití.
Závěr
Extrahování textu z konkrétní oblasti v dokumentu PDF může být neuvěřitelně užitečné, zejména při práci se strukturovaným obsahem, jako jsou formuláře nebo tabulky. Pomocí Aspose.PDF pro .NET můžete tohoto úkolu dosáhnout pomocí několika řádků kódu. Definováním regionu inicializací aTextAbsorber
a uložením extrahovaného textu máte plnou kontrolu nad tím, co se z vašeho PDF vytáhne.
Ať už pracujete na malém projektu nebo spravujete velké dokumenty, tato metoda poskytuje efektivní způsob, jak extrahovat relevantní data z vašich PDF, aniž byste museli pročesávat celý dokument.
FAQ
Mohu extrahovat text z více stránek najednou?
Ano, opakováním přesPages
sbírkapdfDocument
, můžete použítTextAbsorber
na více stránek.
Co když je text v jiné oblasti PDF?
Můžete snadno upravitRectangle
souřadnice, aby odpovídaly oblasti, kde se nachází váš text.
Funguje to s naskenovanými PDF?
Ne, naskenované soubory PDF potřebují k převodu obrázků na text OCR (Optical Character Recognition). Aspose.PDF nabízí také funkce OCR.
Existuje způsob, jak extrahovat text na základě konkrétních klíčových slov?
Ano, můžete použítTextFragmentAbsorber
pro extrakci textu na základě klíčových slov.
Jak extrahuji text ze zašifrovaného PDF?
Nejprve budete muset dešifrovat PDF zadáním správného hesla a poté pokračovat v extrakci textu.