בשל העובדה ש-PDF הוא אחד הפורמטים הנפוצים ביותר בעולם הדיגיטלי, לרוב נדרש להשוות בין שתי גרסאות של אותו מסמך. מאמר זה דן כיצד להשוות שני מסמכי PDF ולהדגיש את ההבדלים באמצעות C#. בהמשך, נראה כיצד להשוות קבצי PDF מוגני סיסמה, לקבל ולדחות שינויים, וגם השוואה של יותר משני קבצי PDF עם דוגמאות C#.

השווה מסמכי PDF כדי למצוא הבדלים באמצעות .NET API

הנושאים הבאים נדונים כאן:

NET API להשוואת קובצי PDF

GroupDocs.Comparison for .NET הוא ה-API המאפשר השוואה בין מספר מסמכי PDF וקבצים רבים אחרים מאותו פורמט מסמך בתוך יישומי NET. אני אשתמש ב-API זה בדוגמאות קוד C# של מאמר זה כדי להשוות מסמכי PDF.

אתה יכול להוריד את קובצי ה-DLL או ה-MSI מתקין מסעיף ההורדות או להתקין את ה-API באפליקציית NET שלך דרך NuGet.

PM> Install-Package GroupDocs.Comparison

השווה מסמכי PDF באמצעות C#

אם יש לך עותקים מרובים של מסמך PDF, תוכל להשוות קבצים אלה כדי למצוא את ההבדלים (הוספות, מחיקות).לאחר השוואת תוכן ה-PDF, תוכל ליצור מסמך חדש המדגיש את כל השינויים שזוהו. להלן השלבים להשוואת שני מסמכי PDF ולהדגיש את ההבדלים באמצעות C#.

  • טען את מסמך ה-PDF הראשון באמצעות מחלקה Comparer.
  • הוסף את הקובץ השני ל-Comparer באמצעות שיטת Add().
  • השווה את שני קובצי ה-PDF וקבל את סיכום השינויים על ידי קריאה לשיטת Compare().

קטע הקוד הבא של C# מראה כיצד להשוות מסמכי PDF ולהדגיש את השינויים במסמך שנוצר.

/*
 * השווה שני מסמכי PDF והדגש שינויים באמצעות C#
 */
using (Comparer comparer = new Comparer(@"path/document-ver1.pdf"))
{
    comparer.Add(@"path/document-ver2.pdf");
    comparer.Compare(@"path/compared-result.pdf");
}

קבל או דחה שינויים מזוהים של קבצי PDF באמצעות C#

בדיוק כמו שהמסלול משנה תכונות, אתה יכול לקבל או לדחות באופן תוכנתי כל שינוי שזוהה במסמכי PDF. השלבים הבאים מראים כיצד להשוות ולאחר מכן לקבל או לדחות את השינויים שזוהו בתוך מסמכי ה-PDF.

  • טען את קובצי המקור והיעד של PDF באמצעות מחלקה Comparer.
  • השווה את המסמכים הטעונים באמצעות השיטה Compare().
  • קבל את השינויים שזוהו באמצעות שיטת GetChanges().
  • כעת חצו את השינויים והגדרו את ComparisonAction.
    • בחר קבל, או דחה עבור כל שינוי.
  • קרא למתודה ApplyChanges() כדי לקבל את המסמך שנוצר עם השינויים המקובלים.

קטע הקוד הבא משווה שני מסמכי PDF ולאחר מכן מקבל שינוי מזוהה ולאחר מכן דוחה עוד אחד באמצעות C#.

/*
 * קבל ודחה שינויים שזוהו על ידי השוואת מסמכי PDF באמצעות C#
 */
using (Comparer comparer = new Comparer(@"path/document-1.pdf"))
{
    comparer.Add(@"path/document-2.pdf");
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    
    // דחיית השינוי המזוהה הראשון והוא לא יתווסף למסמך התוצאה
    changes[0].ComparisonAction = ComparisonAction.Reject;
    comparer.ApplyChanges(@"path/rejected-change-result.pdf", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });

    changes = comparer.GetChanges();
    changes[0].ComparisonAction = ComparisonAction.Accept;
    comparer.ApplyChanges(@"path/accepted-change-result.pdf", new ApplyChangeOptions { Changes = changes });
}

השווה יותר משני קובצי PDF באמצעות C#

באופן דומה, אתה יכול להשוות יותר משני מסמכים. להלן השלבים המשווים בין מסמכי PDF מרובים עבור הבדלים ומדגישים את השינויים שזוהו.

  • טען את קובץ ה-PDF הראשון באמצעות מחלקה Comparer.
  • הוסף מסמכים נוספים ל-Comparer באמצעות שיטת Add().
  • השווה את כל קבצי ה-PDF באמצעות שיטת השוואה() וקבל את השינויים וסיכום השינויים.

הדוגמה הבאה מראה כיצד להשוות קבצי PDF מרובים ב-C# ולקבל את השינויים במסמך שנוצר.

/*
 * השווה בין מסמכי PDF מרובים באמצעות C#
 */
using (Comparer comparer = new Comparer(@"path/document-1.pdf"))
{
    comparer.Add(@"path/document-2.pdf");
    comparer.Add(@"path/document-3.pdf");
    comparer.Add(@"path/document-4.pdf");

    comparer.Compare(@"path/compare-result.pdf");
}

השווה מסמכי PDF מוגנים באמצעות סיסמה באמצעות C#

אתה יכול להשוות בין הקבצים המוגנים באמצעות סיסמה רק על ידי אספקת הסיסמאות שלהם בזמן טעינת המסמכים הללו. השלבים הבאים מראים כיצד אנו יכולים להשוות את תוכן ה-PDF של מסמכים המוגנים באמצעות סיסמה באמצעות C#.

  • הכן את אפשרויות הטעינה עבור מסמכי מקור ויעד על ידי מתן הסיסמה.
  • טען את מסמך המקור באמצעות מחלקה Comparer.
  • הוסף את מסמך היעד ל-Comparer באמצעות אפשרויות הטעינה המוכנות.
  • קבל את סיכום ההבדלים על ידי קריאה לשיטת Compare().

הדוגמה הבאה משווה שני קובצי PDF המוגנים בסיסמה ומדגישה את ההבדלים שזוהו במסמך נפרד באמצעות C#.

/*
 * השווה מסמכי PDF מוגנים באמצעות סיסמה באמצעות C#
 */
using (Comparer comparer = new Comparer(@"path/protected-document-1.pdf", new LoadOptions(){ Password = "SourceFilePassword" }))
{
    comparer.Add(@"path/protected-document-2.pdf", new LoadOptions() { Password = "TargetFilePassword" });
    comparer.Compare(@"path/compared-protected-docs-result.pdf");
}

קבל רישיון API בחינם

אתה יכול לקבל רישיון זמני בחינם לשימוש ב-API ללא מגבלות ההערכה.

סיכום

לסיום, למדנו כיצד להשוות בין שני קבצי PDF או יותר באמצעות C#. בנוסף, הדגשנו את ההבדלים ומקבלים או דוחים באופן תוכניתי את השינויים שזוהו. לבסוף, ראינו כיצד להשוות מסמכי PDF מוגני סיסמה בתוך יישומי NET.

מספר התאמה אישית זמינות כדי לשלוט בתוצאות ההשוואה. אתה יכול להגדיר את רגישות ההשוואה, להציג רק את דף הסיכום, להתעלם מפערים וכו’. למידע נוסף על GroupDocs.Comparison עבור .NET מהתיעוד. אתה יכול לבנות יישומי השוואת מסמכים משלך עבור פורמטים של מסמכים שונים. לשאלות, צור איתנו קשר דרך הפורום.

ראה גם