【问题标题】:Reading PDF per Line每行阅读PDF
【发布时间】:2011-12-09 08:35:33
【问题描述】:

如何使用 iText5 for .NET 阅读 PDF 文件 line by line? 我已经通过互联网搜索,但我只发现阅读每页内容的 PDF 文件。

请看下面的代码。

public string ReadPdfFile(object Filename)
{

    string strText = string.Empty;
    try
    {
        PdfReader reader = new PdfReader((string)Filename);

        for (int page = 1; page <= reader.NumberOfPages; page++)
        {
            ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.SimpleTextExtractionStrategy();

            String s = PdfTextExtractor.GetTextFromPage(reader, page, its);

            s = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(s)));
            strText = strText + s;

        }
        reader.Close();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
    return strText;
}

【问题讨论】:

  • 我认为这很难,因为pdf中没有明确的换行符
  • 有没有办法把pdf的文本内容转换成图片文件?有可能吗??
  • 尝试搜索“PDF 2 IMAGE”,有很多组件。但是为什么只将文本转换为图像?图片呢?而且..如果您已经有文字,您可以自己创建图像。
  • 我有一个显示 pdf 内容(扫描图像)的应用程序。但不知何故,它在加载带有矢量内容的 pdf 文件时会引发错误。这就是为什么我需要先将其转换为图像内容,然后再将其加载到我的应用程序中。
  • iText 是面向文档生成的。它的操作能力似乎在页面级别受到限制。你最好寻找其他解决方案。

标签: c# pdf itext


【解决方案1】:

试试这个,使用LocationTextExtractionStrategy 而不是SimpleTextExtractionStrategy 它将在返回的文本中添加新的行字符。然后您可以使用 strText.Split('\n') 将您的文本拆分为 string[] 并逐行使用。

【讨论】:

    【解决方案2】:

    您可以找到 here 在 BSD 开源软件下获得许可的 PDF2Text Pilot

    尽管它是用 c++ 编写的,但它可能是解决您的问题的一个鼓舞人心的良好开端。

    我不精通 C#,但我认为在互操作性方面可能会有一些希望?

    【讨论】:

      【解决方案3】:

      我在一家电子书阅读公司和 PDF 工作,我们花了 很多 时间和精力来尝试获取文本的阅读顺序,因为读者可以阅读给你...弹跳点。 .. PDF 不必逐行排列。书籍也有很多按阅读顺序排列的元素,包括页码、参考文献、标题、示例、多栏等。这是一个难题。 PDF 本质上是一种打印格式。

      【讨论】:

        【解决方案4】:

        如果您为 PDF 制作电子书阅读器,或者只显示 PDF 是什么,与其他 pdf 就绪的外观相同。或者阅读文本并自己重新格式化。

        我更喜欢第二种方法,只是格式化文本,因为如果我使用电子书阅读器,我只关心内容而不关心它应该是什么样子

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多