PDF 文件很受歡迎,因為它們支持文本、圖像、動畫、視頻和許多其他註釋。然而,文本是大多數 PDF 文檔中最重要的部分。在本文中,我們將使用 C# .NET 將 PDF 轉換為 TXT 文件並將 TXT 文件轉換為 PDF 格式。在您只關心 PDF 文檔的文本內容的情況下,這種轉換非常方便。讓我們通過以下標題來概述即將到來的主題:

提示:您可能對免費的 Text to GIF Converter 感興趣,它允許您從文本生成動畫。

TXT 轉 PDF 或 PDF 轉 TXT 轉換器

當您主要關注文檔中使用的文本字符串時,PDF 到 TXT 轉換以及 TXT 文件到 PDF 轉換非常有用。您可以使用 Aspose.PDF for .NET API 通過幾個簡單的步驟將這些文件格式相互轉換。作為基於 .NET 框架的 API,它允許您使用 C# 以及 VB.NET 編程語言。您可以通過從 下載 下載 DLL 文件或通過 NuGet 庫輕鬆地將 API 安裝到您的 .NET 應用程序中。

成功安裝 API 後,讓我們繼續使用兩種不同的方法將 PDF 文件轉換為 TXT 文件:

使用 C# 或 VB.NET 無需格式化即可將 PDF 轉換為文本文件

首先,我們將在沒有任何格式化例程的情況下將 PDF 轉換為文本。文本內容將按原樣轉換。因此輸出文本不會遵循輸入 PDF 文件的任何格式。您需要按照以下步驟高效、可靠地將 PDF 轉換為 TXT。

  1. 加載輸入 PDF 文檔
  2. 初始化 StringBuilder 類的一個實例
  3. 遍歷 PDF 文檔的每一頁
  4. 使用 TextDeviceRaw 模式讀取文本
  5. 將輸出文本保存為 TXT 文件

下面的代碼片段顯示瞭如何在 .NET Framework 中使用 C# 或 VB 將 PDF 轉換為 TXT 文件:

// 打開文檔
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// 保存提取文本的字符串
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // 創建文本設備
        TextDevice textDevice = new TextDevice();

        // 設置不同的選項
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);
        textDevice.ExtractionOptions = options;

        // 轉換頁面並將文本保存到流
        textDevice.Process(pdfPage, textStream);

        // 關閉內存流
        textStream.Close();

        // 從內存流中獲取文本
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Raw.txt";
// 保存文本文件
File.WriteAllText(dataDir, builder.ToString());

使用 C# 或 VB.NET 的格式化例程將 PDF 轉換為 TXT 文件

現在,讓我們考慮需要使用少量格式化例程將 PDF 轉換為文本的用例。例如,段落縮進、製表符、樣式或按列格式。您可以按照以下步驟使用 C# 輕鬆地將 PDF 文檔的文本內容呈現為 TXT 文件:

  1. 加載源 PDF 文件
  2. 啟動一個字符串變量
  3. 使用 TextFormattingMode.Pure 通讀每一頁
  4. 保存轉換後的 TXT 文件

以下代碼片段顯示瞭如何使用 C# 或 VB.NET 語言將 PDF 轉換為帶格式的 TXT 文件:

// 打開文檔
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// 保存提取文本的字符串
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // 創建文本設備
        TextDevice textDevice = new TextDevice();

        // 設置不同的選項
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure);
        textDevice.ExtractionOptions = options;

        // 轉換頁面並將文本保存到流
        textDevice.Process(pdfPage, textStream);

        // 關閉內存流
        textStream.Close();

        // 從內存流中獲取文本
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Pure.txt";
// 保存文本文件
File.WriteAllText(dataDir, builder.ToString());

PURE 和 RAW 文本轉換的視覺比較

以下屏幕截圖是我們剛剛討論的兩種方法的直觀比較。您會注意到純模式(最右側的窗口)顯示的文本格式與 PDF 文件(最左側的窗口)中的格式相同。

轉換 PDF TXT csharp

此輸入和輸出文件的屏幕截圖可讓您決定哪種轉換方法最適合您。

使用 C# 或 VB.NET 以編程方式將 TXT 文件轉換為 PDF

TXT 文件通常包含大量文本內容。您可以使用 Aspose.PDF for .NET API 輕鬆地將 TXT 文件轉換為 PDF 文件。只需按照以下步驟執行文本到 PDF 的轉換:

  1. 創建 TextReader 類的實例
  2. 初始化 PDF 文檔並添加空白頁
  3. 實例化 TextBuilder 對象
  4. 從輸入的 TXT 文件中讀取每一行文本
  5. 保存輸出 PDF 文件

下面的代碼片段解釋瞭如何使用 C# 或 VB.NET 語言以編程方式將包含文本的 TXT 文件轉換為 PDF 文檔:

// 讀取輸入的 TXT 文件
System.IO.TextReader tr = new StreamReader(dataDir + "Test.txt", Encoding.UTF8, true);

// 初始化新文檔
Document doc = new Document();

// 添加空白頁
Page page = doc.Pages.Add();
String strLine;

// 啟動 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);
}

// 保存輸出 PDF 文件
doc.Save(dataDir + "TexttoPDF.pdf");
tr.Close();

結論

在本文中,我們學習和探索了將PDF文件中的文本轉換為TXT文件格式。此外,我們在.NET Framework 中使用C# 或VB 將TXT 文件中的文本轉換為PDF 文檔。您可以非常高效快速地轉換 PDF 和 TXT 文件。但是,如果您有任何疑慮或疑問,請隨時通過 免費支持論壇 或瀏覽 產品文檔 給我們回信。我們很想听到您的聲音!

也可以看看