PNG JPG BMP TIFF PDF
Aspose.PDF  для Python

Замена текстовых аннотаций в PDF через Python SDK

API для замены аннотаций в PDF-документах с использованием Cloud Python SDK.

Get Started

Как заменить текстовые аннотации в PDF через Cloud Python SDK

Чтобы заменить текстовые аннотации в PDF, мы будем использовать Aspose.PDF Cloud Python SDK. Этот Cloud SDK помогает разработчикам на Python создавать облачные приложения для создания, аннотирования, редактирования и преобразования PDF, используя программный интерфейс Aspose.PDF REST API. Просто создайте учетную запись на Aspose for Cloud и получите информацию о вашем приложении. Как только у вас будут App SID и ключ, вы готовы использовать Aspose.PDF Cloud Python SDK. Если пакет Python размещен на Github, вы можете установить его напрямую с Github:

Установка с Github


     
    pip install git+https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-python.git

Команда консоли диспетчера пакетов

     
    pip install asposepdfcloud

Шаги по замене текстовых аннотаций в PDF через Python

Разработчики Aspose.PDF Cloud могут легко загружать и заменять текстовые аннотации в PDF всего за несколько строк кода.

  1. Установите Python SDK.
  2. Получите аннотацию, используя get_text_annotation().
  3. Измените содержимое и значок аннотации.
  4. Отправьте обновление.
  5. Проверьте ответ.
  6. Загрузите обновленный документ.
 

Замена текстовых аннотаций в PDF с использованием Python


    from annotations_helper import Config, PdfAnnotationsHelper, logging
    from asposepdfcloud import PdfApi, TextAnnotationResponse

    class PdfReplaceAnnotations:
        """Class for managing PDF annotations using Aspose PDF Cloud API."""
        def __init__(self, pdf_api: PdfApi, helper: PdfAnnotationsHelper):
            self.pdfApi = pdf_api
            self.helper = helper
            
        def _get_annotation(self, annotation_id):
            """Get annotation from the page in the PDF document."""
            if self.pdfApi:
                args = {
                    "folder": Config.REMOTE_FOLDER
                }
                response: TextAnnotationResponse = self.pdfApi.get_text_annotation(Config.PDF_DOCUMENT_NAME, annotation_id, **args)
                if response.code == 200:
                    logging.info(f"get_annotationn(): annotation '{annotation_id}' successfully found '{response.annotation.contents}' in the document '{Config.PDF_DOCUMENT_NAME}'.")
                    return response.annotation
                else:
                    logging.error(f"get_annotation(): Failed to get annotation in the document. Response code: {response.code}")
                    return None

        def modify_annotation(self):
            if self.pdfApi:
                if Config.ANNOTATION_ID:
                    self.helper.uploadFile(Config.PDF_DOCUMENT_NAME, Config.LOCAL_FOLDER, Config.REMOTE_FOLDER)
                    args = {
                        "folder": Config.REMOTE_FOLDER
                    }
                    annotation = self._get_annotation(Config.ANNOTATION_ID)
                    annotation.contents = Config.REPLACED_CONTENT
                    annotation.icon = "Star"
                    response = self.pdfApi.put_text_annotation(Config.PDF_DOCUMENT_NAME, Config.ANNOTATION_ID, annotation, **args)
                    if response.code == 200:
                        logging.info(f"modify_annotation(): annotation '{annotation.id}' successfully modified in the document '{Config.PDF_DOCUMENT_NAME}'.")
                        self.helper.downloadFile(Config.PDF_DOCUMENT_NAME, Config.LOCAL_RESULT_DOCUMENT_NAME, Config.LOCAL_FOLDER, Config.REMOTE_FOLDER, "replaced_annotatiom_")
                    else:
                        logging.error(f"modify_annotation(): Failed to modify annotation in the document. Response code: {response.code}")