Python을 사용하여 PDF 문서에 주석 달기

Python을 사용하여 클라우드에서 프로그래밍 방식으로 모든 PDF 문서에 주석을 달 수 있습니다. 문서의 이미지, 설명, 메모 또는 기타 유형의 외부 설명 형식으로 된 기존 데이터에 대한 추가 정보일 수 있습니다. 이 기사에서는 Python에서 REST API를 사용하여 PDF 문서에 주석을 다는 방법을 배웁니다.

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

문서 주석 REST API 및 Python SDK

PDF 문서에 주석을 달기 위해 GroupDocs.Annotation Cloud의 Python SDK API를 사용합니다. 프로그래밍 방식으로 문서 주석 도구를 온라인으로 구축할 수 있습니다. 널리 사용되는 모든 형식의 비즈니스 문서에 주석, 워터마크 오버레이, 텍스트 교체, 교정 및 텍스트 마크업을 추가할 수 있습니다. 또한 Cloud API용 문서 주석 제품군 구성원으로 .NET, Java, PHP, Ruby 및 Node.js SDK를 제공합니다.

콘솔에서 다음 명령을 사용하여 Python 프로젝트에 GroupDocs.Annotation Cloud를 설치할 수 있습니다.

pip install groupdocs_annotation_cloud

단계와 사용 가능한 코드 예제를 시작하기 전에 dashboard에서 클라이언트 ID와 클라이언트 암호를 얻으십시오. ID와 시크릿이 있으면 아래와 같이 코드를 추가합니다.

client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

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

Python에서 REST API를 사용하여 PDF 문서에 주석 달기

아래의 간단한 단계에 따라 PDF 문서에 주석을 추가할 수 있습니다.

  1. 업로드 PDF 파일을 클라우드에
  2. Python을 사용하여 PDF 문서에 주석 달기
  3. 다운로드 주석 파일

문서 업로드

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

# API 인스턴스 생성
file_api = groupdocs_annotation_cloud.FileApi.from_config(configuration)
my_storage = ""

# 샘플 파일 업로드
request = groupdocs_annotation_cloud.UploadFileRequest("sample.pdf", "C:\\Files\\sample.pdf", my_storage)
response = file_api.upload_file(request)

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

Python을 사용하여 PDF 문서에 주석 달기

프로그래밍 방식으로 PDF 문서에 여러 주석을 추가하려면 아래에 언급된 단계를 따르십시오.

  • AnnotateApi 인스턴스 생성
  • AnnotationInfo의 첫 번째 인스턴스 생성
  • 위치, 유형, 텍스트 등 첫 번째 인스턴스에 대한 주석 속성을 설정합니다.
  • AnnotationInfo 두 번째 인스턴스 만들기
  • 두 번째 인스턴스에 대한 주석 속성(예: 위치, 유형, 텍스트 등)을 설정합니다.
  • AnnotationInfo 세 번째 인스턴스 만들기
  • 세 번째 인스턴스(예: 위치, 유형, 텍스트 등)에 대한 주석 속성을 설정합니다.
  • FileInfo 인스턴스 생성 및 입력 파일 경로 설정
  • AnnotateOptions의 인스턴스를 생성하고 파일 정보를 AnnotateOptions로 설정
  • AnnotateOptions에 첫 번째, 두 번째 및 세 번째 주석 할당
  • AnnotateRequest 메서드를 호출하여 요청 생성
  • AnnotateApi.annotate() 메서드를 호출하여 결과 얻기

다음 코드 샘플은 PDF 문서에 주석을 달고 REST API를 사용하여 여러 주석을 추가하는 방법을 보여줍니다.

# 초기화 API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# 거리 주석
a1 = groupdocs_annotation_cloud.AnnotationInfo()
a1.annotation_position = groupdocs_annotation_cloud.Point()
a1.annotation_position.x = 1
a1.annotation_position.y = 1
a1.box = groupdocs_annotation_cloud.Rectangle()
a1.box.x = 100
a1.box.y = 100
a1.box.width = 200
a1.box.height = 200
a1.page_number = 0
a1.pen_color = 1201033
a1.pen_style = "Solid"
a1.pen_width = 3
a1.opacity = 1
a1.type = "Distance"
a1.text = "This is 거리 주석"
a1.creator_name = "Anonym A."

# 영역 주석
a2 = groupdocs_annotation_cloud.AnnotationInfo()
a2.annotation_position = groupdocs_annotation_cloud.Point()
a2.annotation_position.x = 1
a2.annotation_position.y = 1
a2.box = groupdocs_annotation_cloud.Rectangle()
a2.box.x = 100
a2.box.y = 400
a2.box.width = 200
a2.box.height = 100
a2.page_number = 0
a2.pen_color = 1201033
a2.pen_style = "Solid"
a2.pen_width = 3
a2.opacity = 1
a2.type = "Area"
a2.text = "This is 영역 주석"
a2.creator_name = "Anonym A."

# 화살표 주석
a3 = groupdocs_annotation_cloud.AnnotationInfo()
a3.annotation_position = groupdocs_annotation_cloud.Point()
a3.annotation_position.x = 1
a3.annotation_position.y = 1
a3.box = groupdocs_annotation_cloud.Rectangle()
a3.box.x = 100
a3.box.y = 250
a3.box.width = 100
a3.box.height = 50
a3.page_number = 0
a3.pen_color = 1201033
a3.pen_style = "Solid"
a3.pen_width = 1
a3.opacity = 0.7
a3.type = "Arrow"
a3.text = "This is 화살표 주석"
a3.creator_name = "Anonym A."

# 입력 파일
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"

# 주석 옵션 정의
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1, a2, a3]
options.output_path = "output.pdf"

# 주석 요청 생성
request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)         

print("AddMultipleAnnotations: Multiple Annotations added: " + result['href'])
Python에서 REST API를 사용하여 PDF 문서에 여러 주석 추가

Python에서 REST API를 사용하여 PDF 문서에 여러 주석 추가

문서의 adding annotations 섹션에서 지원되는 주석 유형에 대해 자세히 알아볼 수 있습니다.

주석이 달린 파일 다운로드

위의 코드 샘플은 주석이 달린 PDF 파일을 클라우드에 저장합니다. 다음 코드 샘플을 사용하여 다운로드할 수 있습니다.

# API 초기화
file_api = groupdocs_annotation_cloud.FileApi.from_config(configuration)
my_storage = ""

# 다운로드 요청 생성
request = groupdocs_annotation_cloud.DownloadFileRequest("output.pdf", my_storage)
response = file_api.download_file(request)

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

Python을 사용하여 TextField 주석 추가

아래 단계에 따라 프로그래밍 방식으로 PDF 문서에 텍스트 필드 주석을 추가할 수 있습니다.

  • AnnotateApi 인스턴스 생성
  • AnnotationInfo 인스턴스 생성
  • 주석 위치 정의
  • Rectangle 위치, 높이 및 너비 정의
  • 텍스트, 높이, 너비 등 다양한 주석 속성을 설정합니다.
  • 주석 유형을 TextField로 설정
  • FileInfo 인스턴스 생성 및 입력 파일 경로 설정
  • AnnotateOptions의 인스턴스를 생성하고 파일 정보를 AnnotateOptions로 설정
  • AnnotateOptions에 주석 할당
  • AnnotateRequest 메서드를 호출하여 요청 생성
  • AnnotateApi.annotate() 메서드를 호출하여 결과 얻기

다음 코드 샘플은 REST API를 사용하여 PDF 문서에 텍스트 필드 주석을 추가하는 방법을 보여줍니다. 앞에서 언급한 단계에 따라 파일을 업로드하고 다운로드하십시오.

# 초기화 API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# 주석 정보 제공
a1 = groupdocs_annotation_cloud.AnnotationInfo()
a1.annotation_position = groupdocs_annotation_cloud.Point()
a1.annotation_position.x = 1
a1.annotation_position.y = 1
a1.box = groupdocs_annotation_cloud.Rectangle()
a1.box.x = 380
a1.box.y = 300
a1.box.width = 100
a1.box.height = 50
a1.page_number = 0
a1.font_color = 1201033
a1.font_size = 12
a1.opacity = 0.7
a1.type = "TextField"           
a1.text = "Text field text"
a1.creator_name = "Anonym A."

# 입력 파일 경로
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"

# 주석 옵션 정의
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1]
options.output_path = "output.pdf"

# 주석 요청 생성
request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)         

print("AddTextFieldAnnotation: Text Field Annotation added: " + result['href'])
Python을 사용하여 텍스트 필드 주석 추가

Python을 사용하여 텍스트 필드 주석 추가

Python을 사용하여 이미지 주석 추가

아래 단계에 따라 프로그래밍 방식으로 PDF 문서에 이미지 주석을 추가할 수 있습니다.

  • AnnotateApi 인스턴스 생성
  • AnnotationInfo 인스턴스 생성
  • Rectangle 정의 및 위치, 높이 및 너비 설정
  • 다양한 주석 속성(예: 위치, 텍스트, 높이, 너비 등)을 설정합니다.
  • 주석 유형을 이미지로 설정
  • FileInfo 인스턴스 생성 및 입력 파일 경로 설정
  • AnnotateOptions의 인스턴스를 생성하고 파일 정보를 AnnotateOptions로 설정
  • AnnotateOptions에 주석 할당
  • AnnotateRequest 메서드를 호출하여 요청 생성
  • AnnotateApi.annotate() 메서드를 호출하여 결과 얻기

다음 코드 샘플은 REST API를 사용하여 PDF 문서에 이미지 주석을 추가하는 방법을 보여줍니다. 앞에서 언급한 단계에 따라 파일을 업로드하고 다운로드하십시오.

# 초기화 API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# 주석 정의
a1 = groupdocs_annotation_cloud.AnnotationInfo()
a1.box = groupdocs_annotation_cloud.Rectangle()
a1.box.x = 300
a1.box.y = 300
a1.box.width = 200
a1.box.height = 100
a1.page_number = 0
a1.pen_color = 1201033
a1.pen_style = "Solid"
a1.pen_width = 1
a1.opacity = 0.7
a1.type = "Image"
a1.text = "This is Image annotation"
a1.creator_name = "Anonym A."
a1.image_path = "JohnSmith.png"

# 입력 파일 경로
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"

# 주석 정의 options
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1]
options.output_path = "output_img.pdf"

# 주석 요청 생성
request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)         

print("AddImageAnnotation: Image Annotation added: " + result['href'])
Python을 사용하여 이미지 주석 추가

Python을 사용하여 이미지 주석 추가

아래 단계에 따라 프로그래밍 방식으로 PDF 문서에 하이퍼링크 주석을 추가할 수 있습니다.

  • AnnotateApi 인스턴스 생성
  • AnnotationInfo 인스턴스 생성
  • 주석 포인트 정의 및 각 포인트의 위치 설정
  • 텍스트, 높이, 너비 등 다양한 주석 속성을 설정합니다.
  • 주석 유형을 링크로 설정
  • FileInfo 인스턴스 생성 및 입력 파일 경로 설정
  • AnnotateOptions의 인스턴스를 생성하고 파일 정보를 AnnotateOptions로 설정
  • AnnotateOptions에 주석 할당
  • AnnotateRequest 메서드를 호출하여 요청 생성
  • AnnotateApi.annotate() 메서드를 호출하여 결과 얻기

다음 코드 샘플은 REST API를 사용하여 PDF 문서에 하이퍼링크 주석을 추가하는 방법을 보여줍니다. 앞에서 언급한 단계에 따라 파일을 업로드하고 다운로드하십시오.

# 초기화 API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# 주석 정보 제공
a1 = groupdocs_annotation_cloud.AnnotationInfo()
p1 = groupdocs_annotation_cloud.Point()
p1.x = 80
p1.y = 710
p2 = groupdocs_annotation_cloud.Point()
p2.x = 240
p2.y = 710
p3 = groupdocs_annotation_cloud.Point()
p3.x = 80
p3.y = 650
p4 = groupdocs_annotation_cloud.Point()
p4.x = 240
p4.y = 650
a1.points = [p1, p2, p3, p4]
a1.page_number = 0
a1.type = "Link"
a1.text = "This is Link annotation"
a1.creator_name = "Anonym A."
a1.url = "https://www.groupdocs.com/"

# 입력 파일 경로
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"

# 주석 옵션 정의
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1]
options.output_path = "output.pdf"

# 주석 요청 생성
request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)         

print("AddLinkAnnotation: Link Annotation added: " + result['href'])
Python을 사용하여 링크 주석으로 주석 달기

Python을 사용하여 링크 주석으로 주석 달기

온라인 시도

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

결론

이 기사에서는 클라우드의 PDF 문서에 다양한 유형의 주석을 추가하는 방법을 배웠습니다. 또한 프로그래밍 방식으로 PDF 파일을 클라우드에 업로드한 다음 주석이 달린 파일을 클라우드에서 다운로드하는 방법을 배웠습니다. 문서를 사용하여 GroupDocs.Annotation Cloud API에 대해 자세히 알아볼 수 있습니다. 또한 브라우저를 통해 직접 API를 시각화하고 상호 작용할 수 있는 API 참조 섹션을 제공합니다. 모호한 점이 있으면 언제든지 포럼으로 문의해 주십시오.

또한보십시오