在c#中阅读PDF文件的一部分

时间:2016-02-09 08:52:36

标签: c# pdf partial

我有许多大尺寸的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(); 
                }

            }
        }

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

有很多PDF库能够将PDF转换为文本,如iTextSharp(最受欢迎和开源)以及大量other tools

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

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