PDF 文件很受歡迎,因為它們支持文本、圖像、動畫、視頻和許多其他註釋。然而,文本是大多數 PDF 文檔中最重要的部分。在本文中,我們將使用 C# .NET 將 PDF 轉換為 TXT 文件並將 TXT 文件轉換為 PDF 格式。在您只關心 PDF 文檔的文本內容的情況下,這種轉換非常方便。讓我們通過以下標題來概述即將到來的主題:
- TXT 到 PDF 或 PDF 到 TXT 轉換器 API
- 使用 C# 或 VB.NET 無需格式化即可將 PDF 轉換為文本文件
- 使用 C# 或 VB.NET 的格式化例程將 PDF 轉換為 TXT 文件
- 使用 C# 或 VB.NET 以編程方式將 TXT 文件轉換為 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。
- 加載輸入 PDF 文檔
- 初始化 StringBuilder 類的一個實例
- 遍歷 PDF 文檔的每一頁
- 使用 TextDevice 和 Raw 模式讀取文本
- 將輸出文本保存為 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 文件:
- 加載源 PDF 文件
- 啟動一個字符串變量
- 使用 TextFormattingMode.Pure 通讀每一頁
- 保存轉換後的 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 文件(最左側的窗口)中的格式相同。
此輸入和輸出文件的屏幕截圖可讓您決定哪種轉換方法最適合您。
使用 C# 或 VB.NET 以編程方式將 TXT 文件轉換為 PDF
TXT 文件通常包含大量文本內容。您可以使用 Aspose.PDF for .NET API 輕鬆地將 TXT 文件轉換為 PDF 文件。只需按照以下步驟執行文本到 PDF 的轉換:
- 創建 TextReader 類的實例
- 初始化 PDF 文檔並添加空白頁
- 實例化 TextBuilder 對象
- 從輸入的 TXT 文件中讀取每一行文本
- 保存輸出 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 文件。但是,如果您有任何疑慮或疑問,請隨時通過 免費支持論壇 或瀏覽 產品文檔 給我們回信。我們很想听到您的聲音!