I file PDF sono popolari perché supportano testo, immagini, animazioni, video e molte altre annotazioni. Tuttavia, il testo è la parte più importante della maggior parte dei documenti PDF. In questo articolo, convertiremo il file PDF in TXT e il file TXT in formato PDF utilizzando C# .NET. Questa conversione è utile in situazioni in cui ti occupi solo del contenuto testuale dei documenti PDF. Esaminiamo i seguenti titoli per una panoramica dei prossimi argomenti:

Suggerimento: potresti essere interessato a un Convertitore da testo a GIF gratuito che ti consente di generare animazioni dai testi.

Convertitore da TXT a PDF o da PDF a TXT

La conversione da PDF a TXT così come la conversione da file TXT a PDF è molto utile quando la tua preoccupazione principale è la stringa di testo utilizzata nel documento. Puoi convertire questi formati di file l’uno nell’altro con pochi semplici passaggi utilizzando l’API Aspose.PDF for .NET. Essendo un’API basata su .NET Framework, ti consente di lavorare con C# e con il linguaggio di programmazione VB.NET. Puoi installare facilmente l’API nelle tue applicazioni .NET scaricando i file DLL da Download o tramite la galleria NuGet.

Dopo aver installato correttamente l’API, procediamo alla conversione di un file PDF in un file TXT con due diversi approcci:

Converti PDF in file di testo senza formattazione utilizzando C# o VB.NET

Prima di tutto, convertiremo il PDF in testo senza alcuna routine di formattazione. I contenuti del testo verranno convertiti nella loro forma così com’è. Quindi il testo di output non seguirà alcuna formattazione a partire dal file PDF di input. È necessario seguire i passaggi seguenti per convertire PDF in TXT con grande efficienza e affidabilità.

  1. Carica il documento PDF di input
  2. Inizializza un’istanza di StringBuilder Class
  3. Scorri ogni pagina del documento PDF
  4. Leggi il testo utilizzando la modalità TextDevice e Raw.
  5. Salva il testo di output come file TXT

Il frammento di codice seguente mostra come convertire PDF in file TXT usando C# o VB in .NET Framework:

// Apri documento
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// Stringa per contenere il testo estratto
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // Crea dispositivo di testo
        TextDevice textDevice = new TextDevice();

        // Imposta diverse opzioni
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);
        textDevice.ExtractionOptions = options;

        // Converti la pagina e salva il testo nello stream
        textDevice.Process(pdfPage, textStream);

        // Chiudi il flusso di memoria
        textStream.Close();

        // Ottieni testo dal flusso di memoria
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Raw.txt";
// Salva il file di testo
File.WriteAllText(dataDir, builder.ToString());

Converti PDF in file TXT con routine di formattazione utilizzando C# o VB.NET

Consideriamo ora il caso d’uso in cui è necessario convertire il PDF in testo con un po’ di routine di formattazione. Ad esempio, rientri di paragrafo, tabulazioni, stili o formattazione a colonne. Puoi facilmente eseguire il rendering del contenuto di testo di un documento PDF in un file TXT con C# seguendo i passaggi seguenti:

  1. Carica il file PDF di origine
  2. Avvia una variabile stringa
  3. Leggi ogni pagina con TextFormattingMode.Pure
  4. Salva il file TXT convertito

Il seguente frammento di codice mostra come convertire PDF in file TXT con la formattazione utilizzando il linguaggio C# o VB.NET:

// Apri documento
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// Stringa per contenere il testo estratto
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // Crea dispositivo di testo
        TextDevice textDevice = new TextDevice();

        // Imposta diverse opzioni
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure);
        textDevice.ExtractionOptions = options;

        // Converti la pagina e salva il testo nello stream
        textDevice.Process(pdfPage, textStream);

        // Chiudi il flusso di memoria
        textStream.Close();

        // Ottieni testo dal flusso di memoria
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Pure.txt";
// Salva il file di testo
File.WriteAllText(dataDir, builder.ToString());

Confronto visivo di conversione di testo PURE e RAW

Lo screenshot seguente è un confronto visivo dei due approcci che abbiamo appena discusso. Puoi notare che la modalità Pure (finestra più a destra) mostra il testo con la stessa formattazione del file PDF (finestra più a sinistra).

Converti PDF TXT csharp

Questa schermata dei file di input e output ti consente di decidere quale approccio di conversione ti si addice meglio.

Converti file TXT in PDF a livello di codice utilizzando C# o VB.NET

I file TXT contengono spesso enormi contenuti di testo. Puoi convertire facilmente un file TXT in un file PDF con Aspose.PDF per .NET API. Segui semplicemente i passaggi seguenti per eseguire la conversione da testo a PDF:

  1. Crea un’istanza della classe TextReader.
  2. Inizializza un documento PDF e aggiungi una pagina vuota
  3. Istanziare l’oggetto TextBuilder.
  4. Leggi ogni riga di testo dal file TXT di input
  5. Salva il file PDF di output

Il frammento di codice seguente spiega come convertire a livello di codice un file TXT contenente testo in un documento PDF utilizzando il linguaggio C# o VB.NET:

// Leggi il file TXT di input
System.IO.TextReader tr = new StreamReader(dataDir + "Test.txt", Encoding.UTF8, true);

// Inizializza nuovo documento
Document doc = new Document();

// Aggiungi una pagina vuota
Page page = doc.Pages.Add();
String strLine;

// Avvia l'oggetto 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);
}

// Salva il file PDF di output
doc.Save(dataDir + "TexttoPDF.pdf");
tr.Close();

Conclusione

In questo articolo, abbiamo appreso ed esplorato la conversione del testo in file PDF nel formato file TXT. Inoltre, abbiamo convertito il testo in un file TXT in un documento PDF utilizzando C# o VB in .NET Framework. Puoi convertire file PDF e TXT in modo abbastanza efficiente e veloce. Tuttavia, in caso di dubbi o domande, non esitare a scriverci su Forum di supporto gratuito o esplorare la Documentazione del prodotto. Ci piacerebbe avere tue notizie!

Guarda anche