Додайте текст і зображення до заголовка PDF

Коли справа доходить до створення професійних та візуально привабливих PDF-документів, наявність можливості додавати зображення та текст до заголовка є обов’язковою функцією. Розділ заголовка є однією з найважливіших частин документа, оскільки він надає читачам важливу інформацію, таку як назва, автор і дата. Хоча додавання тексту до заголовка є відносно простим процесом, додавання зображень може бути складнішим, особливо для розробників Python, які тільки починають створювати документи PDF. У цій статті ми розглянемо, як додати зображення та текст до заголовка документа PDF за допомогою Python Cloud SDK.

Ви можете додавати зображення, логотипи, дату й час створення документа, назву документа, номер версії або перегляду, чернетку, ім’я автора та назви розділів у заголовку PDF.

REST API для складання документів PDF

Aspose.PDF Cloud SDK для Python надає різноманітні функції та методи, які дозволяють розробникам програмно керувати файлами PDF. Він також надає потужний і гнучкий набір інструментів для додавання зображень і тексту до заголовків документів PDF і може бути легко інтегрований у програми Python для автоматизованої обробки документів PDF. Тепер, що стосується процесу додавання зображення до заголовка, він передбачає вказівку розташування та розмірів зображення, а також номер сторінки, на якій має з’явитися зображення. Подібним чином додавання тексту до заголовка вимагає визначення вмісту тексту, розміру шрифту та інших параметрів форматування. SDK також надає параметри для керування вирівнюванням і розташуванням вмісту заголовка, а також для визначення кольору фону заголовка.

Тепер спочатку нам потрібно інсталювати SDK, який можна безкоштовно завантажити через репозиторій PIP і GitHub. Просто виконайте наступну команду, щоб інсталювати останню версію SDK.

pip install asposepdfcloud

Щоб отримати доступ до REST API, вам потрібно зареєструватися та отримати особисті облікові дані. Щоб отримати пов’язану інформацію, перегляньте Короткий посібник із початку роботи.

Додайте текст до заголовка PDF за допомогою Python

SDK дає змогу додавати текстові рядки до розділу заголовка документа, і цю вимогу можна виконати за допомогою наступних кроків.

  • По-перше, створіть екземпляр класу ApiClient, надаючи як аргументи Client ID Client Secret.
  • По-друге, створіть об’єкт класу PdfApi, який приймає об’єкт ApiClient як вхідний аргумент.
  • По-третє, створіть об’єкт TextHeader, що визначає властивості екземпляра TextHeader.
  • Щоб налаштувати форматування тексту для TextHeader, створіть об’єкт TextState, де ми визначаємо колір переднього плану, розмір шрифту, назву шрифту тощо.
  • Нарешті, викличте метод postdocumenttextheader(..), щоб додати текстовий заголовок до документа PDF і зберегти отриманий файл у хмарному сховищі.
def addTextHeader():
    try:
        #Client credentials
        client_secret = "1c9379bb7d701c26cc87e741a29987bb"
        client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # створити екземпляр PdfApi, передаючи PdfApiClient як аргумент
        pdf_api = PdfApi(pdf_api_client)

        #source PDF file
        input_file = 'awesomeTable.pdf'
        
        # Створіть об’єкт, що визначає текстовий заголовок
        textHeader = asposepdfcloud.TextHeader()
        # встановити значення для відтворення заголовка у фоновому режимі
        textHeader.background = False
        # встановіть горизонтальне вирівнювання для заголовка тексту по центру
        textHeader.horizontal_alignment = 'Center'
        # встановити непрозорість заголовка на 0,5
        textHeader.opacity = 0.5
        # немає кута повороту
        textHeader.rotate = None
        textHeader.rotate_angle = 0
        # встановити значення відступів X і Y
        textHeader.x_indent = 100
        textHeader.y_indent = 100
        # встановіть коефіцієнт масштабування 1,0
        textHeader.zoom = 1.0
        # текстове значення, яке буде відображено всередині заголовка
        textHeader.value = 'Aspose.PDF Cloud'

        # створити екземпляр TextState, що визначає форматування тексту
        textState = asposepdfcloud.TextState(font_size=15, font='Arial', foreground_color=
              {"A": 0,
              "R": 252,
              "G": 173,
              "B": 3},font_style=2)
        # передати об’єкт TextState у TextHeader
        textHeader.text_state = textState

        # викликати API, щоб додати текстовий заголовок до документа PDF
        response = pdf_api.post_document_text_header(name = input_file, text_header = textHeader)
        
        # надрукувати код відповіді в консолі
        print(response)
        # друкувати повідомлення в консолі (необов'язково)
        print('Text Header successfully added to PDF !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)
Текстовий колонтитул у PDF

Зображення 2: - Попередній перегляд текстового заголовка в документі PDF.

Вхідні та кінцеві PDF-файли можна завантажити з awesomeTable.pdf і awecomeTable-TextHeader.pdf.

Додайте зображення до заголовка PDF за допомогою Python

Дотримуйтеся наведених нижче інструкцій, щоб додати об’єкт Image до розділу заголовка PDF. Отриманий файл завантажується в хмарне сховище.

  • Перш за все, створіть екземпляр класу ApiClient, надаючи як аргументи Client ID Client Secret.
  • По-друге, створіть об’єкт класу PdfApi, який приймає об’єкт ApiClient як вхідний аргумент.
  • Тепер створіть об’єкт ImageHeader, визначаючи властивості ImageHeader.
  • Щоб керувати відтворенням заголовка на певних сторінках, необов’язковим параметрам startpagenumber і endpagenumber призначаються значення.
  • Нарешті, викличте метод postdocumentimageheader(..), щоб додати заголовок зображення до документа PDF і зберегти отриманий файл у хмарному сховищі. Зауважте, що заголовок додається лише до перших двох сторінок документа (як зазначено в коді).
def addImageHeader():
    try:
        #Client credentials
        client_secret = "1c9379bb7d701c26cc87e741a29987bb"
        client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # створити екземпляр PdfApi, передаючи PdfApiClient як аргумент
        pdf_api = PdfApi(pdf_api_client)

        #source PDF file
        input_file = 'awesomeTable.pdf'
        
        # створити екземпляр ImageHeader
        imageHeader = asposepdfcloud.ImageHeader()
        # встановити для властивості background значення true
        imageHeader.background = True
        # встановіть горизонтальне вирівнювання як Праворуч
        imageHeader.horizontal_alignment = 'Right'
        imageHeader.opacity = 0.7
        imageHeader.rotate = None
        imageHeader.rotate_angle = 0
        imageHeader.x_indent = 10
        imageHeader.y_indent = 10
        imageHeader.zoom = .5
        # ім'я файлу зображення, доступного в хмарному сховищі, яке буде додано в заголовок
        imageHeader.file_name = 'Koala.jpg'
        # ширина зображення в заголовку
        imageHeader.width = 120
        # висота зображення в заголовку
        imageHeader.height = 120
        imageHeader.left_margin = 0
        imageHeader.top_margin = 10
        imageHeader.right_margin = 10
        
        # початкова сторінка документа, щоб додати заголовок
        startPage = 1
        # кінцева сторінка документа, щоб додати Верхній колонтитул
        endPage = 2

        # викликати API, щоб додати заголовок зображення в документ PDF і зберегти отриманий файл у хмарному сховищі
        response = pdf_api.post_document_image_header(name = input_file, image_header = imageHeader, start_page_number = startPage, end_page_number=endPage)
        
        # pritn код відповіді в консолі
        print(response)
        
        # друкувати повідомлення в консолі (необов'язково)
        print('Image Header successfully added to PDF !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)
Зображення 3: - Попередній перегляд заголовка зображення додано в PDF.

Зображення 3: - Попередній перегляд заголовка зображення додано в PDF.

Вихідні файли та отриманий файл, створений у наведеному вище прикладі, можна завантажити з

Додавання текстового заголовка до PDF за допомогою команди cURL

Команди cURL забезпечують зручний механізм для доступу до REST API через термінали командного рядка. Оскільки Aspose.PDF Cloud також розроблено відповідно до архітектури REST, ми також можемо отримати доступ до API за допомогою команд cURL. Цей підхід може бути корисним для розробників, які віддають перевагу роботі з інструментами командного рядка або яким потрібно інтегрувати редагування заголовків PDF у більший процес автоматизації.

Тепер, щоб використовувати REST API, нам потрібно згенерувати JSON Web accessToken (JWT) на основі облікових даних вашого клієнта, виконавши таку команду.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=88d1cda8-b12c-4a80-b1ad-c85ac483c5c5&client_secret=406b404b2df649611e508bbcfcd2a77f" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Коли у нас буде маркер JWT, спробуйте використати наступну команду, щоб додати текст у розділ заголовка документа на 1-й і 2-й сторінках.

curl -X POST "https://api.aspose.cloud/v3.0/pdf/awesomeTable.pdf/header/text?startPageNumber=1&endPageNumber=2" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{  \"Background\": false,  \"HorizontalAlignment\": \"Center\",  \"Opacity\": 0.5,  \"Rotate\": \"None\",  \"RotateAngle\": 0,  \"XIndent\": 100,  \"YIndent\": 10,  \"Zoom\": 1.0,  \"TextAlignment\": \"None\",  \"Value\": \"Aspose.PDF Cloud\",  \"TextState\": {    \"FontSize\": 15,    \"Font\": \"Arial\",    \"ForegroundColor\": {      \"A\": 0,      \"R\": 252,      \"G\": 173,      \"B\": 3    },    \"BackgroundColor\": {      \"A\": 10,      \"R\": 0,      \"G\": 0,      \"B\": 0    }  },  \"LeftMargin\": 0,  \"TopMargin\": 0,  \"RightMargin\": 0}"

Додавання заголовка зображення до PDF за допомогою команди cURL

Спробуйте скористатися такою командою cURL, щоб додати заголовок зображення до PDF-документа та зберегти отриманий файл у хмарному сховищі. У наступній команді заголовок зображення для 1-ї та 2-ї сторінок документа, де непрозорість визначена як 0,7, коефіцієнт масштабування – 0,5, а властивості висоти та ширини зображення – 120 точок.

curl -X POST "https://api.aspose.cloud/v3.0/pdf/awesomeTable.pdf/header/image?startPageNumber=1&endPageNumber=2" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{  \"Background\": true,  \"HorizontalAlignment\": \"Right\",  \"Opacity\": 0.7,  \"Rotate\": \"None\",  \"RotateAngle\": 0,  \"XIndent\": 10,  \"YIndent\": 10,  \"Zoom\": .5,  \"FileName\": \"Koala.jpg\",  \"Width\": 120,  \"Height\": 120,  \"LeftMargin\": 0,  \"TopMargin\": 10,  \"RightMargin\": 10}"

Висновок

Підсумовуючи, додавання зображення та тексту до заголовка PDF-документа є корисною функцією, яка може підвищити візуальну привабливість і брендинг ваших документів. З Aspose.PDF Cloud SDK для Python це просте завдання, яке можна виконати лише кількома рядками коду. Незалежно від того, чи створюєте ви рахунки-фактури, звіти чи будь-який інший документ, для якого потрібен заголовок, ця функція може заощадити ваш час і зусилля, одночасно підвищуючи якість результатів. Окрім використання Aspose.PDF Cloud SDK для Python, ми також дізналися, що також можна додавати зображення та текст до заголовків PDF за допомогою команд cURL.

Ми сподіваємося, що ця стаття надала вам усі необхідні вказівки та натхнення для додавання цієї функції до вашої програми Python.

Корисні посилання

Схожі статті

Рекомендуємо переглянути такі статті, щоб дізнатися про: