PDF 文件很受欢迎,因为它们支持文本、图像、动画、视频和许多其他注释。但是,文本是大多数 PDF 文档中最重要的部分。在本文中,我们将使用 C# .NET 将 PDF 转换为 TXT 文件,并将 TXT 文件转换为 PDF 格式。在您只关心 PDF 文档的文本内容的情况下,这种转换非常方便。让我们通过以下标题来概述即将到来的主题:
- TXT 转 PDF 或 PDF 转 TXT 转换器 API
- 使用 C# 或 VB.NET 将 PDF 转换为 TEXT 文件而不进行格式化
- 使用 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 编程语言。您可以通过从 Downloads 或通过 NuGet 库下载 DLL 文件轻松地在 .NET 应用程序中安装 API。
成功安装 API 后,让我们继续使用两种不同的方法将 PDF 文件转换为 TXT 文件:
使用 C# 或 VB.NET 将 PDF 转换为 TEXT 文件而不进行格式化
首先,我们将在没有任何格式化程序的情况下将 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 文件。但是,如果您有任何疑虑或疑问,请随时在 免费支持论坛 上给我们回信,或浏览 产品文档。我们很想听到您的声音!