【问题标题】:Reading a part of PDF file in c#在c#中读取PDF文件的一部分
【发布时间】:2016-02-09 08:52:35
【问题描述】:

我有许多大尺寸的 PDF 文件,我只需要阅读其中的一部分。我想开始阅读 PDF 文件并将其写入另一个文件,如 txt 文件或任何其他类型的文件。 但是,我想限制我正在写入的文件的大小。当 txt 文件的大小约为 15 MB 时,我应该停止阅读 PDF 文档,然后保留创建的 txt 文件以供我使用。 有谁可以帮助我如何在 C# 中做到这一点?

提前感谢您的帮助。

这是我用来读取整个文件的代码; (图片内容对我来说并不重要)

using (StreamReader sr = new StreamReader(@"F:\1.pdf"))
        {
            using (StreamWriter sw = new StreamWriter(@"F:\test.txt"))
            {
                while (!sr.EndOfStream)
                {
                    string line = sr.ReadLine();                       
                    sw.WriteLine(line);
                    sw.Flush(); 
                }

            }
        }

【问题讨论】:

  • 您是否有用于阅读 PDF 的库?是否支持流式阅读?
  • 所以你问的是如何读取文件的一部分。你已经知道如何阅读所有文件了吗?
  • 你肯定需要一个 Pdf 库。你选哪一个?
  • 我不想这么说,但 Aspose 是你的朋友。讨厌它,因为它是为数不多的可用库之一,并且有太多错误。
  • 我已经使用过 iTextSharp 库。它适用于 Windows 应用程序,但不适用于带有 Asp.net 的 Web 应用程序。

标签: c# pdf partial


【解决方案1】:

您必须使用 PDF 库来执行此操作。有很多免费和付费的 PDF 库可以用来完成您的任务。最近我使用EO.pdf库读取pdf页面并提取页面内容。最好的部分是它有 NuGet 包并且还在不断发展。缺点是您必须为商业用途付费。

【讨论】:

    【解决方案2】:

    无法使用 .NET 直接读取 PDF。您应该首先将 PDF 转换为文本(或 XML 或 HTML)。

    有很多 PDF 库能够将 PDF 转换为文本,例如 iTextSharp(最流行和开源)和很多 other tools

    要控制输出文本文件的大小,您应该

    • 从 PDF 中获取页数
    • 逐页运行pdf到文本的转换,同时检查输出文本文件的大小
    • 一旦文件大小超过 15 MB,只需停止转换并移至另一个文件

    【讨论】:

      猜你喜欢
      • 2015-05-17
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      • 2021-01-06
      • 1970-01-01
      • 1970-01-01
      • 2011-04-04
      • 1970-01-01
      相关资源
      最近更新 更多