Soubory PDF jsou oblíbené, protože podporují text, obrázky, animace, videa a mnoho dalších anotací. Text je však nejdůležitější částí většiny dokumentů PDF. V tomto článku převedeme soubor PDF na soubor TXT a soubor TXT do formátu PDF pomocí C# .NET. Tento převod se hodí v situacích, kdy se zabýváte pouze textovým obsahem dokumentů PDF. Projděte si následující nadpisy, abyste získali přehled nadcházejících témat:

Tip: Možná vás bude zajímat bezplatný Text to GIF Converter, který vám umožní generovat animace z textů.

Převaděč C# TXT do PDF nebo PDF do TXT

Převod PDF do TXT a převod TXT souboru do PDF je velmi užitečný, pokud je vaším hlavním zájmem textový řetězec použitý v dokumentu. Tyto formáty souborů můžete převést jeden do druhého pomocí několika jednoduchých kroků pomocí Aspose.PDF for .NET API. Jako rozhraní API založené na .NET framework vám umožňuje pracovat s C# a také s programovacím jazykem VB.NET. Rozhraní API můžete snadno nainstalovat do svých aplikací .NET buď stažením souborů DLL z Downloads nebo prostřednictvím galerie NuGet.

Po úspěšné instalaci API přistoupíme k převodu souboru PDF na soubor TXT dvěma různými přístupy:

C# Převod PDF na TXT bez formátování

Nejprve převedeme PDF na text bez jakékoli formátovací rutiny. Textový obsah bude převeden do původní podoby. Takže výstupní text nebude mít žádné formátování jako vstupní soubor PDF. Chcete-li převést PDF na TXT s velkou účinností a spolehlivostí, musíte postupovat podle níže uvedených kroků.

  1. Načíst vstupní PDF dokument
  2. Inicializujte instanci třídy StringBuilder
  3. Procházejte každou stránku dokumentu PDF
  4. Číst text pomocí režimu TextDevice a Raw
  5. Uložit výstupní text jako soubor TXT

Níže uvedený úryvek kódu ukazuje, jak převést soubor PDF na soubor TXT pomocí C# nebo VB v .NET Framework:

// Otevřete dokument
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// Řetězec pro uložení extrahovaného textu
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // Vytvořte textové zařízení
        TextDevice textDevice = new TextDevice();

        // Nastavte různé možnosti
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);
        textDevice.ExtractionOptions = options;

        // Převeďte stránku a uložte text do streamu
        textDevice.Process(pdfPage, textStream);

        // Zavřete datový proud paměti
        textStream.Close();

        // Získejte text z paměti
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Raw.txt";
// Uložte textový soubor
File.WriteAllText(dataDir, builder.ToString());

Převeďte PDF do souboru TXT s rutinami formátování pomocí C# nebo VB.NET

Nyní se podívejme na případ použití, kdy potřebujete převést PDF na text pomocí několika formátovacích rutin. Například odsazení odstavců, tabulátory, styly nebo formátování po sloupcích. Textový obsah dokumentu PDF můžete snadno vykreslit do souboru TXT pomocí C# podle následujících kroků:

  1. Načíst zdrojový soubor PDF
  2. Iniciujte řetězcovou proměnnou
  3. Přečtěte si každou stránku pomocí TextFormattingMode.Pure
  4. Uložte převedený soubor TXT

Následující fragment kódu ukazuje, jak převést soubor PDF na soubor TXT s formátováním pomocí jazyka C# nebo VB.NET:

// Otevřete dokument
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// Řetězec pro uložení extrahovaného textu
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // Vytvořte textové zařízení
        TextDevice textDevice = new TextDevice();

        // Nastavte různé možnosti
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure);
        textDevice.ExtractionOptions = options;

        // Převeďte stránku a uložte text do streamu
        textDevice.Process(pdfPage, textStream);

        // Zavřete datový proud paměti
        textStream.Close();

        // Získejte text z paměti
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Pure.txt";
// Uložte textový soubor
File.WriteAllText(dataDir, builder.ToString());

Vizuální srovnání převodu textu PURE a RAW

Následující snímek obrazovky je vizuálním srovnáním dvou přístupů, o kterých jsme právě hovořili. Můžete si všimnout, že režim Pure (okno zcela vpravo) zobrazuje Text se stejným formátováním jako v souboru PDF (okno zcela vlevo).

Převést PDF TXT csharp

Tento snímek obrazovky se vstupními a výstupními soubory vám umožní rozhodnout, který přístup ke konverzi vám nejlépe vyhovuje.

Převeďte soubor TXT na PDF programově pomocí C# nebo VB.NET

Soubory TXT často obsahují obrovský textový obsah. Soubor TXT můžete snadno převést na soubor PDF pomocí Aspose.PDF for .NET API. Jednoduše postupujte podle následujících kroků a proveďte převod textu do PDF:

  1. Vytvořte instanci třídy TextReader
  2. Inicializujte dokument PDF a přidejte prázdnou stránku
  3. Vytvořte instanci TextBuilder objektu
  4. Přečtěte si každý řádek textu ze vstupního souboru TXT
  5. Uložit výstupní soubor PDF

Níže uvedený fragment kódu vysvětluje, jak programově převést soubor TXT obsahující text na dokument PDF pomocí jazyka C# nebo VB.NET:

// Číst vstupní TXT soubor
System.IO.TextReader tr = new StreamReader(dataDir + "Test.txt", Encoding.UTF8, true);

// Inicializujte nový dokument
Document doc = new Document();

// Přidat prázdnou stránku
Page page = doc.Pages.Add();
String strLine;

// Spusťte objekt 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);
}

// Uložit výstupní soubor PDF
doc.Save(dataDir + "TexttoPDF.pdf");
tr.Close();

Závěr

V tomto článku jsme se naučili a prozkoumali převod textu v souboru PDF do formátu souboru TXT. Navíc jsme text v TXT souboru převedli do PDF dokumentu pomocí C# nebo VB v .NET Framework. Soubory PDF a TXT můžete převádět poměrně efektivně a rychle. Pokud však máte nějaké obavy nebo dotazy, neváhejte nám napsat na Free Support Forum nebo si prohlédněte Product Documentation. Rádi bychom od vás slyšeli!

Viz také