การตรวจจับความแตกต่างระหว่างไฟล์ Word สองไฟล์เป็นความต้องการที่พบบ่อยสำหรับนักพัฒนาที่จัดการสัญญา รายงาน หรือเอกสารทางกฎหมาย. Aspose.BarCode Cloud SDK for Python ให้ไลบรารีที่ทรงพลังซึ่งสามารถรวมกับ Aspose.Words Cloud SDK for Python เพื่อเปรียบเทียบข้อความในเอกสาร Word อย่างโปรแกรมใน Python. ในคู่มือนี้คุณจะตั้งค่าสภาพแวดล้อมของคุณ, อัปโหลดเอกสารไปยัง Aspose Cloud storage, กำหนดค่าตัวเลือกการเปรียบเทียบ, รันการเปรียบเทียบ, และดึงเอกสารผลลัพธ์ที่มีการติดตามการเปลี่ยนแปลง. คุณยังจะได้เห็นวิธีการบรรลุผลเดียวกันโดยใช้การเรียก 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")

SDK จะใช้ค่าต่างเหล่านี้เพื่อทำการตรวจสอบสิทธิ์กับบริการ 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

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ request bodies และพารามิเตอร์เพิ่มเติม โปรดดูที่ เอกสาร API อย่างเป็นทางการ.

สรุป

บทความนี้แสดงวิธีการเปรียบเทียบข้อความในเอกสาร Word ด้วย Python โดยใช้ Aspose.BarCode Cloud SDK for Python. โดยทำตามขั้นตอนการตั้งค่าข้อมูลประจำตัว, การอัปโหลดไฟล์, การกำหนดค่าตัวเลือกการเปรียบเทียบ, และการเรียกใช้ API เปรียบเทียบ คุณสามารถอัตโนมัติกระบวนการเปรียบเทียบเอกสารในแอปพลิเคชันของคุณได้ จำไว้ว่าให้รับใบอนุญาตที่เหมาะสมสำหรับการใช้งานในสภาพแวดล้อมการผลิต; ใบอนุญาตชั่วคราวพร้อมให้บริการที่ หน้าลิขสิทธิ์ชั่วคราว, และรายละเอียดการให้ใบอนุญาตเต็มรูปแบบจะระบุในหน้าผลิตภัณฑ์. ด้วยเครื่องมือเหล่านี้ การรวมการเปรียบเทียบเอกสารเข้ากับโครงการ Python ของคุณจะง่ายและเชื่อถือได้

คำถามที่พบบ่อย

  • Aspose.BarCode Cloud SDK for Python ช่วยฉันเปรียบเทียบข้อความในเอกสาร Word ด้วย Python อย่างไร?
    SDK ทำงานร่วมกับ Aspose.Words Cloud SDK for Python เพื่ออัปโหลดไฟล์ DOCX ตั้งค่าตัวเลือกการเปรียบเทียบ และสร้างผลลัพธ์ที่ติดตามการแก้ไขซึ่งไฮไลท์ความแตกต่าง ดูหน้า product Aspose.BarCode Cloud SDK for Python สำหรับรายละเอียด

  • ฉันสามารถเปรียบเทียบไฟล์ Word ขนาดใหญ่ได้อย่างมีประสิทธิภาพหรือไม่?
    ใช่. โดยใช้ API compare_document คุณสามารถสตรีมไฟล์ DOCX ขนาดใหญ่จาก Aspose Cloud storage และบริการจะประมวลผลบนเซิร์ฟเวอร์ ลดการใช้หน่วยความจำบนเครื่องของคุณ. ดูที่ เอกสารอย่างเป็นทางการ สำหรับเคล็ดลับด้านประสิทธิภาพ.

  • รูปแบบไฟล์ใดบ้างที่รองรับสำหรับการเปรียบเทียบ?
    API ทำงานหลักกับไฟล์ DOCX แต่คุณก็สามารถเปรียบเทียบไฟล์ DOC ได้หลังจากที่แปลงเป็น DOCX ด้วย Aspose.Words ชื่อรูปแบบทั้งหมดใช้ตัวอักษรพิมพ์ใหญ่ เช่น DOCX, PDF.

  • ฉันต้องการใบอนุญาตเพื่อใช้งานในสภาพแวดล้อมการผลิตหรือไม่?
    ใบอนุญาตชั่วคราวพร้อมให้บริการที่ หน้าใบอนุญาตชั่วคราว. สำหรับการใช้งานในสภาพแวดล้อมการผลิต คุณควรซื้อใบอนุญาตเต็มตามที่อธิบายในหน้าผลิตภัณฑ์.

อ่านเพิ่มเติม