การตรวจจับความแตกต่างระหว่างไฟล์ 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.
- รับรองความถูกต้องและรับโทเคนการเข้าถึง
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"
- อัปโหลดไฟล์ต้นฉบับ
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"
- อัปโหลดไฟล์เป้าหมาย
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"
- ดำเนินการเปรียบเทียบ
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
- ดาวน์โหลดไฟล์ผลลัพธ์
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 ขนาดใหญ่ได้อย่างมีประสิทธิภาพหรือไม่?
ใช่. โดยใช้ APIcompare_documentคุณสามารถสตรีมไฟล์ DOCX ขนาดใหญ่จาก Aspose Cloud storage และบริการจะประมวลผลบนเซิร์ฟเวอร์ ลดการใช้หน่วยความจำบนเครื่องของคุณ. ดูที่ เอกสารอย่างเป็นทางการ สำหรับเคล็ดลับด้านประสิทธิภาพ. -
รูปแบบไฟล์ใดบ้างที่รองรับสำหรับการเปรียบเทียบ?
API ทำงานหลักกับไฟล์ DOCX แต่คุณก็สามารถเปรียบเทียบไฟล์ DOC ได้หลังจากที่แปลงเป็น DOCX ด้วย Aspose.Words ชื่อรูปแบบทั้งหมดใช้ตัวอักษรพิมพ์ใหญ่ เช่น DOCX, PDF. -
ฉันต้องการใบอนุญาตเพื่อใช้งานในสภาพแวดล้อมการผลิตหรือไม่?
ใบอนุญาตชั่วคราวพร้อมให้บริการที่ หน้าใบอนุญาตชั่วคราว. สำหรับการใช้งานในสภาพแวดล้อมการผลิต คุณควรซื้อใบอนุญาตเต็มตามที่อธิบายในหน้าผลิตภัณฑ์.