Pliki PDF są popularne, ponieważ obsługują tekst, obrazy, animacje, filmy i wiele innych adnotacji. Jednak tekst jest najważniejszą częścią większości dokumentów PDF. W tym artykule przekonwertujemy plik PDF na plik TXT i plik TXT na format PDF przy użyciu języka C# .NET. Ta konwersja jest przydatna w sytuacjach, gdy interesują Cię tylko treści tekstowe dokumentów PDF. Przejrzyjmy następujące nagłówki, aby zapoznać się z nadchodzącymi tematami:

Wskazówka: Być może zainteresuje Cię darmowy Konwerter tekstu na GIF, który umożliwia generowanie animacji z tekstów.

Konwerter TXT na PDF lub PDF na TXT

Konwersja plików PDF na TXT oraz konwersja plików TXT na PDF jest bardzo pomocna, gdy głównym problemem jest ciąg tekstowy użyty w dokumencie. Możesz konwertować te formaty plików jeden na drugi w kilku prostych krokach za pomocą Aspose.PDF for .NET API. Będąc interfejsem API opartym na platformie .NET, umożliwia pracę zarówno z językiem C#, jak i językiem programowania VB.NET. Możesz łatwo zainstalować interfejs API w swoich aplikacjach .NET, pobierając pliki DLL z Downloads lub za pośrednictwem galerii NuGet.

Po pomyślnym zainstalowaniu interfejsu API przejdźmy do konwersji pliku PDF na plik TXT za pomocą dwóch różnych podejść:

Konwertuj PDF na plik TEKSTOWY bez formatowania za pomocą C# lub VB.NET

Przede wszystkim przekonwertujemy plik PDF na tekst bez żadnej procedury formatowania. Treść tekstowa zostanie przekonwertowana do pierwotnej postaci. Tak więc tekst wyjściowy nie będzie zgodny z żadnym formatowaniem od wejściowego pliku PDF. Musisz wykonać poniższe kroki, aby przekonwertować plik PDF na TXT z dużą wydajnością i niezawodnością.

  1. Załaduj wejściowy dokument PDF
  2. Zainicjuj instancję klasy StringBuilder.
  3. Przejrzyj każdą stronę dokumentu PDF
  4. Czytaj tekst w trybie TextDevice i Raw.
  5. Zapisz tekst wyjściowy jako plik TXT

Poniższy fragment kodu pokazuje, jak przekonwertować plik PDF na plik TXT przy użyciu C# lub VB w .NET Framework:

// Otwórz dokument
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// Ciąg do przechowywania wyodrębnionego tekstu
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // Utwórz urządzenie tekstowe
        TextDevice textDevice = new TextDevice();

        // Ustaw różne opcje
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);
        textDevice.ExtractionOptions = options;

        // Przekonwertuj stronę i zapisz tekst w strumieniu
        textDevice.Process(pdfPage, textStream);

        // Zamknij strumień pamięci
        textStream.Close();

        // Pobierz tekst ze strumienia pamięci
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Raw.txt";
// Zapisz plik tekstowy
File.WriteAllText(dataDir, builder.ToString());

Konwertuj pliki PDF na pliki TXT za pomocą procedur formatowania przy użyciu języka C# lub VB.NET

Rozważmy teraz przypadek użycia, w którym musisz przekonwertować plik PDF na tekst z odrobiną procedur formatowania. Na przykład wcięcia akapitów, tabulatory, style lub formatowanie kolumnowe. Możesz łatwo renderować zawartość tekstową dokumentu PDF do pliku TXT za pomocą C#, wykonując poniższe czynności:

  1. Załaduj źródłowy plik PDF
  2. Zainicjuj zmienną łańcuchową
  3. Przeczytaj każdą stronę za pomocą TextFormattingMode.Pure
  4. Zapisz przekonwertowany plik TXT

Poniższy fragment kodu pokazuje, jak przekonwertować plik PDF na plik TXT z formatowaniem przy użyciu języka C# lub VB.NET:

// Otwórz dokument
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// Ciąg do przechowywania wyodrębnionego tekstu
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // Utwórz urządzenie tekstowe
        TextDevice textDevice = new TextDevice();

        // Ustaw różne opcje
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure);
        textDevice.ExtractionOptions = options;

        // Przekonwertuj stronę i zapisz tekst w strumieniu
        textDevice.Process(pdfPage, textStream);

        // Zamknij strumień pamięci
        textStream.Close();

        // Pobierz tekst ze strumienia pamięci
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Pure.txt";
// Zapisz plik tekstowy
File.WriteAllText(dataDir, builder.ToString());

Wizualne porównanie konwersji tekstu PURE i RAW

Poniższy zrzut ekranu jest wizualnym porównaniem dwóch podejść, które właśnie omówiliśmy. Możesz zauważyć, że tryb Czysty (okno najbardziej po prawej) pokazuje Tekst z takim samym formatowaniem jak w pliku PDF (okno najbardziej po lewej).

Konwertuj PDF TXT csharp

Ten zrzut ekranu plików wejściowych i wyjściowych pozwala zdecydować, które podejście do konwersji jest dla Ciebie najlepsze.

Konwertuj plik TXT do formatu PDF programowo za pomocą C# lub VB.NET

Pliki TXT często zawierają ogromną zawartość tekstową. Możesz łatwo przekonwertować plik TXT na plik PDF za pomocą Aspose.PDF for .NET API. Wystarczy wykonać poniższe czynności, aby przeprowadzić konwersję tekstu do formatu PDF:

  1. Utwórz instancję klasy TextReader.
  2. Zainicjuj dokument PDF i dodaj pustą stronę
  3. Utwórz instancję obiektu TextBuilder.
  4. Przeczytaj każdy wiersz tekstu z wejściowego pliku TXT
  5. Zapisz wyjściowy plik PDF

Poniższy fragment kodu wyjaśnia, jak programowo przekonwertować plik TXT zawierający tekst na dokument PDF przy użyciu języka C# lub VB.NET:

// Przeczytaj wejściowy plik TXT
System.IO.TextReader tr = new StreamReader(dataDir + "Test.txt", Encoding.UTF8, true);

// Zainicjuj nowy dokument
Document doc = new Document();

// Dodaj pustą stronę
Page page = doc.Pages.Add();
String strLine;

// Zainicjuj obiekt TextBuilder
TextBuilder builder = new TextBuilder(page);
double x = 100; double y = 100;
while ((strLine = tr.ReadLine()) != null)
{
 TextFragment text = new TextFragment(strLine);
 text.Position = new Position(x, y);
 if (y >= page.PageInfo.Height - 72)
 {
  y = 100;
  page = doc.Pages.Add();
  builder = new TextBuilder(page);
 }
 else
 {
  y += 15;
 }
 builder.AppendText(text);
}

// Zapisz wyjściowy plik PDF
doc.Save(dataDir + "TexttoPDF.pdf");
tr.Close();

Wniosek

W tym artykule nauczyliśmy się i zbadaliśmy konwersję tekstu w pliku PDF do formatu pliku TXT. Co więcej, przekonwertowaliśmy tekst w pliku TXT na dokument PDF za pomocą C# lub VB w .NET Framework. Możesz konwertować pliki PDF i TXT dość wydajnie i szybko. Jeśli jednak masz jakiekolwiek wątpliwości lub pytania, napisz do nas na Free Support Forum lub zapoznaj się z Dokumentacją produktu. Chcielibyśmy usłyszeć od ciebie!

Zobacz też