Adicionar texto e imagem ao cabeçalho do PDF

Quando se trata de criar documentos PDF profissionais e visualmente atraentes, ter a capacidade de adicionar imagens e texto ao cabeçalho é um recurso essencial. A seção de cabeçalho é uma das áreas mais importantes de um documento, pois fornece aos leitores informações essenciais, como título, autor e data. Embora adicionar texto ao cabeçalho seja um processo relativamente simples, adicionar imagens pode ser mais desafiador, principalmente para desenvolvedores Python que são novos na geração de documentos PDF. Neste artigo, exploraremos como adicionar imagem e texto ao cabeçalho de um documento PDF usando o Python Cloud SDK.

Você pode adicionar imagens, logotipos, a data e a hora em que o documento foi criado, o título do documento, o número da versão ou revisão, o rascunho, o nome do autor e os nomes dos capítulos no cabeçalho do PDF.

API REST para montagem de documentos PDF

Aspose.PDF Cloud SDK para Python fornece uma variedade de funções e métodos que permitem aos desenvolvedores manipular arquivos PDF programaticamente. Ele também fornece um conjunto poderoso e flexível de ferramentas para adicionar imagens e texto a cabeçalhos de documentos PDF, e pode ser facilmente integrado em aplicativos Python para processamento automatizado de documentos PDF. Agora, em relação ao processo de adicionar uma imagem ao cabeçalho, ele envolve especificar a localização e as dimensões da imagem, bem como o número da página na qual a imagem deve aparecer. Da mesma forma, adicionar texto ao cabeçalho requer especificar o conteúdo do texto, o tamanho da fonte e outras opções de formatação. O SDK também fornece opções para controlar o alinhamento e o posicionamento do conteúdo do cabeçalho, bem como para especificar a cor de fundo do cabeçalho.

Agora, primeiro precisamos instalar o SDK que está disponível gratuitamente para download no repositório PIP e GitHub. Simplesmente execute o seguinte comando para instalar a versão mais recente do SDK.

pip install asposepdfcloud

Para acessar a REST API, você precisa se registrar e obter suas credenciais pessoais. Dê uma olhada no Guia de início rápido para obter informações relacionadas.

Adicionar texto ao cabeçalho do PDF usando Python

O SDK permite que você adicione sequências de texto à seção de cabeçalho do documento e esse requisito pode ser atendido seguindo as etapas a seguir.

  • Primeiro, crie uma instância da classe ApiClient e forneça o ID do cliente e o segredo do cliente como argumentos.
  • Em segundo lugar, crie um objeto da classe PdfApi que receba o objeto ApiClient como argumento de entrada.
  • Terceiro, crie um objeto de TextHeader definindo propriedades da instância de TextHeader.
  • Para definir a formatação de texto para TextHeader, crie um objeto de TextState onde definimos a cor de primeiro plano, tamanho da fonte, nome da fonte etc.
  • Por fim, chame o método postdocumenttextheader(..) para adicionar o Cabeçalho de Texto ao documento PDF e salvar o arquivo resultante no armazenamento em Cloud.
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)

        # crie uma instância PdfApi enquanto passa PdfApiClient como argumento
        pdf_api = PdfApi(pdf_api_client)

        #source PDF file
        input_file = 'awesomeTable.pdf'
        
        # Crie um objeto definindo o Cabeçalho de Texto
        textHeader = asposepdfcloud.TextHeader()
        # defina o valor para renderizar o cabeçalho em segundo plano
        textHeader.background = False
        # defina o alinhamento horizontal para o cabeçalho de texto como central
        textHeader.horizontal_alignment = 'Center'
        # defina a opacidade do cabeçalho como 0,5
        textHeader.opacity = 0.5
        # sem ângulo de rotação
        textHeader.rotate = None
        textHeader.rotate_angle = 0
        # definir valor de recuo X e Y
        textHeader.x_indent = 100
        textHeader.y_indent = 100
        # defina o fator de zoom como 1.0
        textHeader.zoom = 1.0
        # o valor do texto a ser renderizado dentro do cabeçalho
        textHeader.value = 'Aspose.PDF Cloud'

        # crie uma instância de TextState definindo a formatação do texto
        textState = asposepdfcloud.TextState(font_size=15, font='Arial', foreground_color=
              {"A": 0,
              "R": 252,
              "G": 173,
              "B": 3},font_style=2)
        # passar objeto TextState para TextHeader
        textHeader.text_state = textState

        # chame a API para adicionar cabeçalho de texto ao documento PDF
        response = pdf_api.post_document_text_header(name = input_file, text_header = textHeader)
        
        # imprimir código de resposta no console
        print(response)
        # imprimir mensagem no console (opcional)
        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)
Cabeçalho de texto em PDF

Imagem 2:- Visualização do cabeçalho de texto no documento PDF.

Os arquivos PDF de entrada e resultantes podem ser baixados de awesomeTable.pdf e awecomeTable-TextHeader.pdf.

Adicionar imagem ao cabeçalho do PDF usando Python

Siga as instruções abaixo para adicionar um objeto Image à seção de cabeçalho do PDF. O arquivo resultante é carregado no armazenamento em nuvem.

  • Primeiro, crie uma instância da classe ApiClient e forneça o ID do cliente e o segredo do cliente como argumentos.
  • Em segundo lugar, crie um objeto da classe PdfApi que receba o objeto ApiClient como argumento de entrada.
  • Agora crie um objeto de ImageHeader definindo propriedades de ImageHeader.
  • Para controlar a renderização do cabeçalho em determinadas páginas, valores são atribuídos aos parâmetros opcionais startpagenumber e endpagenumber.
  • Por fim, chame o método postdocumentimageheader(..) para adicionar o Cabeçalho de Imagem ao documento PDF e salvar o arquivo resultante no armazenamento em Cloud. Observe que o cabeçalho é adicionado apenas às duas primeiras páginas do documento (conforme especificado no código).
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)

        # crie uma instância PdfApi enquanto passa PdfApiClient como argumento
        pdf_api = PdfApi(pdf_api_client)

        #source PDF file
        input_file = 'awesomeTable.pdf'
        
        # criar instância ImageHeader
        imageHeader = asposepdfcloud.ImageHeader()
        # defina a propriedade background como true
        imageHeader.background = True
        # definir alinhamento horizontal como Direito
        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
        # nome do arquivo de imagem disponível no armazenamento em nuvem para ser adicionado no cabeçalho
        imageHeader.file_name = 'Koala.jpg'
        # largura da imagem no cabeçalho
        imageHeader.width = 120
        # altura da imagem no cabeçalho
        imageHeader.height = 120
        imageHeader.left_margin = 0
        imageHeader.top_margin = 10
        imageHeader.right_margin = 10
        
        # página inicial do documento para adicionar cabeçalho
        startPage = 1
        # página final do documento para adicionar cabeçalho
        endPage = 2

        # chame a API para adicionar o cabeçalho da imagem no documento PDF e salvar o arquivo resultante no armazenamento em nuvem
        response = pdf_api.post_document_image_header(name = input_file, image_header = imageHeader, start_page_number = startPage, end_page_number=endPage)
        
        # imprima o código de resposta no console
        print(response)
        
        # imprimir mensagem no console (opcional)
        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.

Image 3:- Preview of Image Header added in PDF.

Os arquivos de origem e o arquivo resultante gerado no exemplo acima podem ser baixados de

Adicionar cabeçalho de texto ao PDF usando o comando cURL

Os comandos cURL fornecem um mecanismo conveniente para acessar APIs REST por meio de terminais de linha de comando. Como o Aspose.PDF Cloud também é desenvolvido conforme a arquitetura REST, também podemos acessar a API usando comandos cURL. Essa abordagem pode ser útil para desenvolvedores que preferem trabalhar com ferramentas de linha de comando ou que precisam integrar a edição de cabeçalhos de PDF em um fluxo de trabalho de automação maior.

Agora, para usar a API REST, precisamos gerar um JSON Web accessToken (JWT) com base na sua credencial de cliente, executando o seguinte comando.

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"

Depois que tivermos o token JWT, tente usar o seguinte comando para adicionar texto na seção de cabeçalho do documento na 1ª e 2ª páginas.

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}"

Adicionar cabeçalho de imagem ao PDF usando o comando cURL

Tente usar o seguinte comando cURL para adicionar um Cabeçalho de Imagem a um documento PDF e salvar o arquivo resultante no armazenamento em nuvem. No comando a seguir, o cabeçalho da imagem para a 1ª e 2ª página do documento onde a opacidade é definida como 0,7, o fator de zoom é 0,5 e as propriedades de altura e largura da imagem são definidas como 120 pontos.

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}"

Conclusão

Concluindo, adicionar uma imagem e texto ao cabeçalho de um documento PDF é um recurso útil que pode melhorar o apelo visual e a marca dos seus documentos. Com o Aspose.PDF Cloud SDK para Python, é uma tarefa simples de realizar com apenas algumas linhas de código. Quer você esteja criando faturas, relatórios ou qualquer outro documento que exija um cabeçalho, esse recurso pode economizar tempo e esforço, ao mesmo tempo em que melhora a qualidade da sua saída. Além de usar o Aspose.PDF Cloud SDK para Python, também aprendemos que também é possível adicionar imagens e texto aos cabeçalhos de PDF usando comandos cURL.

Esperamos que este artigo tenha fornecido toda a orientação e inspiração necessárias para adicionar essa funcionalidade ao seu aplicativo Python.

Artigos relacionados

Recomendamos que você visite os seguintes artigos para saber mais sobre: