Η ανίχνευση διαφορών μεταξύ δύο αρχείων 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
Ορίστε τα διαπιστευτήριά σας ως μεταβλητές περιβάλλοντος ή αντικαταστήστε τα placeholders στον κώδικα:
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
Για περισσότερες λεπτομέρειες σχετικά με τα σώματα των αιτήσεων και πρόσθετες παραμέτρους, δείτε την επίσημη τεκμηρίωση 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, να ορίσει επιλογές σύγκρισης και να δημιουργήσει ένα αποτέλεσμα με παρακολούθηση αλλαγών που επισημαίνει τις διαφορές. Δείτε τη σελίδα προϊόντος Aspose.BarCode Cloud SDK for Python για λεπτομέρειες. -
Μπορώ να συγκρίνω μεγάλα αρχεία Word αποδοτικά;
Ναι. Χρησιμοποιώντας το APIcompare_documentμπορείτε να μεταφέρετε μεγάλα αρχεία DOCX από την αποθήκη Aspose Cloud, και η υπηρεσία τα επεξεργάζεται στην πλευρά του διακομιστή, ελαχιστοποιώντας τη χρήση μνήμης στον υπολογιστή σας. Ανατρέξτε στην επίσημη τεκμηρίωση για συμβουλές απόδοσης. -
Ποιοι τύποι αρχείων υποστηρίζονται για σύγκριση;
Το API λειτουργεί κυρίως με αρχεία DOCX, αλλά μπορείτε επίσης να συγκρίνετε αρχεία DOC αφού μετατραπούν σε DOCX χρησιμοποιώντας Aspose.Words. Όλα τα ονόματα μορφών είναι κεφαλαία, π.χ., DOCX, PDF. -
Χρειάζομαι άδεια για να το τρέξω σε παραγωγή;
Μια προσωρινή άδεια είναι διαθέσιμη στη σελίδα προσωρινής άδειας. Για χρήση σε παραγωγή θα πρέπει να αγοράσετε πλήρη άδεια όπως περιγράφεται στη σελίδα του προϊόντος.