【问题标题】:Read Math Equation using itextSharp使用 itextSharp 读取数学方程
【发布时间】:2016-08-06 13:38:11
【问题描述】:

我目前正在尝试使用 itextsharp 使用以下代码从 pdf 文件中读取文本并分配给文本框(多行)-(Windows 桌面应用程序)

注意:此代码运行良好。

public string ReadPdfFile(string fileName)
        {
            StringBuilder text = new StringBuilder();

            if (File.Exists(fileName))
            {
                PdfReader pdfReader = new PdfReader(fileName);

                for (int page = 1; page <= pdfReader.NumberOfPages; page++)
                {
                    ITextExtractionStrategy strategy = new LocationTextExtractionStrategy();
                    string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);

                    currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
                    text.Append(currentText);
                }
                pdfReader.Close();
            }
            return text.ToString();
        }

但是我的 pdf 文件有一个方程式

我得到的只是以下输出

这里可以添加什么来实现以下文本?任何形式的帮助都将不胜感激!

【问题讨论】:

  • 我赞成这个问题,因为我觉得它很有趣,但我认为这将是非常非常困难的。 pdf最初是如何创建的?可以分享一下吗?
  • 您希望得到什么样的输出?您的数学表达式无法在基本多语言平面中表达。
  • @amedeevangasse 这很简单。查看乳胶软件!您需要为其激活数学模式,输入方程式,它会以 pdf 格式输出。
  • 我已经猜到是 LaTeX,但它是否将足够的信息放入 pdf 中以便能够进行反向操作?看起来不像……
  • Rad Lexus 写的。请写出您期望的数学表达式...

标签: c# pdf itext


【解决方案1】:

我使用了 itextsharp,我 100% 确定它不可能。 问题在于pdf格式本身。它不包含引用某些文本的任何标签。 Pdf 包含其在 pdf 页面上的位置的特定图形表示。如果没有 OCR,甚至无法检测到粗体文本。 pdf 格式不好解析。

我的问题比你的更容易,从 pdf 中阅读简直是地狱。它只是文本,但它被格式化为 2 页合一(2 列文本)。 Itextsharp 通过坐标读取内容,因此当他读取第一列的第一行而不是第二列的第一行时(不是文本流),我的文本混淆了。 至于latex,latex代码转成pdf后就没有latex代码的逆向了。

【讨论】:

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