ორივე Word ფაილში განსხვავებების აღმოჩენა ხშირად საჭიროა დეველოპერებისთვის, რომლებიც მუშაობენ კონტრაქტებთან, ანგარიშებთან ან იურიდიული დოკუმენტებით. The Aspose.BarCode Cloud SDK for Python provides a powerful library that can be combined with Aspose.Words Cloud SDK for Python to programmatically compare text in Word documents in Python. In this guide you will set up your environment, upload documents to Aspose Cloud storage, configure comparison options, run the comparison, and retrieve the resulting document with tracked changes. You’ll also see how to achieve the same result using direct REST calls with 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, რათა განსაზღვროთ, როგორ უნდა შედარება ტექსტი 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 API-ებით.
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
მოთხოვნის სხეულებზე და დამატებით პარამეტრებზე მეტი დეტალებისთვის, იხილეთ ოფიციალური API დოკუმენტაცია.
დასკვნა
ეს სტატია აჩვენებს, როგორ შედაროთ ტექსტი Word დოკუმენტებში Python-ის გამოყენებით, Aspose.BarCode Cloud SDK for Python გამოყენებით. ქმედებების, როგორიცაა ავტორიზაციის დეტალების დაყენება, ფაილების ატვირთვა, შედარების პარამეტრების კონფიგურაცია და compare API-ის გამოძახება, მიყოლით, შეგიძლიათ ავტომატიზიროთ დოკუმენტების განსხვავებების სამუშაო ნაკადები თქვენს აპლიკაციებში. დამახსოვრეთ, რომ მიიღოთ შესაბამისი ლიცენზია პროდუქციის გამოყენებისთვის; დროებითი ლიცენზია ხელმისაწვდომია დროებითი ლიცენზიის გვერდი, ხოლო სრულ ლიცენზირის დეტალები მითითებულია პროდუქტის გვერდზე. ამ ხელსაწყოების გამოყენებით დოკუმენტების შედარების ინტეგრაცია თქვენს Python პროექტებში მარტივი და საიმედო გახდება.
ხშირად დასმული კითხვები
-
როგორ დამეხმარება Aspose.BarCode Cloud SDK for Python ტექსტის შედარებაში Word დოკუმენტებში Python-ში?
SDK მუშაობს ერთად Aspose.Words Cloud SDK for Python-თან, რათა ატვირთოს DOCX ფაილები, განსაზღვროს შედარების პარამეტრები და შექმნას რევიზიის‑მიმდევრულ შედეგი, რომელიც ხაზისგან გამორჩეულ განსხვავებებს აჩვენებს. იხილეთ Aspose.BarCode Cloud SDK for Python პროდუქტის გვერდი დეტალებისთვის. -
მიძლია დიდი Word ფაილების ეფექტურად შედარება?
დიახ.compare_documentAPI-ის გამოყენებით შეგიძლიათ დიდი DOCX ფაილების ნაკადი Aspose Cloud საცავიდან, ხოლო სერვისი ისინი სერვერის მხარეს პროცესს აკეთებს, რაც თქვენს მანქანაზე მეხსიერების გამოყენება მინიმიზირებს. მიმართეთ ოფიციალურ დოკუმენტაციას წარმადობის რჩევებისთვის. -
What file formats are supported for comparison?
API ძირითადად მუშაობს DOCX ფაილებთან, თუმცა შეგიძლიათ ასევე შედაროთ DOC ფაილები, როდესაც ისინი გადაყვანილია DOCX-ზე Aspose.Words-ის გამოყენებით. ყველა ფორმატის სახელი დიდი ასოებისგან შედგება, მაგალითად, DOCX, PDF. -
გჭირდებათ ლიცენზია, რომ ეს პროდუქციაში გაუშვათ?
დროებითი ლიცენზია ხელმისაწვდომია დროებითი ლიცენზიის გვერდზე. პროდუქციაში გამოყენებისთვის, უნდა შეძენოთ სრულლიცენზია, როგორც აღწერილია პროდუქტის გვერდზე.