Das Erkennen von Unterschieden zwischen zwei Word-Dateien ist ein häufiges Bedürfnis für Entwickler, die mit Verträgen, Berichten oder Rechtsdokumenten arbeiten. Das Aspose.BarCode Cloud SDK for Python bietet eine leistungsstarke Bibliothek, die mit Aspose.Words Cloud SDK for Python kombiniert werden kann, um Text in Word-Dokumenten programmgesteuert in Python zu vergleichen. In diesem Leitfaden richten Sie Ihre Umgebung ein, laden Dokumente in den Aspose Cloud‑Speicher hoch, konfigurieren Vergleichsoptionen, führen den Vergleich aus und rufen das resultierende Dokument mit nachverfolgten Änderungen ab. Außerdem sehen Sie, wie Sie dasselbe Ergebnis mit direkten REST‑Aufrufen über cURL erzielen können.

Umgebungsvorbereitung - Voraussetzungen und Einrichtung

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Python 3.8 oder neuer lokal installiert.
  • Ein Aspose Cloud‑Konto mit client_id und client_secret (verfügbar im Aspose Cloud‑Dashboard).
  • Zugriff auf den Aspose Cloud‑Speicher für die temporäre Dateiverarbeitung.

Installieren Sie das BarCode SDK über pip:

pip install aspose-barcode-cloud

Sie benötigen außerdem das Aspose.Words Cloud SDK für Python, das Word‑spezifische Vorgänge verarbeitet:

pip install asposewordscloud

Setzen Sie Ihre Anmeldeinformationen als Umgebungsvariablen oder ersetzen Sie die Platzhalter im Code:

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

Die SDKs verwenden diese Werte, um sich bei den Aspose Cloud-Diensten zu authentifizieren. Sobald die Umgebung bereit ist, können wir mit der Implementierung fortfahren.

Text in Word-Dokumenten in Python vergleichen: Schritt‑für‑Schritt‑Anleitung

Schritt 1: Laden des Quelldokuments

Zuerst konfigurieren Sie Ihre Aspose Cloud‑Anmeldeinformationen, damit das SDK authentifizieren kann und Sie Text in Word‑Dokumenten in Python vergleichen können.

from asposewordscloud import WordsApi, Configuration

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

Schritt 2: Quell- und Zieldokumente hochladen

Laden Sie die beiden DOCX Dateien hoch, die Sie vergleichen möchten. Die Hilfsfunktion abstrahiert den Upload‑Vorgang.

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")

Schritt 3: Vergleichsoptionen festlegen

Als Nächstes setzen Sie die CompareOptions, um festzulegen, wie das SDK Text in Word‑Dokumenten in Python vergleichen soll, z. B. Groß‑/Kleinschreibung ignorieren oder Kommentare.

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"
)

Schritt 4: Dokumentvergleich ausführen

Rufen Sie jetzt die Methode compare_document auf, um tatsächlich den Text in Word‑Dokumenten in Python zu vergleichen und ein revisionsverfolgtes Ergebnis zu erzeugen.

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

Schritt 5: Ergebnis abrufen und speichern

Schreiben Sie schließlich das resultierende Dokument auf die Festplatte und bereinigen Sie die temporären Dateien.

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"})

Text in Word-Dokumenten in Python vergleichen – vollständige Implementierung – vollständiges Codebeispiel

Der folgende Code demonstriert den vollständigen Arbeitsablauf zum Vergleich von Text in Word‑Dokumenten in Python mithilfe der 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}"})

Hinweis: Dieses Codebeispiel demonstriert die Kernfunktionalität. Bevor Sie es in Ihrem Projekt verwenden, stellen Sie sicher, dass Sie alle Dateipfade und Konfigurationswerte an Ihre tatsächliche Umgebung anpassen, überprüfen Sie, dass alle erforderlichen Abhängigkeiten ordnungsgemäß installiert sind, und testen Sie gründlich in Ihrer Entwicklungsumgebung. Wenn Sie auf Probleme stoßen, lesen Sie bitte die offizielle Dokumentation oder wenden Sie sich an das Support-Team für Unterstützung.

Durchführen des Dokumentvergleichs über die REST-API mit cURL

Im Folgenden finden Sie cURL‑Befehle, die denselben Textvergleich in Word‑Dokumenten in einer Python‑Operation über die REST‑API durchführen.

  1. Authentifizieren und Zugriffstoken erhalten
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. Laden Sie die Quelldatei hoch
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. Zieldatei hochladen
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. Vergleich ausführen
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. Download der Ausgabedatei
curl -X GET "https://api.aspose.cloud/v4.0/words/TempCompare/compare_result.docx" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -o compare_result.docx

Weitere Details zu Anforderungskörpern und zusätzlichen Parametern finden Sie in der offiziellen API-Dokumentation.

Fazit

Dieser Artikel zeigte, wie man Text in Word‑Dokumenten in Python mithilfe des Aspose.BarCode Cloud SDK for Python vergleicht. Indem Sie die Schritte zum Einrichten von Anmeldeinformationen, Hochladen von Dateien, Konfigurieren von Vergleichsoptionen und Aufrufen der Compare‑API befolgen, können Sie Dokument‑Diff‑Workflows in Ihren Anwendungen automatisieren. Denken Sie daran, für den Produktionseinsatz eine gültige Lizenz zu erwerben; eine temporäre Lizenz ist auf der temporary license page verfügbar, und vollständige Lizenzinformationen finden Sie auf der Produktseite. Mit diesen Werkzeugen wird die Integration des Dokumentenvergleichs in Ihre Python‑Projekte einfach und zuverlässig.

FAQs

  • Wie hilft mir das Aspose.BarCode Cloud SDK for Python beim Vergleich von Text in Word‑Dokumenten in Python?
    Das SDK arbeitet zusammen mit Aspose.Words Cloud SDK for Python, um DOCX‑Dateien hochzuladen, Vergleichsoptionen festzulegen und ein revisionsverfolgtes Ergebnis zu erzeugen, das Unterschiede hervorhebt. Siehe die Produktseite Aspose.BarCode Cloud SDK for Python für Details.

  • Kann ich große Word-Dateien effizient vergleichen?
    Ja. Durch die Verwendung der compare_document API können Sie große DOCX-Dateien aus dem Aspose Cloud‑Speicher streamen, und der Dienst verarbeitet sie serverseitig, wodurch der Speicherverbrauch auf Ihrem Rechner minimiert wird. Weitere Hinweise zur Leistung finden Sie in der offiziellen Dokumentation.

  • Welche Dateiformate werden für den Vergleich unterstützt?
    Die API arbeitet hauptsächlich mit DOCX-Dateien, aber Sie können auch DOC Dateien vergleichen, nachdem sie mit Aspose.Words in DOCX konvertiert wurden. Alle Formatnamen werden großgeschrieben, z. B. DOCX, PDF.

  • Brauche ich eine Lizenz, um dies in der Produktion auszuführen?
    Eine temporäre Lizenz ist auf der temporären Lizenzseite verfügbar. Für den Produktionseinsatz sollten Sie eine Voll‑Lizenz erwerben, wie auf der Produktseite beschrieben.

Weiterlesen