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 编程语言。您可以通过从 Downloads 或通过 NuGet 库下载 DLL 文件轻松地在 .NET 应用程序中安装 API。

成功安装 API 后,让我们继续使用两种不同的方法将 PDF 文件转换为 TXT 文件:

使用 C# 或 VB.NET 将 PDF 转换为 TEXT 文件而不进行格式化

首先,我们将在没有任何格式化程序的情况下将 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 文件。但是,如果您有任何疑虑或疑问,请随时在 免费支持论坛 上给我们回信,或浏览 产品文档。我们很想听到您的声音!

也可以看看