Convert PDF to TXT in C#

Kaip programuotojas, dažnai turite ištraukti turinį iš PDF failų kaip plokščią tekstą tolesniam apdorojimui, pavyzdžiui, analizės ir informacijos ekstrakcijos. apdoroti PDF failus ir konvertuoti visą PDF į TXT formatą yra sudėtinga užduotis, kai neturite tinkamų įrankių. Taigi šiame tinklaraštyje mes ištirsime, kaip programuojamai konvertuoti PDF dokumentą į tXT formato C#.

C# biblioteka PDF į TXT konvertavimas

[Aspose.Words for .NET][1] yra nuostabus dokumentų apdorojimo API, kuris leidžia kūrėjams dirbti su “Word” dokumentais, taip pat įvairiais kitais formatais, įskaitant PDF. Su savo platų funkcijų rinkinį, “Aspoze.Vords” supaprastina dokumentu manipuliavimą, konvertavimą ir generavimo užduotis.

Galite įdiegti biblioteką iš [NuGet][5] naudodami toliau nurodytą komandą. arba atsisiųsti jos DLL iš puslapio [Releases][6.

PM> Install-Package Aspose.Words 

Konvertuokite PDF į TXT į C# {#Kaip konvertuoti-DOC į-TXT}

Aspose.Words for .NET slėpia visas sudėtingas tekstų ekstrakcijos operacijas iš PDF failų ir leidžia atlikti PDF į TXT konvertavimą keliais žingsniais, kaip nurodyta žemiau.

  • Atsisiųskite PDF failą.
  • Konvertuoti PDF į TXT formatą su vienu funkcijos skambučiu.

Taigi, su keliomis kodo eilutėmis, galite konvertuoti PDF failo turinį į paprastą tekstą, nesvarbu, kokio dydžio šaltinis yra PDF#.

  • Pirmiausia įkraukite PDF naudojant Dokumento klasę.
  • Tada išsaugokite dokumentą kaip TXT failą naudojant Document.Save(filePath) metodą.

Kitas C# kodas Snippet konvertuoja PDF į TXT formatą.

Gaukite nemokamą API licenciją

Galite gauti [laisvą laikiną licenciją][2] konvertuoti PDF failus į TXT formatą be vertinimo apribojimų.

Conclusion

Šiame tinklaraštyje mes ištirėme, kaip konvertuoti PDF į TXT C# naudojant Aspose.Words .NET bibliotekoje. laikydamiesi gairių ir naudodami kodo šnipą, galite lengvai apdoroti didelius PDF failus ir paversti juos plokščiu tekstu. „Aspose.“Wordai supaprastina dokumentų apdorojimo užduotis, todėl tai yra vertingas įrankis kūrėjams, dirbantiems su įvairiais dokumento formatais jų programas].

Išplėstinis Teksto Ekstrakcijos Valdymas

Teksto filtravimas ir formatavimas

Kai konvertuojate PDF į TXT, dažnai susiduriate su nenaudingu turiniu – puslapio numeriais, antraštėmis, poraštėmis ar net paveikslėlių alternatyviomis žymėmis. Aspose.PDF for .NET suteikia galimybę naudoti TextAbsorber arba TextFragmentAbsorber objektus, kuriuos galima konfigūruoti filtruoti tik tam tikras teksto dalis. Pavyzdžiui, galima nurodyti, kad būtų išskaitomi tik teksto fragmentai, esantys tam tikrame puslapyje arba turintys tam tikrą šrifto dydį. Tokiu būdu galutinis TXT failas tampa švaresnis ir lengviau analizuojamas.

Aukščiau pateiktas pavyzdys rodo, kaip per kelias eilutes galima ne tik išgauti tekstą, bet ir kontroliuoti, kokios dalys yra įtraukiamos į galutinį rezultatą. Tai ypač naudinga didelių PDF dokumentų atveju, kai norite išvengti duomenų pertekliaus.

Kodų puslapio skaičiaus išsaugojimas

Jei jūsų TXT failui reikalingas informacijos kontekstas, galite išsaugoti puslapio numerius šalia kiekvieno teksto bloko. Tai pasiekiama naudojant TextFragmentAbsorber kartu su TextFragment objektų iteracija.

TextFragmentAbsorber fragmentAbsorber = new TextFragmentAbsorber();
pdfDocument.Pages.Accept(fragmentAbsorber);
using (StreamWriter writer = new StreamWriter("output_with_pages.txt"))
{
    foreach (Page page in pdfDocument.Pages)
    {
        foreach (TextFragment fragment in fragmentAbsorber.TextFragments)
        {
            writer.WriteLine($"[Puslapis {page.Number}] {fragment.Text}");
        }
    }
}

Tokiu būdu kiekvienas teksto fragmentas yra susietas su savo puslapiu, o tai palengvina tolesnę teksto analizę ar paiešką.

Dažnai užduodami klausimai (FAQ)

Klausimas: Ar galiu konvertuoti tik tam tikrą PDF dokumento dalį?
Atsakymas: Taip, naudojant PageNumber savybę arba PageRange kolekciją galite nurodyti, kurie puslapiai turi būti apdorojami. Pavyzdžiui, pdfDocument.Pages.Delete(2, 5); pašalins puslapius 2‑5 prieš tekstų išgavimą.

Klausimas: Kaip išvengti UTF‑8 kodavimo problemų išsaugant TXT?
Atsakymas: Naudokite File.WriteAllText(path, text, Encoding.UTF8); arba nurodykite Encoding.Unicode priklausomai nuo jūsų poreikių.

Klausimas: Ar galima išgauti tik tam tikrų šriftų tekstą?
Atsakymas: Naudodami TextFragmentAbsorber galite filtruoti pagal šrifto tipą arba dydį, pasinaudodami TextFragment.FontInfo savybėmis.

Klausimas: Kiek greitai veikia konvertavimas dideliuose PDF (kelios šimto MB)?
Atsakymas: Aspose.PDF for .NET yra optimizuota atminties valdymui, tačiau rekomenduojama naudoti stream pagrindu veikiančius metodus ir, jei įmanoma, apdoroti dokumentą puslapiai po puslapio, kad sumažintumėte atminties naudojimą.

Klausimas: Ar galiu konvertuoti PDF, kuriame yra skaitmeninė parašų apsauga?
Atsakymas: Jei PDF yra apsaugotas slaptažodžiu, pirmiausia jį reikia atidaryti su Document(string fileName, string password). Po sėkmingo atidarymo teksto išgavimas veikia įprastai.

Klausimas: Ar yra galimybė išgauti teksto struktūrą (pvz., antraštes, lenteles)?
Atsakymas: Nors paprastas TXT formatas neturi struktūros, galite naudoti TextFragmentAbsorber su TextFragment.Rectangle koordinatėmis, kad nustatytumėte, kurios teksto srities priklauso antraštei ar lentelei, ir atskirai įrašytumėte į skirtingus failus.


Papildoma informacija apie Aspose.PDF for .NET licencijavimą, našumą ir integraciją su kitomis .NET technologijomis yra prieinama oficialioje dokumentacijoje ir „Aspose“ bendruomenės forumuose.

More in this category