2

2つのPDFファイルがあり、それら2つの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");

私のプログラムは次のように機能します。1つのテキストボックスに「Ilovestackoverflow」というテキストがあり、もう1つのテキストボックスに「Istackoverflow」と書かれている場合、プログラムはこれを結果として出力します。それらの2つのファイルの違いとして

何か案が??よろしく、

4

4 に答える 4

2

以下のリンクでGithubリポジトリを確認してください。

google-diff-match-patch

これは、文字列を比較するためのオープンソースライブラリです。C#を含む多くの言語で書かれています。2つの文字列値またはテキストドキュメント間のデルタ差分を計算できます。

于 2016-07-27T11:45:31.207 に答える
1

ファイルを単語に分割すると、次のようなものを使用できる場合があります。

    Dim str1 = New String() {"I", "love", "stackoverflow"}
    Dim str2 = New String() {"I", "stackoverflow"}
    Dim Diff = str1.Where(Function(x) Not str2.Contains(x)).ToArray()
于 2012-09-08T14:00:31.383 に答える
0

String.Replace間違って使用しています。文字列1で文字列2のすべての出現箇所を検索し、指定されたテキストに置き換えることになっています。あなたの例では、すべてを検索しようとしてI stackoverflowいますI love stackoverflowが、一致するものがないため、プログラムはまだ印刷中I love stackoverflowです。文字列の比較については、このSOの投稿を確認してください。2つの文字列の違いを見つける方法は?

于 2012-09-08T13:53:27.333 に答える
0

私があなたのコードを正しく読んでいるなら、あなたは1ページの内容を両方のテキストボックスに書いています。

また、replaceステートメントでは、「Istackoverflow」が「Ilovestackoverflow」に存在しないため、機能しません。

「abc」と「ac」がある場合。

「ac」が「abc」に存在しないことがわかります

2つの文字列の違いを見つける方法は?

于 2012-09-08T13:55:00.317 に答える