Вы можете программно аннотировать любой PDF-документ в облаке с помощью Python. Это может быть любая дополнительная информация о существующем фрагменте данных в виде изображений, комментариев, заметок или других видов внешних примечаний в документе. В этой статье вы узнаете, как аннотировать PDF-документы с помощью REST API в Python.
В этой статье должны быть раскрыты следующие темы:
- REST API и Python SDK для аннотаций к документам
- Аннотируйте PDF-документы с помощью REST API в Python
- Добавьте аннотации TextField с помощью Python
- Добавьте аннотации к изображениям с помощью Python
- Аннотировать с помощью аннотаций ссылок с помощью Python
REST API и Python SDK для аннотаций к документам
Для аннотирования документов PDF я буду использовать API Python SDK of GroupDocs.Annotation Cloud. Это позволяет программно создавать инструменты аннотирования документов в режиме онлайн. Вы можете добавлять аннотации, наложения водяных знаков, замену текста, исправления и текстовые пометки к деловым документам всех популярных форматов. Он также предоставляет SDK для .NET, Java, PHP, Ruby и Node.js в качестве членов семейства аннотаций документов для Cloud API.
Вы можете установить GroupDocs.Annotation Cloud в свой проект Python с помощью следующей команды в консоли:
pip install groupdocs_annotation_cloud
Пожалуйста, получите свой идентификатор клиента и секрет клиента на панели управления, прежде чем приступать к выполнению шагов и доступных примеров кода. Получив свой идентификатор и секрет, добавьте код, как показано ниже:
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 = ""
Аннотируйте PDF-документы с помощью REST API в Python
Вы можете добавить аннотации к своим PDF-документам, выполнив простые шаги, указанные ниже:
- Загрузить файл PDF в облако
- Аннотировать PDF-документы с помощью Python
- Скачать аннотированный файл
Загрузить документ
Во-первых, загрузите файл 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-файл будет доступен в разделе файлов вашей панели управления в облаке.
Аннотируйте PDF-документы с помощью Python
Выполните шаги, указанные ниже, чтобы программно добавить несколько аннотаций в документ 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'])
Подробнее о поддерживаемых типах аннотаций можно прочитать в разделе добавление аннотаций в документации.
Загрузите аннотированный файл
Приведенный выше пример кода сохранит аннотированный 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\\")
Добавьте аннотации TextField с помощью Python
Вы можете добавить аннотации текстовых полей в документы PDF программно, выполнив следующие шаги:
- Создайте экземпляр AnnotateApi
- Создайте экземпляр AnnotationInfo
- Определить положение аннотации
- Определить положение, высоту и ширину прямоугольника
- Установите различные свойства аннотации, например текст, высоту, ширину и т. д.
- Установите тип аннотации как TextField
- Создайте экземпляр 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 = 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
Вы можете программно добавлять аннотации к изображениям в документы PDF, выполнив следующие действия:
- Создайте экземпляр AnnotateApi
- Создайте экземпляр 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.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
Вы можете добавить аннотации гиперссылок в PDF-документы программно, выполнив следующие шаги:
- Создайте экземпляр AnnotateApi
- Создайте экземпляр 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()
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'])
Попробуйте онлайн
Попробуйте следующий бесплатный онлайн-инструмент для создания аннотаций PDF, разработанный с использованием указанного выше API. https://products.groupdocs.app/annotation/pdf
Заключение
В этой статье вы узнали, как добавлять различные типы аннотаций в документы PDF в облаке. Кроме того, вы узнали, как программно загрузить файл PDF в облако, а затем загрузить файл с комментариями из облака. Вы можете узнать больше о GroupDocs.Annotation Cloud API, используя документацию. Мы также предоставляем раздел Справочник по API, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.