c# - 使用 itextSharp 阅读数学方程式

标签 c# pdf itext

我目前正在尝试使用以下代码使用 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 文件有一个方程式

enter image description here

我得到的只是以下输出

enter image description here

可以在此处添加什么以实现以下文本?非常感谢任何形式的帮助!

最佳答案

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

我的问题比你的更简单,从 pdf 阅读简直是 hell 。它只是文本,但它被格式化为一个 2 页(2 列文本)。 Itextsharp 按坐标读取内容,所以当他读取第一列的第一行而不是第二列的第一行时(不是文本流),我的文本混淆了。 至于latex,latex代码转成pdf后,latex代码没有逆向。

关于c# - 使用 itextSharp 阅读数学方程式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38804864/

相关文章:

javascript - 如何以编程方式修改 PDF 文件中的 JavaScript 事件?

c# - 文本 block 行高

c# - 尝试为一组线条设置动画

java - 在调用 JasperRunManager.runReportToPdfStream 期间获取 "Error loading object from InputStream"异常

java - 使用 iText 从 PDF 条形码图像中检索文本

c# - 如何替换字节

c# - Nunit 3 中的随机发生器

c# - 使用 C# 访问另一个域中的一个域类文件

pdf - 如何将跟踪代码放入 PDFLaTeX 文件中

java - 使用 html 字符串生成 PDF