זיהוי הבדלים בין שני קבצי Word הוא צורך נפוץ עבור מפתחים המטפלים בחוזים, דוחות או מסמכים משפטיים. ה-Aspose.BarCode Cloud SDK for Python מספק ספרייה חזקה שניתן לשלב עם Aspose.Words Cloud SDK for Python כדי להשוות תכנים בקבצי Word באופן תכנותי ב-Python. במדריך זה תגדירו את סביבת העבודה שלכם, תעלו מסמכים לאחסון Aspose Cloud, תגדירו אפשרויות השוואה, תריצו את ההשוואה ותשיגו את המסמך המתקבל עם שינויים במעקב. כמו כן תראו כיצד להשיג את אותה תוצאה באמצעות קריאות REST ישירות עם cURL.

הכנת סביבת העבודה - דרישות מוקדמות והגדרה

לפני שאתה מתחיל, ודא שיש לך את הדברים הבאים:

  • Python 3.8 או גרסה חדשה יותר מותקנת מקומית.
  • חשבון Aspose Cloud עם client_id ו-client_secret (זמין בלוח המחוונים של Aspose Cloud).
  • גישה לאחסון Aspose Cloud לטיפול בקבצים זמניים.

התקן את BarCode SDK באמצעות pip:

pip install aspose-barcode-cloud

תצטרך גם את Aspose.Words Cloud SDK for Python, שמטפל בפעולות ספציפיות ל‑Word:

pip install asposewordscloud

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

import os
client_id = os.getenv("ASPOSE_CLIENT_ID")
client_secret = os.getenv("ASPOSE_CLIENT_SECRET")

ה‑SDKs ישתמשו בערכים אלה כדי לאמת מול שירותי Aspose Cloud. ברגע שהסביבה מוכנה, נוכל להמשיך ליישום.

השוואת טקסט במסמכי Word ב-Python: מדריך שלב אחר שלב

שלב 1: טען את מסמך המקור

ראשית, הגדר את פרטי האימות של Aspose Cloud כך שה‑SDK יוכל לאמת ואתה תוכל להשוות טקסט במסמכי Word ב‑Python.

from asposewordscloud import WordsApi, Configuration

config = Configuration(client_id=client_id, client_secret=client_secret)
words_api = WordsApi(config)

שלב 2: העלאת מסמכי המקור והיעד

העלה את שני קבצי ה-DOCX שברצונך להשוות. הפונקציה העוזרת מאפשטת את תהליך ההעלאה.

def upload(local_file, remote_name):
    with open(local_file, "rb") as f:
        words_api.upload_file(request={"path": f"TempCompare/{remote_name}", "file": f})

upload("doc1.docx", "doc1.docx")
upload("doc2.docx", "doc2.docx")

שלב 3: הגדר אפשרויות השוואה

לאחר מכן, הגדר את CompareOptions כדי להגדיר כיצד ה‑SDK צריך להשוות טקסט במסמכי Word ב‑Python, כגון התעלמות מרישיות או הערות.

from asposewordscloud.models import CompareOptions

compare_opts = CompareOptions(
    author="PythonComparer",
    compare_options="IgnoreCase,IgnoreComments,IgnoreFormatting",
    file_path="TempCompare/doc2.docx",
    revision_author="PythonComparer",
    revision_date_time="2023-01-01T00:00:00Z"
)

שלב 4: הפעל השוואת מסמכים

כעת קראו למתודה compare_document כדי להשוות בפועל טקסט במסמכי Word ב-Python וליצור תוצאה עם מעקב שינויים.

compare_result = words_api.compare_document(
    request={
        "name": "doc1.docx",
        "compare_data": compare_opts,
        "folder": "TempCompare"
    }
)

שלב 5: קבל ושמור תוצאה

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

with open("compare_result.docx", "wb") as out_file:
    out_file.write(compare_result.document)

words_api.delete_file(request={"path": "TempCompare/doc1.docx"})
words_api.delete_file(request={"path": "TempCompare/doc2.docx"})

השוואת טקסט במסמכי Word ב-Python מימוש מלא - דוגמת קוד מלאה

הקוד הבא מדגים את זרימת העבודה המלאה להשוואת טקסט במסמכי Word ב-Python באמצעות Aspose APIs.

import os
from asposewordscloud import WordsApi, Configuration
from asposewordscloud.models import CompareOptions

# ----------------------------------------------------------------------
# Configuration – set your Aspose Cloud credentials in environment variables
# ----------------------------------------------------------------------
client_id = os.getenv("ASPOSE_CLIENT_ID")
client_secret = os.getenv("ASPOSE_CLIENT_SECRET")
config = Configuration(client_id=client_id, client_secret=client_secret)

# ----------------------------------------------------------------------
# Initialize the Words API client
# ----------------------------------------------------------------------
words_api = WordsApi(config)

# ----------------------------------------------------------------------
# Local file paths (replace with your actual files)
# ----------------------------------------------------------------------
source_path = "doc1.docx"
target_path = "doc2.docx"
result_path = "compare_result.docx"

# ----------------------------------------------------------------------
# Remote folder in Aspose Cloud storage where temporary files are kept
# ----------------------------------------------------------------------
remote_folder = "TempCompare"

# ----------------------------------------------------------------------
# Helper to upload a local file to Aspose Cloud storage
# ----------------------------------------------------------------------
def upload(local_file, remote_name):
    with open(local_file, "rb") as f:
        words_api.upload_file(request={"path": f"{remote_folder}/{remote_name}", "file": f})

# ----------------------------------------------------------------------
# Upload source and target documents
# ----------------------------------------------------------------------
upload(source_path, source_path)
upload(target_path, target_path)

# ----------------------------------------------------------------------
# Set up comparison options
# ----------------------------------------------------------------------
compare_opts = CompareOptions(
    author="PythonComparer",
    compare_options="IgnoreCase,IgnoreComments,IgnoreFormatting",
    file_path=f"{remote_folder}/{target_path}",
    revision_author="PythonComparer",
    revision_date_time="2023-01-01T00:00:00Z"
)

# ----------------------------------------------------------------------
# Perform the comparison
# ----------------------------------------------------------------------
try:
    compare_result = words_api.compare_document(
        request={
            "name": source_path,
            "compare_data": compare_opts,
            "folder": remote_folder
        }
    )
    # The API returns the resulting document as a byte array
    with open(result_path, "wb") as out_file:
        out_file.write(compare_result.document)
finally:
    # ------------------------------------------------------------------
    # Clean up remote temporary files
    # ------------------------------------------------------------------
    words_api.delete_file(request={"path": f"{remote_folder}/{source_path}"})
    words_api.delete_file(request={"path": f"{remote_folder}/{target_path}"})

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

ביצוע השוואת מסמכים באמצעות REST API באמצעות cURL

להלן פקודות cURL שמבצעות את השוואת הטקסט באותו אופן במסמכי Word בפעולה של Python דרך ה‑REST API.

  1. אימות וקבלת אסימון גישה
curl -X POST "https://api.aspose.cloud/connect/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. העלה את קובץ המקור
curl -X PUT "https://api.aspose.cloud/v4.0/words/TempCompare/doc1.docx" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/octet-stream" \
  --data-binary "@doc1.docx"
  1. העלה את הקובץ היעד
curl -X PUT "https://api.aspose.cloud/v4.0/words/TempCompare/doc2.docx" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/octet-stream" \
  --data-binary "@doc2.docx"
  1. הפעל את ההשוואה
curl -X POST "https://api.aspose.cloud/v4.0/words/doc1.docx/compare" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
        "compareOptions": {
            "author": "PythonComparer",
            "compareOptions": "IgnoreCase,IgnoreComments,IgnoreFormatting",
            "filePath": "TempCompare/doc2.docx",
            "revisionAuthor": "PythonComparer",
            "revisionDateTime": "2023-01-01T00:00:00Z"
        }
      }' -o compare_result.docx
  1. הורד את קובץ הפלט
curl -X GET "https://api.aspose.cloud/v4.0/words/TempCompare/compare_result.docx" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -o compare_result.docx

למידע נוסף על גופי הבקשה והפרמטרים הנוספים, ראו את התיעוד הרשמי של ה‑API.

סיכום

מאמר זה הדגים כיצד להשוות טקסט במסמכי Word ב‑Python באמצעות Aspose.BarCode Cloud SDK for Python. על‑ידי ביצוע הצעדים של הגדרת אישורים, העלאת קבצים, קביעת אפשרויות השוואה, והפעלת API ההשוואה, ניתן לאוטומט תהליכי diff של מסמכים באפליקציות שלכם. זכרו לקבל רישיון מתאים לשימוש בייצור; רישיון זמני זמין בדף רישיון זמני, ופרטי הרישוי המלאים מפורטים בדף המוצר. עם כלים אלה, אינטגרציית השוואת מסמכים לפרויקטים שלכם ב‑Python הופכת לפשוטה ואמינה.

שאלות נפוצות

  • איך Aspose.BarCode Cloud SDK for Python עוזר לי להשוות טקסט במסמכי Word ב-Python?
    ה‑SDK עובד יחד עם Aspose.Words Cloud SDK for Python כדי להעלות קבצי DOCX, להגדיר אפשרויות השוואה וליצור תוצאה עם מעקב שינויים המדגישה את ההבדלים. ראה את דף המוצר של Aspose.BarCode Cloud SDK for Python לפרטים.

  • האם ניתן להשוות קבצי Word גדולים ביעילות?
    כן. באמצעות ה-API compare_document ניתן להזרים קבצי DOCX גדולים מאחסון Aspose Cloud, והשירות מעבד אותם בצד השרת, מה שמפחית את השימוש בזיכרון במחשב שלך. עיין ב-תיעוד הרשמי לקבלת טיפים לביצועים.

  • איזה פורמטים של קבצים נתמכים להשוואה?
    ה-API עובד בעיקר עם קבצי DOCX, אך ניתן גם להשוות קבצי DOC לאחר שהם מומרצים ל‑DOCX באמצעות Aspose.Words. כל שמות הפורמטים כתובים באותיות גדולות, לדוגמה, DOCX, PDF.

  • האם אני צריך רישיון כדי להריץ זאת בייצור?
    רישיון זמני זמין בדף הרישיון הזמני. לשימוש בייצור עליך לרכוש רישיון מלא כפי שמפורט בדף המוצר.

קראו עוד