Bagaimana untuk mengekstrak teks daripada PDF dalam .NET

Bagaimana untuk mengekstrak teks daripada PDF dalam .NET

Artikel ini menunjukkan bagaimana untuk mengekstrak teks daripada dokumen PDF menggunakan Aspose.PDF Text Extractor untuk .NET. Anda akan belajar untuk menggunakan semua mod ekstraksi yang disokong—Pure, Raw, dan Plain—dan mengautomatikkan aliran kerja untuk PDF individu atau berbilang.

Masalah dunia sebenar

Untuk aplikasi dalam analisis data, migrasi dokumen, atau arkib, pengekstrakan teks automatik memastikan konsistensi, kelajuan, dan ketepatan.

Gambaran keseluruhan penyelesaian

Aspose.PDF Text Extractor untuk .NET menyediakan antara muka yang bersih dan boleh diprogramkan untuk mengekstrak teks dalam pelbagai format. Pilih antara mod Pure, Raw, dan Plain untuk menyesuaikan kes penggunaan anda - sama ada anda memerlukan output yang diformat, data mentah, atau kandungan rata.

Prerequisites

  • Visual Studio 2019 atau seterusnya
  • .NET 6.0 atau lebih baru
  • Aspose.PDF untuk .NET dipasang melalui NuGet
PM> Install-Package Aspose.PDF

Pelaksanaan langkah demi langkah

Langkah 1: Instal dan Konfigur Aspose.PDF

using Aspose.Pdf.Plugins;
using System.IO;

Langkah 2: Mengekstrak teks menggunakan mod lalai (Raw)

using (var extractor = new TextExtractor())
{
    var options = new TextExtractorOptions(); // Raw mode by default
    options.AddInput(new FileDataSource("input.pdf"));
    var resultContainer = extractor.Process(options);
    string textExtracted = resultContainer.ResultCollection[0].ToString();
    Console.WriteLine(textExtracted);
}

Langkah 3: Mengekstrak teks dalam mod bersih atau rata

  • Mode Bersih: Mengekalkan kedudukan relatif dan menambah ruang untuk penyelarasan.
  • Plain Mode: Strip format, output teks dengan ruang minimum.
using (var extractor = new TextExtractor())
{
    var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Pure); // Or .Plain
    options.AddInput(new FileDataSource("input.pdf"));
    var resultContainer = extractor.Process(options);
    string textExtracted = resultContainer.ResultCollection[0].ToString();
    Console.WriteLine(textExtracted);
}

Penggunaan Kasus & Aplikasi (dengan Variasi Kod)

1. Batch Mengekstrak teks daripada pelbagai PDF

string[] files = Directory.GetFiles(@"C:\PDFs", "*.pdf");
using (var extractor = new TextExtractor())
{
    var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Pure);
    foreach (var file in files)
        options.AddInput(new FileDataSource(file));
    var resultContainer = extractor.Process(options);
    for (int i = 0; i < resultContainer.ResultCollection.Count; i++)
    {
        string extracted = resultContainer.ResultCollection[i].ToString();
        // Save to disk, process, or analyze as needed
        File.WriteAllText($@"C:\PDFs\out\{Path.GetFileNameWithoutExtension(files[i])}.txt", extracted);
    }
}

2. ** Pilih mod pengekstrakan berdasarkan kes penggunaan**

  • Gunakan Pure untuk tataletak seperti jadual atau pemformatan ruang.
  • Gunakan Plain untuk pengekstrakan atau analisis data yang bersih.
  • Gunakan Raw untuk teks yang tidak diproses.

3. ** Post-process teks yang dikeluarkan**

Selepas pengekstrakan, gunakan regex, pembersihan teks, atau hantar hasil kepada perkhidmatan lain (carian, paip ML, dan lain-lain).

4. Pengekstrakan bersepadu dengan paip data

Pengekstrakan automatik sebagai sebahagian daripada aliran kerja ETL yang lebih luas, laporan, atau pengurusan dokumen menggunakan amalan .NET standard.

Tantangan dan Penyelesaian Bersama

Challenge: Hasil yang tidak konsisten disebabkan oleh struktur PDF yang kompleks** Penyelesaian:** Cuba pelbagai mod pengekstrakan (Pure, Plain, Raw) dan bandingkan hasil.

Tantangan: Kelajuan pengekstrakan batch** Penyelesaian:** Gunakan satu TextExtractor contoh dan memproses beberapa fail dalam satu run untuk prestasi terbaik.

Challenge: watak-watak istimewa atau masalah penyulitan** Penyelesaian:** Gunakan mod rata untuk pemformatan minimum, kemudian gunakan pemprosesan string tersuai seperti yang diperlukan.

prestasi dan amalan terbaik

  • Ujian semua tiga mod pengekstrakan untuk menentukan hasil yang optimum untuk jenis dokumen anda
  • Simpan PDF asal sebelum operasi batch
  • Mengendalikan nama dan organisasi pengeluaran dalam pekerjaan batch
  • Mengintegrasikan pemprosesan ralat dan logging untuk kestabilan

Contoh Pelaksanaan Lengkap

using Aspose.Pdf.Plugins;
using System;
using System.IO;

class Program
{
    static void Main()
    {
        using (var extractor = new TextExtractor())
        {
            var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Plain);
            options.AddInput(new FileDataSource(@"C:\PDFs\input.pdf"));
            var resultContainer = extractor.Process(options);
            string textExtracted = resultContainer.ResultCollection[0].ToString();
            File.WriteAllText(@"C:\PDFs\output.txt", textExtracted);
        }
    }
}

Conclusion

Aspose.PDF Text Extractor untuk .NET memberi anda alat-alat yang kuat dan fleksibel untuk mengekstrak teks dalam pelbagai format – sesuai untuk pemprosesan data, arkib, atau analisis. Pilih mod ekstrak yang paling sesuai dengan keperluan anda dan automatik ekstraksi untuk kecekapan tinggi dalam aplikasi .Net.

 Melayu