Python에서 REST API를 사용하여 PDF 파일 비교

PDF(Portable Document Format)는 오늘날 가장 일반적으로 사용되는 파일 형식 중 하나입니다. 일반적으로 페이지 레이아웃을 유지하면서 읽기 전용 문서를 배포하는 데 사용됩니다. 다양한 경우에 두 개 이상의 PDF 문서의 내용을 비교하거나 동일한 문서의 여러 버전을 비교해야 할 수 있습니다. PDF 문서를 프로그래밍 방식으로 쉽게 비교하여 유사점과 차이점을 식별할 수 있습니다. 이 기사에서는 Python에서 REST API를 사용하여 PDF 파일을 비교하는 방법을 배웁니다.

이 문서에서는 다음 항목을 다룹니다.

PDF 파일과 Python SDK를 비교하는 REST API

PDF 문서를 비교하기 위해 GroupDocs.Comparison Cloud의 Python SDK API를 사용합니다. 지원되는 형식의 두 개 이상의 문서를 비교하고 차이점을 찾을 수 있습니다. 콘솔에서 다음 명령을 사용하여 설치하십시오.

pip install groupdocs_comparison_cloud

언급된 단계를 따르기 전에 대시보드에서 클라이언트 ID와 암호를 가져오십시오. ID와 시크릿이 있으면 아래와 같이 코드를 추가합니다.

# 이 코드 예제는 클라이언트 ID와 암호를 설정하는 방법을 보여줍니다.
client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

configuration = groupdocs_comparison_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Python에서 REST API를 사용하여 두 개의 PDF 파일 비교

아래의 간단한 단계에 따라 클라우드에서 PDF 문서를 비교할 수 있습니다.

  1. 업로드 PDF 파일을 클라우드로
  2. PDF 파일 비교
  3. 다운로드 결과 PDF 파일

PDF 파일 업로드

먼저 다음 코드 샘플을 사용하여 원본 및 대상 PDF 파일을 클라우드에 업로드합니다.

# 이 코드 예제는 PDF 파일을 클라우드에 업로드하는 방법을 보여줍니다.
# API 인스턴스 생성
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# 샘플 파일 업로드
for filename in glob.iglob("C:\\Files\\*.pdf", recursive=True):
    destFile = filename.replace("C:\\Files\\", "", 1)            
    file_api.upload_file(groupdocs_comparison_cloud.UploadFileRequest(destFile, filename))
    print("Uploaded file: "+ destFile)

결과적으로 업로드된 파일은 클라우드 대시보드의 파일 섹션에서 사용할 수 있습니다.

Python을 사용하여 PDF 파일 비교

아래 단계에 따라 프로그래밍 방식으로 두 개의 PDF 문서를 비교할 수 있습니다.

  • 먼저 CompareApi의 인스턴스를 만듭니다.
  • 다음으로 FileInfo의 인스턴스를 만듭니다.
  • 그런 다음 원본 PDF 파일 경로를 설정합니다.
  • 그런 다음 FileInfo의 다른 인스턴스를 만듭니다.
  • 그런 다음 대상 PDF 파일 경로를 설정합니다.
  • 다음으로 ComparisonOptions의 인스턴스를 만듭니다.
  • 그런 다음 소스 및 대상 파일을 지정하십시오.
  • 또한 출력 파일 경로를 설정합니다.
  • 그런 다음 ComparisonOptions 개체를 사용하여 ComparisonsRequest의 인스턴스를 만듭니다.
  • 마지막으로 ComparisonsRequest를 인수로 사용하여 CompareApi.comparisons() 메서드를 호출하여 결과를 얻습니다.

다음 코드 샘플은 Python에서 REST API를 사용하여 두 PDF 파일을 비교하는 방법을 보여줍니다.

# 이 코드 예제는 두 PDF 파일을 비교하는 방법을 보여줍니다.
# API 인스턴스 생성
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# 입력 소스 파일
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# 대상 파일
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# 비교 옵션 정의
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# 비교 요청 생성
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# 비교하다
response = api_instance.comparisons(request)
Python에서 REST API를 사용하여 두 개의 PDF 파일 비교

Python에서 REST API를 사용하여 두 개의 PDF 파일을 비교합니다.

결과 PDF 파일에는 아래와 같이 문서 끝에 요약 페이지도 포함되어 있습니다.

요약 페이지.

삭제되거나 삽입된 총 요소를 보여주는 요약 페이지입니다.

결과 파일 다운로드

위의 코드 샘플은 새로 생성된 PDF 파일의 차이점을 클라우드에 저장합니다. 다음 코드 예제를 사용하여 다운로드할 수 있습니다.

# 이 코드 예제는 결과 파일을 다운로드하는 방법을 보여줍니다.
# API 인스턴스 생성
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# 다운로드 파일 요청 생성
request = groupdocs_comparison_cloud.DownloadFileRequest("result.pdf", my_storage)

# 파일 다운로드
response = file_api.download_file(request)

# 다운로드한 파일을 작업 디렉토리로 이동
shutil.move(response, "C:\\Files\\") 

Python에서 여러 PDF 파일 비교

아래 단계에 따라 여러 PDF 문서를 비교할 수 있습니다.

  • 먼저 CompareApi의 인스턴스를 만듭니다.
  • 다음으로 FileInfo의 인스턴스를 만들고 원본 PDF 파일 경로를 설정합니다.
  • 그런 다음 FileInfo의 다른 인스턴스를 만들고 대상 PDF 파일 경로를 설정합니다.
  • 그런 다음 위의 단계를 반복하여 더 많은 대상 파일을 추가하십시오.
  • 다음으로 ComparisonOptions의 인스턴스를 만듭니다.
  • 그런 다음 소스/대상 파일을 할당하고 출력 파일 경로를 설정합니다.
  • 그런 다음 ComparisonOptions 개체를 사용하여 ComparisonsRequest의 인스턴스를 만듭니다.
  • 마지막으로 ComparisonsRequest를 인수로 사용하여 CompareApi.comparisons() 메서드를 호출하여 결과를 얻습니다.

다음 코드 샘플은 Python에서 REST API를 사용하여 여러 PDF 파일을 비교하는 방법을 보여줍니다.

# 이 코드 예제는 여러 PDF 파일을 비교하는 방법을 보여줍니다.
# 필요한 API 인스턴스 생성
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# 원본 PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# 대상 PDF 1
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.pdf"

# 대상 PDF 2
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.pdf"

# 비교 옵션 정의
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "result.pdf"

# 비교 요청 생성 및 비교
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)

Python에서 비교 결과 사용자 지정

아래 단계에 따라 비교 프로세스 결과에서 발견된 변경 스타일을 사용자 정의할 수 있습니다.

  • 먼저 CompareApi의 인스턴스를 만듭니다.
  • 다음으로 FileInfo의 인스턴스를 만들고 원본 PDF 파일 경로를 설정합니다.
  • 그런 다음 FileInfo의 다른 인스턴스를 만들고 대상 PDF 파일 경로를 설정합니다.
  • 다음으로 설정 인스턴스를 만듭니다.
  • 그런 다음 비교 감도 및 다양한 속성을 설정하여 Item의 스타일을 사용자 지정합니다.
  • 다음으로 ComparisonOptions의 인스턴스를 만듭니다.
  • 그런 다음 소스/대상 파일을 할당하고 출력 파일 경로를 설정합니다.
  • 그런 다음 ComparisonOptions 개체를 사용하여 ComparisonsRequest의 인스턴스를 만듭니다.
  • 마지막으로 ComparisonsRequest를 인수로 사용하여 CompareApi.comparisons() 메서드를 호출하여 결과를 얻습니다.

다음 코드 샘플은 Python에서 REST API를 사용하여 비교 결과를 사용자 지정하는 방법을 보여줍니다.

# 이 코드 예제는 비교 결과를 cCustomize하는 방법을 보여줍니다.
# 필요한 API 인스턴스 생성
api_instance = groupdocs_comparison_cloud.비교하다Api.from_keys(client_id, client_secret)

# 원본 PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# 대상 PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

settings = groupdocs_comparison_cloud.Settings()

# 민감도 비교
settings.sensitivity_of_comparison = 100

# 변경 사항에 대한 스타일 사용자 정의
settings.inserted_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.inserted_items_style.highlight_color = "14297642"
settings.inserted_items_style.font_color = "16711680"
settings.inserted_items_style.underline = True
settings.deleted_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.deleted_items_style.font_color = "14166746"
settings.deleted_items_style.bold = True
settings.changed_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.changed_items_style.font_color = "14320170"
settings.changed_items_style.italic = True

# 비교 옵션 정의
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# 비교 요청 생성
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# 비교하다
response = api_instance.comparisons(request)

Python의 변경 사항 목록 가져오기

아래 단계에 따라 PDF 파일을 비교하는 동안 발견된 모든 변경 사항 목록을 얻을 수 있습니다.

  • 먼저 CompareApi의 인스턴스를 만듭니다.
  • 다음으로 FileInfo의 인스턴스를 만들고 원본 PDF 파일 경로를 설정합니다.
  • 그런 다음 FileInfo의 다른 인스턴스를 만들고 대상 PDF 파일 경로를 설정합니다.
  • 다음으로 ComparisonOptions의 인스턴스를 만듭니다.
  • 그런 다음 소스/대상 파일을 할당하고 출력 파일 경로를 설정합니다.
  • 그런 다음 ComparisonOptions 개체를 사용하여 PostChangesRequest의 인스턴스를 만듭니다.
  • 마지막으로 ComparisonsRequest를 인수로 사용하여 CompareApi.post\changes() 메서드를 호출하여 결과를 얻습니다.

다음 코드 샘플은 Python에서 REST API를 사용하여 변경 사항 목록을 가져오는 방법을 보여줍니다.

# 이 코드 예제는 모든 변경 사항 목록을 가져오는 방법을 보여줍니다.
# 필요한 API 인스턴스 생성
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# 원본 PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# 대상 PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# 비교 옵션 정의
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# 게시물 변경 요청 만들기
request = groupdocs_comparison_cloud.PostChangesRequest(options)
# 변경사항 게시
response = api_instance.post_changes(request)

# 디스플레이 변경
for change in response:
  print("Change # " + str(change.id + 1) + "- Target Text: " + str(change.target_text) + ", Text: " + str(change.text) + ", Type: " + str(change.type));
Python의 변경 사항 목록 가져오기

Python의 변경 사항 목록을 가져옵니다.

Python에서 암호 및 메타데이터와 비교 및 저장

아래 단계에 따라 결과 파일을 암호로 보호하고 메타데이터와 함께 저장할 수 있습니다.

  • 먼저 CompareApi의 인스턴스를 만듭니다.
  • 다음으로 FileInfo의 인스턴스를 만들고 원본 PDF 파일 경로를 설정합니다.
  • 그런 다음 FileInfo의 다른 인스턴스를 만들고 대상 PDF 파일 경로를 설정합니다.
  • 다음으로 설정 인스턴스를 만듭니다.
  • 그런 다음 메타데이터의 인스턴스를 만듭니다.
  • 그런 다음 작성자, 회사, last\save\by 등과 같은 다양한 메타데이터 속성을 설정합니다.
  • 그런 다음 비밀번호와 비밀번호\저장\옵션을 설정합니다.
  • 다음으로 ComparisonOptions의 인스턴스를 만듭니다.
  • 그런 다음 소스/대상 파일을 할당하고 출력 파일 경로를 설정합니다.
  • 그런 다음 ComparisonOptions 개체를 사용하여 ComparisonsRequest의 인스턴스를 만듭니다.
  • 마지막으로 ComparisonsRequest를 인수로 사용하여 CompareApi.comparisons() 메서드를 호출하여 결과를 얻습니다.

다음 코드 샘플은 Python에서 REST API를 사용하여 암호 및 메타데이터와 함께 결과 파일을 저장하는 방법을 보여줍니다.

# 이 코드 예제는 결과 파일을 암호 및 메타데이터와 함께 저장하는 방법을 보여줍니다.
# 필요한 API 인스턴스 생성
api_instance = groupdocs_comparison_cloud.비교하다Api.from_keys(client_id, client_secret)

# 원본 PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# 대상 PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

settings = groupdocs_comparison_cloud.Settings()
# 메타데이터 설정
settings.meta_data = groupdocs_comparison_cloud.Metadata()
settings.meta_data.author = "Tom"
settings.meta_data.company = "GroupDocs"
settings.meta_data.last_save_by = "Jack"

#Set password
settings.password_save_option = "User"
settings.password = "password"

# 비교 옵션 정의
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# 비교 요청 생성
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# 비교하다
response = api_instance.comparisons(request)

온라인 시도

위의 API를 사용하여 개발된 다음 무료 온라인 PDF 비교 도구를 사용해 보십시오. https://products.groupdocs.app/comparison/pdf

결론

이 기사에서는 클라우드에서 PDF 문서를 비교하는 방법을 배웠습니다. 또한 여러 PDF 파일을 비교하고, 변경 스타일을 사용자 정의하고, Python에서 변경 목록을 가져오는 방법도 살펴보았습니다. 이 문서에서는 프로그래밍 방식으로 여러 PDF 파일을 클라우드에 업로드한 다음 클라우드에서 결과 파일을 다운로드하는 방법도 설명했습니다. 그 외에도 문서를 사용하여 GroupDocs.Comparison Cloud API에 대해 자세히 알아볼 수 있습니다. 또한 브라우저를 통해 직접 API를 시각화하고 상호 작용할 수 있는 API 참조 섹션을 제공합니다. 모호한 점이 있으면 언제든지 포럼에 문의해 주십시오.

또한보십시오