PDF-filer är populära eftersom de stöder text, bilder, animationer, videor och många andra kommentarer. Texten är dock den viktigaste delen av de flesta PDF-dokument. I den här artikeln kommer vi att konvertera PDF till TXT-fil och TXT-fil till PDF-format med C# .NET. Denna konvertering är praktisk i situationer där du bara är orolig för textinnehållet i PDF-dokument. Låt oss gå igenom följande rubriker för en översikt över kommande ämnen:

Tips: Du kanske är intresserad av en gratis Text to GIF Converter som låter dig generera animationer från texter.

C# TXT till PDF eller PDF till TXT Converter

PDF till TXT-konvertering såväl som TXT-fil till PDF-konvertering är till stor hjälp när ditt huvudproblem är textsträngen som används i dokumentet. Du kan konvertera dessa filformat till varandra med några enkla steg med hjälp av Aspose.PDF for .NET API. Eftersom det är ett .NET framework-baserat API, låter det dig arbeta med C# såväl som med programmeringsspråket VB.NET. Du kan enkelt installera API:t i dina .NET-applikationer antingen genom att ladda ner DLL-filerna från Nedladdningar eller via NuGet-galleriet.

Efter att ha installerat API framgångsrikt, låt oss fortsätta att konvertera en PDF-fil till TXT-fil med två olika tillvägagångssätt:

C# Konvertera PDF till TXT utan formatering

Först och främst kommer vi att konvertera PDF-filen till text utan någon formateringsrutin. Textinnehållet kommer att konverteras till sin befintliga form. Så den utgående texten kommer inte att följa någon formatering från och med den ingående PDF-filen. Du måste följa stegen nedan för att konvertera PDF till TXT med stor effektivitet och tillförlitlighet.

  1. Ladda inmatat PDF-dokument
  2. Initiera en instans av klassen StringBuilder
  3. Iterera genom varje sida i PDF-dokumentet
  4. Läs text med läget TextDevice och Raw
  5. Spara utdatatext som en TXT-fil

Kodavsnittet nedan visar hur man konverterar PDF till TXT-fil med C# eller VB i .NET Framework:

// Öppna dokumentet
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// Sträng för att hålla extraherad text
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // Skapa textenhet
        TextDevice textDevice = new TextDevice();

        // Ställ in olika alternativ
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);
        textDevice.ExtractionOptions = options;

        // Konvertera sidan och spara text i strömmen
        textDevice.Process(pdfPage, textStream);

        // Stäng minnesströmmen
        textStream.Close();

        // Få text från minnesströmmen
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Raw.txt";
// Spara textfilen
File.WriteAllText(dataDir, builder.ToString());

Konvertera PDF till TXT-fil med formateringsrutiner med C# eller VB.NET

Låt oss nu överväga användningsfallet där du behöver konvertera PDF-filen till text med några formateringsrutiner. Till exempel styckeindrag, tabbar, formatmallar eller kolumnvis formatering. Du kan enkelt återge textinnehållet i ett PDF-dokument till en TXT-fil med C# genom att följa stegen nedan:

  1. Ladda käll-PDF-fil
  2. Initiera en strängvariabel
  3. Läs igenom varje sida med TextFormattingMode.Pure
  4. Spara den konverterade TXT-filen

Följande kodsnutt visar hur man konverterar PDF till TXT-fil med formatering med C# eller VB.NET språk:

// Öppna dokumentet
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// Sträng för att hålla extraherad text
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // Skapa textenhet
        TextDevice textDevice = new TextDevice();

        // Ställ in olika alternativ
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure);
        textDevice.ExtractionOptions = options;

        // Konvertera sidan och spara text i strömmen
        textDevice.Process(pdfPage, textStream);

        // Stäng minnesströmmen
        textStream.Close();

        // Få text från minnesströmmen
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Pure.txt";
// Spara textfilen
File.WriteAllText(dataDir, builder.ToString());

Visuell jämförelse av PURE och RAW-textkonvertering

Följande skärmdump är en visuell jämförelse av de två metoder som vi just har diskuterat. Du kan märka att Pure-läget (fönstret längst till höger) visar texten med samma formatering som i PDF-filen (fönstret längst till vänster).

Konvertera PDF TXT csharp

Denna skärmdump av in- och utdatafiler låter dig bestämma vilken konverteringsmetod som passar dig bäst.

Konvertera TXT-fil till PDF Programmatiskt med C# eller VB.NET

TXT-filer innehåller ofta enormt textinnehåll. Du kan enkelt konvertera en TXT-fil till PDF-fil med Aspose.PDF för .NET API. Följ bara stegen nedan för att utföra text till PDF-konvertering:

  1. Skapa en instans av klassen TextReader
  2. Initiera ett PDF-dokument och Lägg till tom sida
  3. Instantiera TextBuilder objekt
  4. Läs varje textrad från inmatad TXT-fil
  5. Spara utdata-PDF-fil

Kodavsnittet nedan förklarar hur man programmässigt konverterar en TXT-fil som innehåller text till ett PDF-dokument med C# eller VB.NET:

// Läs indatafilen TXT
System.IO.TextReader tr = new StreamReader(dataDir + "Test.txt", Encoding.UTF8, true);

// Initiera nytt dokument
Document doc = new Document();

// Lägg till tom sida
Page page = doc.Pages.Add();
String strLine;

// Initiera TextBuilder-objekt
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);
}

// Spara utdata-PDF-fil
doc.Save(dataDir + "TexttoPDF.pdf");
tr.Close();

Slutsats

I den här artikeln har vi lärt oss och utforskat konverteringen av texten i PDF-fil till TXT-filformatet. Dessutom har vi konverterat texten i en TXT-fil till ett PDF-dokument med C# eller VB i .NET Framework. Du kan konvertera PDF- och TXT-filer ganska effektivt och snabbt. Men om du har några funderingar eller frågor får du gärna skriva tillbaka till oss på Free Support Forum eller utforska Produktdokumentation. Vi vill gärna höra från dig!

Se även