C# 如何使用C读取和标记(突出显示)pdf文件#

C# 如何使用C读取和标记(突出显示)pdf文件#,c#,string,pdf,itext,C#,String,Pdf,Itext,我有一个pdf文件,我正在逐页阅读字符串。现在从第4页开始,我的pdf包含账单信息。这些账单信息在章节下,例如:-假设一个是本地账单信息,另一个是STD账单信息等。现在根据我的要求,如果用户想验证本地账单信息,请输入我的代码应读取所有本地账单数据并对其进行验证,如果任何数据(行)验证失败,则应突出显示PDF文件的该行 这是我的c代码# 公共静态字符串ReadPdfFile(字符串文件名) { StringBuilder text=新的StringBuilder(); if(File.Exists

我有一个pdf文件,我正在逐页阅读字符串。现在从第4页开始,我的pdf包含账单信息。这些账单信息在章节下,例如:-假设一个是本地账单信息,另一个是STD账单信息等。现在根据我的要求,如果用户想验证本地账单信息,请输入我的代码应读取所有本地账单数据并对其进行验证,如果任何数据(行)验证失败,则应突出显示PDF文件的该行

这是我的c代码#

公共静态字符串ReadPdfFile(字符串文件名)
{
StringBuilder text=新的StringBuilder();
if(File.Exists(fileName))
{
PdfReader PdfReader=新PdfReader(文件名);

对于(int page=2;page能否以简单的方式满足您的需求,取决于您的PDF的性质。这可能很简单(但不使用
simpletextractionstrategy
),但也可能非常困难(一般来说,不管您使用的是iTextSharp)。这其实是一个顾问问题:答案涉及数天的工作。我怀疑这样的问题是否可取。
public static string ReadPdfFile(string fileName)
    {
        StringBuilder text = new StringBuilder();

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

            for (int page = 2; page <= pdfReader.NumberOfPages; page++)
            {
                ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
                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();
    }
}