השוואת מסמכים

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

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

במקום לחפש באופן ידני הבדלים בין מסמכים או בין גרסאות שונות, ניתן להשתמש בהם. Aspose.Words עבור השוואת מסמכים ולקבל שינויים תוכן בפורמט, ראש / מ"ר, טבלאות ועוד.

מאמר זה מסביר כיצד להשוות מסמכים וכיצד לציין את תכונות ההשוואה המתקדמות.

מגבלות ותבניות קבצים תמיכה

השוואת מסמכים היא תכונה מורכבת מאוד. ישנם חלקים מגוונים של שילוב תוכן שיש לנתח כדי לזהות את כל ההבדלים. הסיבה למורכבות זו נובעת מהעובדה כי Aspose.Words מטרות לקבל את אותן תוצאות השוואה כמו Microsoft Word אלגוריתם השוואה

ההגבלה הכללית של שני מסמכים ששווים היא שאין עליהם תיקונים לפני שהם קוראים לשיטת ההשוואה כפי שקיים הגבלה זו. Microsoft Word.

השוואת שני מסמכים

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

Aspose.Words מאפשר לזהות הבדלים במסמכים באמצעות compare שיטה – זה דומה Microsoft Word מסמך השוואת תכונה זה מאפשר לך לבדוק מסמכים או גירסאות מסמך כדי למצוא הבדלים ושינויים, כולל שינויים פורמט כגון שינויים גופניים, צבירת שינויים, תוספת של מילים ופסקאות.

כתוצאה מהשוואה, ניתן לקבוע מסמכים שווים או לא שווים. פירוש המונח “שווה” הוא ששיטת ההשוואה אינה מסוגלת לייצג שינויים כשינויים. משמעות הדבר היא כי הן מסמך טקסט והן פורמט טקסט הן אותו הדבר. אבל יש הבדלים נוספים בין המסמכים. לדוגמה, Microsoft Word תומך רק שינויים פורמט עבור סגנונות, ואתה לא יכול לייצג הוספת סגנון / מחיקה. מסמכים יכולים להיות קבוצה שונה של סגנונות, compare השיטה עדיין לא מייצרת תיקונים.

לדוגמה הקוד הבא מראה כיצד לבדוק אם שני מסמכים שווים או לא:

הדוגמה הבאה מציגה כיצד ליישם את Compare שיטה לשתי מסמכים:

# The source document doc1.
doc1 = aw.Document()
builder = aw.DocumentBuilder(doc1)
builder.writeln("This is the original document.")

# The target document doc2.
doc2 = aw.Document()
builder = aw.DocumentBuilder(doc2)
builder.writeln("This is the edited document.")

# If either document has a revision, an exception will be thrown.
if (doc1.revisions.count == 0 and doc2.revisions.count == 0) :
    doc1.compare(doc2, "authorName", datetime.today())

# If doc1 and doc2 are different, doc1 now has some revisions after the comparison, which can now be viewed and processed.
self.assertEqual(2, doc1.revisions.count)

for r in doc1.revisions :
    print(f"Revision type: {r.revision_type}, on a node of type \"{r.parent_node.node_type}\"")
    print(f"\tChanged text: \"{r.parent_node.get_text()}\"")

# All the revisions in doc1 are differences between doc1 and doc2, so accepting them on doc1 transforms doc1 into doc2.
doc1.revisions.accept_all()

# doc1, when saved, now resembles doc2.
doc1.save(docs_base.artifacts_dir + "Document.Compare.docx")
doc1 = aw.Document(docs_base.artifacts_dir + "Document.Compare.docx")
self.assertEqual(0, doc1.revisions.count)
self.assertEqual(doc2.get_text().strip(), doc1.get_text().strip())

המונחים: Advanced Comparing Properties

יש הרבה תכונות שונות של CompareOptions שיעור שאתה יכול ליישם כאשר אתה רוצה להשוות מסמכים.

לדוגמה, Aspose.Words מאפשר לך להתעלם שינויים שבוצעו במהלך ניתוח השוואה עבור סוגים מסוימים של אובייקטים בתוך המסמך המקורי. אתה יכול לבחור את הנכס המתאים לסוג האובייקט, כגון ignore_headers_and_footers, ignore_formatting, ignore_comments, אחרים על ידי הצבתם True.

בנוסף, Aspose.Words מספק granularity רכוש שבו אתה יכול לציין אם לעקוב אחר שינויים על ידי אופי או במילה.

נכס משותף נוסף הוא בחירה שבה מסמך להציג שינויים בהשוואה. לדוגמה, “קופסת דו-שיח המסמכים” ב-Compare Microsoft Word יש את האפשרות “לראות שינויים” - זה גם משפיע על תוצאות ההשוואה. Aspose.Words מספק target רכוש שמשרת מטרה זו.

הדוגמה הבאה של הקוד מראה כיצד להגדיר את התכונות המתקדמות של השוואת נכסים: