PDF处理控件Aspose.PDF功能演示:使用C#实现PDF和TXT格式互转

PDF文件之所以受欢迎,是因为它们支持文本,图像,动画,视频和许多其他注释。在本文中,将使用C#.NET将PDF转换为TXT文件,并将TXT文件转换为PDF格式。

PDF文件之所以受欢迎,是因为它们支持文本,图像,动画,视频和许多其他注释。

但是,文本是大多数PDF文档中最重要的部分。在本文中,我们将使用C#.NET将PDF转换为TXT文件,并将TXT文件转换为PDF格式。本文内容包括:

  • 使用C#或VB.NET将PDF转换为TXT文件而不进行格式化
  • 使用C#或VB.NET使用格式化例程将PDF转换为TXT文件
  • 使用C#或VB.NET以编程方式将TXT文件转换为PDF

目前,.NET版Aspose.PDF升级到v20.9版,增强TIFF到PDF的转换性能,修复LZW解码器失败等诸多Bug问题,感兴趣的朋友可点击下方按钮下载最新版。

(安装包仅提供部分功能,并设置限制,如需试用完整功能请申请免费授权)

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

首先,我们将无需任何格式设置例程即可将PDF转换为文本。文本内容将按原样转换。因此,从输入的PDF文件开始,输出文本将不遵循任何格式。需要按照以下步骤将PDF高效且可靠地转换为TXT。

  • 加载输入的PDF文档
  • 初始化StringBuilder类的实例
  • 遍历PDF文档的每一页
  • 使用TextDevice和Raw模式读取文本
  • 将输出文本另存为TXT文件

下面的代码段显示了如何在.NET Framework中使用C#或VB将PDF转换为TXT文件:

// Open documentDocument pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");StringBuilder builder = new StringBuilder();// String to hold extracted textstring extractedText = "";foreach (Page pdfPage in pdfDocument.Pages){    using (MemoryStream textStream = new MemoryStream())    {        // Create text device        TextDevice textDevice = new TextDevice();        // Set different options        TextExtractionOptions options = new        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);        textDevice.ExtractionOptions = options;        // Convert the page and save text to the stream        textDevice.Process(pdfPage, textStream);        // Close memory stream        textStream.Close();        // Get text from memory stream        extractedText = Encoding.Unicode.GetString(textStream.ToArray());    }    builder.Append(extractedText);}dataDir = dataDir + "PDF_to_TXT_Raw.txt";// Save the text fileFile.WriteAllText(dataDir, builder.ToString());

使用C#或VB.NET使用格式化例程将PDF转换为TXT文件

可以按照以下步骤,使用C#轻松地将PDF文档的文本内容呈现为TXT文件:

  • 加载源PDF文件
  • 启动一个字符串变量
  • 使用TextFormattingMode.Pure通读每个页面
  • 保存转换后的TXT文件

以下代码段显示了如何使用C#或VB.NET语言将PDF格式转换为TXT文件:

// Open documentDocument pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");StringBuilder builder = new StringBuilder();// String to hold extracted textstring extractedText = "";foreach (Page pdfPage in pdfDocument.Pages){    using (MemoryStream textStream = new MemoryStream())    {        // Create text device        TextDevice textDevice = new TextDevice();        // Set different options        TextExtractionOptions options = new        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure);        textDevice.ExtractionOptions = options;        // Convert the page and save text to the stream        textDevice.Process(pdfPage, textStream);        // Close memory stream        textStream.Close();        // Get text from memory stream        extractedText = Encoding.Unicode.GetString(textStream.ToArray());    }    builder.Append(extractedText);}dataDir = dataDir + "PDF_to_TXT_Pure.txt";// Save the text fileFile.WriteAllText(dataDir, builder.ToString());

视觉比较PURE和RAW文本转换

以下屏幕快照是我们刚刚讨论的两种方法的直观比较。您会注意到,纯模式(最右边的窗口)以与PDF文件(最左边的窗口)相同的格式显示文本。

PDF处理控件Aspose.PDF功能演示:使用C#实现PDF和TXT格式互转

使用C#或VB.NET以编程方式将TXT文件转换为PDF

TXT文件通常包含大量文本内容。您可以使用Aspose.PDF for .NET API轻松地将TXT文件转换为PDF文件。只需按照以下步骤执行文本到PDF的转换:

  • 创建一个TextReader类的实例
  • 初始化PDF文档并添加空白页
  • 实例化TextBuilder对象
  • 从输入的TXT文件中读取每一行文本
  • 保存输出PDF文件

下面的代码段说明了如何使用C#或VB.NET语言以编程方式将包含文本的TXT文件转换为PDF文档:

// Read input TXT fileSystem.IO.TextReader tr = new StreamReader(dataDir + "Test.txt", Encoding.UTF8, true);// Initialize new DocumentDocument doc = new Document();// Add blank pagePage page = doc.Pages.Add();String strLine;// Initiate TextBuilder objectTextBuilder 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);}// Save output PDF filedoc.Save(dataDir + "TexttoPDF.pdf");tr.Close();


还想要更多吗可以点击阅读【2020 · Aspose最新资源整合】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(),我们很高兴为您提供查询和咨询
标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年8月26日
下一篇 2020年8月26日

相关推荐

发表回复

登录后才能评论