두 개의 Word 파일 간 차이를 감지하는 것은 계약서, 보고서 또는 법률 문서를 다루는 개발자들에게 자주 필요한 작업입니다. Aspose.BarCode Cloud SDK for Python은 강력한 라이브러리를 제공하며, 이를 Aspose.Words Cloud SDK for Python과 결합하여 Python에서 Word 문서의 텍스트를 프로그래밍 방식으로 비교할 수 있습니다. 이 가이드에서는 환경을 설정하고, 문서를 Aspose Cloud 스토리지에 업로드하며, 비교 옵션을 구성하고, 비교를 실행한 후 추적된 변경 사항이 포함된 결과 문서를 가져오는 방법을 설명합니다. 또한 cURL을 사용한 직접 REST 호출로 동일한 결과를 얻는 방법도 확인할 수 있습니다.

환경 준비 - 전제 조건 및 설정

시작하기 전에 다음 항목이 있는지 확인하십시오:

  • 로컬에 Python 3.8 이상이 설치되어 있어야 합니다.
  • Aspose Cloud 계정과 client_idclient_secret (Aspose Cloud 대시보드에서 확인 가능).
  • 임시 파일 처리를 위한 Aspose Cloud 스토리지에 대한 액세스.

pip를 통해 BarCode SDK를 설치합니다:

pip install aspose-barcode-cloud

Word‑specific 작업을 처리하는 Aspose.Words Cloud SDK for Python도 필요합니다:

pip install asposewordscloud

환경 변수에 자격 증명을 설정하거나 코드의 자리 표시자를 교체하십시오.

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

SDK는 이러한 값을 사용하여 Aspose Cloud 서비스에 인증합니다. 환경이 준비되면 구현 단계로 넘어갈 수 있습니다.

Python에서 Word 문서의 텍스트 비교: 단계별 안내

1단계: 원본 문서 로드

먼저, SDK가 인증할 수 있도록 Aspose Cloud 자격 증명을 구성하고 Python에서 Word 문서의 텍스트를 비교할 수 있습니다.

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가 Python에서 Word 문서의 텍스트를 비교하는 방식을 정의합니다(예: 대소문자 무시 또는 주석 무시).

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 메서드를 호출하여 Python에서 Word 문서의 텍스트를 실제로 비교하고 수정 추적 결과를 생성합니다.

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

Python에서 Word 문서의 텍스트 비교 전체 구현 - 완전한 코드 예제

다음 코드는 Python에서 Aspose APIs를 사용하여 Word 문서의 텍스트를 비교하는 전체 워크플로를 보여줍니다.

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

Note: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에서 사용하기 전에 파일 경로와 구성 값을 실제 환경에 맞게 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인하며, 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에게 문의하십시오.

cURL을 사용한 REST API를 통한 문서 비교

아래는 REST API를 통해 Python 작업에서 Word 문서의 텍스트를 비교하는 동일한 cURL 명령입니다.

  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

요청 본문 및 추가 매개변수에 대한 자세한 내용은 공식 API 문서를 참조하세요.

결론

이 문서에서는 Python을 사용하여 Word 문서의 텍스트를 비교하는 방법을 Aspose.BarCode Cloud SDK for Python을(를) 이용해 설명합니다. 자격 증명을 설정하고, 파일을 업로드하고, 비교 옵션을 구성한 다음 compare API를 호출하는 단계들을 따라 하면 애플리케이션에서 문서 차이 워크플로를 자동화할 수 있습니다. 프로덕션 사용을 위해 적절한 라이선스를 획득해야 함을 기억하십시오; 임시 라이선스는 임시 라이선스 페이지에서 제공되며, 전체 라이선스 세부 정보는 제품 페이지에 나와 있습니다. 이러한 도구를 사용하면 Python 프로젝트에 문서 비교 기능을 쉽게 신뢰성 있게 통합할 수 있습니다.

FAQs

  • Aspose.BarCode Cloud SDK for Python가 Python에서 Word 문서의 텍스트를 비교하는 데 어떻게 도움이 되나요?
    이 SDK는 Aspose.Words Cloud SDK for Python와 함께 작동하여 DOCX 파일을 업로드하고, 비교 옵션을 설정하며, 차이점을 강조 표시하는 수정 추적 결과를 생성합니다. 자세한 내용은 Aspose.BarCode Cloud SDK for Python 제품 페이지를 참조하십시오.

  • 대용량 Word 파일을 효율적으로 비교할 수 있나요?
    예. compare_document API를 사용하면 Aspose Cloud 스토리지에서 큰 DOCX 파일을 스트리밍할 수 있으며, 서비스가 서버 측에서 처리하므로 로컬 메모리 사용을 최소화합니다. 성능 팁은 공식 문서를 참조하십시오.

  • 비교를 위해 지원되는 파일 형식은 무엇입니까?
    API는 주로 DOCX 파일과 함께 작동하지만, Aspose.Words를 사용하여 DOC 파일을 DOCX로 변환한 후에도 비교할 수 있습니다. 모든 형식 이름은 대문자로 표시되며, 예: DOCX, PDF.

  • 프로덕션에서 실행하려면 라이선스가 필요합니까?
    임시 라이선스는 임시 라이선스 페이지에서 사용할 수 있습니다. 프로덕션 사용을 위해서는 제품 페이지에 설명된 대로 정식 라이선스를 구매해야 합니다.

자세히 보기