Добавить текст и изображение в заголовок 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, вам необходимо зарегистрироваться и получить персональные учетные данные. Пожалуйста, ознакомьтесь с Quick Start guide для получения соответствующей информации.

Добавить текст в заголовок 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 и awesomeTable-TextHeader.pdf.

Добавить изображение в заголовок PDF-файла с помощью Python

Пожалуйста, следуйте инструкциям ниже, чтобы добавить объект изображения в раздел заголовка 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()
        # установите свойство фона как 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)
        
        # код ответа printn в консоли
        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)
заголовок

Image 3:- Preview of Image Header added in 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.

Полезные ссылки

Похожие статьи

Мы рекомендуем вам ознакомиться со следующими статьями, чтобы узнать больше о: