PNG JPG BMP TIFF PDF
Aspose.PDF  for 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 قائمة على السحابة، ومحرر، ومحول باستخدام لغة برمجة Python عبر Aspose.PDF REST API. ببساطة قم بإنشاء حساب في Aspose for Cloud واحصل على معلومات التطبيق الخاص بك. بمجرد حصولك على App SID & key، ستكون جاهزًا لاستخدام Aspose.PDF Cloud Python SDK. إذا كانت حزمة بايثون مستضافة على 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. تحميل ملف PDF إلى تخزين السحابة.
  3. إنشاء مربع نص منسق (بخطوط، ألوان، محاذاة).
  4. إرسال التعليق إلى الصفحة المحددة.
  5. تنزيل المستند المعدل للاستخدام المحلي.
 

إضافة تعليقات نصية حرة إلى PDF باستخدام Python


    from annotations_helper import Config, PdfAnnotationsHelper, logging
    from asposepdfcloud import ApiClient, PdfApi, FreeTextAnnotation, Rectangle, TextStyle, Color, FreeTextIntent, Justification, AnnotationFlags, HorizontalAlignment

    class PdfAddFreeTextAnnotations:
        """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 append_text_annotation(self):
            """Append a new free text annotation to the PDF document."""
            if self.pdfApi:
                self.helper.uploadFile(Config.PDF_DOCUMENT_NAME, Config.LOCAL_FOLDER, Config.REMOTE_FOLDER)
                
                args = {
                    "folder": Config.REMOTE_FOLDER
                }

                text_style = TextStyle(
                    font_size=20,
                    font='Arial', 
                    foreground_color=Color(a=0xFF, r=0, g=0xFF, b=0),
                    background_color=Color(a=0xFF, r=0xFF, g=0, b=0)
                )

                new_annotation = FreeTextAnnotation(
                    rect = Rectangle(llx=100, lly=350, urx=450, ury=400),
                    text_style = text_style,
                    name = 'Free Text Annotation',
                    flags = [AnnotationFlags.DEFAULT],
                    horizontal_alignment = HorizontalAlignment.CENTER,
                    intent = FreeTextIntent.FREETEXTTYPEWRITER,
                    rich_text = Config.NEW_FT_ANNOTATION_TEXT,
                    subject = Config.NEW_FT_ANNOTATION_SUBJECT,
                    contents = Config.NEW_FT_ANNOTATION_CONTENTS,
                    title = Config.NEW_FT_ANNOTATION_DESCRIPTION,
                    z_index = 1,
                    justification = Justification.CENTER,
                )
                new_annotation.attribute_map["icon"] = "Icon"
                new_annotation.swagger_types["icon"] = "TextIcon"
                new_annotation.icon = "Help"

                try:
                    response = self.pdfApi.post_page_free_text_annotations(Config.PDF_DOCUMENT_NAME, Config.PAGE_NUMBER, [new_annotation], **args)
                    if response.code == 200:
                        logging.info(f"append_text_annotation(): annotation '{Config.NEW_FT_ANNOTATION_TEXT}' added to the document '{Config.PDF_DOCUMENT_NAME}'.")
                        self.helper.downloadFile(Config.PDF_DOCUMENT_NAME, Config.LOCAL_RESULT_DOCUMENT_NAME, Config.LOCAL_FOLDER, Config.REMOTE_FOLDER, "add_freetext_")
                    else:
                        logging.error(f"append_text_annotation(): Failed to add annotation to the document. Response code: {response.code}")
                except Exception as e:
                    logging.error(f"append_text_annotation(): Error while adding annotation: {e}")