c# - 在 C# 中比较两个 PDF 文件

标签 c#

我有两个 pdf 文件,我想比较这两个 pdf 文件并在消息框中打印差异。

到目前为止,我已经有了这个(但它没有按我的预期工作):

  private void button1_Click(object sender, EventArgs e)
    {
        string str1 = this.textBox1.Text;
        string str2 = this.textBox2.Text;

        string comparison = str1.Replace(str2,"");
        MessageBox.Show(comparison);
    }


 private void ParsePDF(string filePath)
    {
        string text = string.Empty;

        PdfReader reader = new iTextSharp.text.pdf.PdfReader(filePath);
        byte[] streamBytes = reader.GetPageContent(1);
        PRTokeniser tokenizer = new PRTokeniser(streamBytes);

        while (tokenizer.NextToken())
        {
            if (tokenizer.TokenType == PRTokeniser.TokType.STRING)
            {
                text += tokenizer.StringValue;
            }
        }
        this.textBox1.Text = text.ToString();
        this.textBox2.Text = text.ToString();
    }

}

就在下面,我将该方法称为:ParsePDF("C://Users://lf222aw//Desktop//file1.pdf");

我的程序是这样工作的: 假设我有一个文本框,其中包含“我喜欢 stackoverflow”,另一个文本框 “我 stackoverflow”,我的程序打印出以下结果:“我喜欢 stackoverflow”,我想要打印的是“love”,作为两个文件之间的差异

有什么想法吗? 问候,

最佳答案

检查下面链接中的 Github 存储库。

google-diff-match-patch

它是一个用于字符串比较的开源库。它是用多种语言编写的,包括 C#。您可以计算两个字符串值或文本文档之间的增量差异。

关于c# - 在 C# 中比较两个 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12331205/

相关文章:

c# - 找不到正确的正则表达式模式来获取 html 标签之间的值

c# - 为什么 Paypal 沙盒不处理付款?

c# - 如何使用 C# 将 Cursor 转换为可以保存到 .resx 文件中的图像?

c# - 在 ASP.NET 母版页的页脚中添加页面加载字符串

c# - 如何使用 MongoDB C# 驱动程序进行 $lookup?

c# - 使 c# winforms 应用程序可用作非托管 mfc 应用程序的 dll

c# - asp.net 核心恢复失败 - 多个项目 (ubuntu-16.04-x64)

c# - 在 nhibernate 中,无法更新子对象列表

c# - 哪个是更好的 linq 查询? .Where(crit).FirstOrDefault() 或 .Where(someCrit).FirstOrDefault(someOtherCrit)?

c# - 带 SSL/TLS 的 wsdl.exe