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:

  1. 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.
  2. IDE: Jakékoli vývojové prostředí .NET, jako je Visual Studio.
  3. .NET Framework: Zajistěte, aby byl váš projekt nastaven pomocí příslušného rozhraní .NET Framework.
  4. 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();

TheTextAbsorberclass 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í aTextAbsorbera 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.