Aggiungi testo e immagine all'intestazione del PDF

Quando si tratta di creare documenti PDF professionali e visivamente accattivanti, avere la possibilità di aggiungere immagini e testo all’intestazione è una funzionalità imprescindibile. La sezione dell’intestazione è una delle aree più importanti di un documento, in quanto fornisce ai lettori informazioni essenziali come il titolo, l’autore e la data. Mentre aggiungere testo all’intestazione è un processo relativamente semplice, aggiungere immagini può essere più impegnativo, in particolare per gli sviluppatori Python che sono alle prime armi con la generazione di documenti PDF. In questo articolo, esploreremo come aggiungere immagini e testo all’intestazione di un documento PDF utilizzando Python Cloud SDK.

È possibile aggiungere immagini, loghi, la data e l’ora di creazione del documento, il titolo del documento, il numero di versione o revisione, la bozza, il nome dell’autore e i nomi dei capitoli nell’intestazione del PDF.

API REST per l’assemblaggio di documenti PDF

Aspose.PDF Cloud SDK per Python fornisce una varietà di funzioni e metodi che consentono agli sviluppatori di manipolare i file PDF a livello di programmazione. Fornisce inoltre un set di strumenti potente e flessibile per aggiungere immagini e testo alle intestazioni dei documenti PDF e può essere facilmente integrato nelle applicazioni Python per l’elaborazione automatizzata dei documenti PDF. Ora, per quanto riguarda il processo di aggiunta di un’immagine all’intestazione, comporta la specificazione della posizione e delle dimensioni dell’immagine, nonché del numero di pagina su cui l’immagine deve apparire. Allo stesso modo, l’aggiunta di testo all’intestazione richiede la specificazione del contenuto del testo, della dimensione del carattere e di altre opzioni di formattazione. L’SDK fornisce inoltre opzioni per controllare l’allineamento e il posizionamento del contenuto dell’intestazione, nonché per specificare il colore di sfondo dell’intestazione.

Ora, per prima cosa dobbiamo installare l’SDK che è disponibile gratuitamente per il download tramite il repository PIP e GitHub. Basta eseguire il seguente comando per installare l’ultima versione dell’SDK.

pip install asposepdfcloud

Per accedere alla REST API, devi registrarti e ottenere le tue credenziali personali. Dai un’occhiata alla Guida rapida per informazioni correlate.

Aggiungere testo all’intestazione PDF utilizzando Python

L’SDK consente di aggiungere stringhe di testo alla sezione dell’intestazione del documento. Questo requisito può essere soddisfatto procedendo come segue.

  • Per prima cosa, crea un’istanza della classe ApiClient fornendo Client ID e Client Secret come argomenti.
  • In secondo luogo, creare un oggetto della classe PdfApi che accetti l’oggetto ApiClient come argomento di input.
  • In terzo luogo, creare un oggetto TextHeader che definisca le proprietà dell’istanza di TextHeader.
  • Per impostare la formattazione del testo per TextHeader, creiamo un oggetto TextState in cui definiamo il colore di primo piano, la dimensione del carattere, il nome del carattere, ecc.
  • Infine, chiama il metodo postdocumenttextheader(..) per aggiungere un’intestazione di testo al documento PDF e salvare il file risultante nell’archiviazione 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)

        # crea un'istanza di PdfApi passando PdfApiClient come argomento
        pdf_api = PdfApi(pdf_api_client)

        #source PDF file
        input_file = 'awesomeTable.pdf'
        
        # Crea un oggetto che definisce l'intestazione di testo
        textHeader = asposepdfcloud.TextHeader()
        # imposta il valore per rendere l'intestazione in background
        textHeader.background = False
        # imposta l'allineamento orizzontale per l'intestazione del testo come centro
        textHeader.horizontal_alignment = 'Center'
        # imposta l'opacità dell'intestazione su 0,5
        textHeader.opacity = 0.5
        # nessun angolo di rotazione
        textHeader.rotate = None
        textHeader.rotate_angle = 0
        # imposta il valore di rientro X e Y
        textHeader.x_indent = 100
        textHeader.y_indent = 100
        # imposta il fattore di zoom su 1.0
        textHeader.zoom = 1.0
        # il valore del testo da visualizzare all'interno dell'intestazione
        textHeader.value = 'Aspose.PDF Cloud'

        # crea un'istanza di TextState che definisce la formattazione del testo
        textState = asposepdfcloud.TextState(font_size=15, font='Arial', foreground_color=
              {"A": 0,
              "R": 252,
              "G": 173,
              "B": 3},font_style=2)
        # passare l'oggetto TextState a TextHeader
        textHeader.text_state = textState

        # chiama l'API per aggiungere l'intestazione di testo al documento PDF
        response = pdf_api.post_document_text_header(name = input_file, text_header = textHeader)
        
        # stampa il codice di risposta nella console
        print(response)
        # stampa messaggio nella console (facoltativo)
        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)
Intestazione di testo in PDF

Immagine 2: Anteprima dell’intestazione di testo nel documento PDF.

I file di input e PDF risultanti possono essere scaricati da awesomeTable.pdf e awecomeTable-TextHeader.pdf.

Aggiungere un’immagine all’intestazione del PDF utilizzando Python

Seguire le istruzioni sottostanti per aggiungere un oggetto Immagine alla sezione intestazione PDF. Il file risultante viene caricato sullo storage cloud.

  • Per prima cosa, crea un’istanza della classe ApiClient fornendo Client ID e Client Secret come argomenti.
  • In secondo luogo, creare un oggetto della classe PdfApi che accetti l’oggetto ApiClient come argomento di input.
  • Ora crea un oggetto ImageHeader che definisca le proprietà di ImageHeader.
  • Per controllare il rendering dell’intestazione su determinate pagine, vengono assegnati valori ai parametri facoltativi startpagenumber ed endpagenumber.
  • Infine, chiama il metodo postdocumentimageheader(..) per aggiungere l’intestazione dell’immagine al documento PDF e salvare il file risultante nell’archiviazione Cloud. Nota che l’intestazione viene aggiunta solo alle prime due pagine del documento (come specificato nel codice).
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)

        # crea un'istanza di PdfApi passando PdfApiClient come argomento
        pdf_api = PdfApi(pdf_api_client)

        #source PDF file
        input_file = 'awesomeTable.pdf'
        
        # creare istanza ImageHeader
        imageHeader = asposepdfcloud.ImageHeader()
        # imposta la proprietà background come true
        imageHeader.background = True
        # imposta l'allineamento orizzontale come Destra
        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 del file immagine disponibile nell'archiviazione cloud da aggiungere nell'intestazione
        imageHeader.file_name = 'Koala.jpg'
        # larghezza dell'immagine nell'intestazione
        imageHeader.width = 120
        # altezza dell'immagine nell'intestazione
        imageHeader.height = 120
        imageHeader.left_margin = 0
        imageHeader.top_margin = 10
        imageHeader.right_margin = 10
        
        # pagina iniziale del documento a cui aggiungere l'intestazione
        startPage = 1
        # pagina finale del documento per aggiungere l'intestazione
        endPage = 2

        # chiama l'API per aggiungere l'intestazione dell'immagine nel documento PDF e salvare il file risultante nell'archiviazione cloud
        response = pdf_api.post_document_image_header(name = input_file, image_header = imageHeader, start_page_number = startPage, end_page_number=endPage)
        
        # codice di risposta di stampa nella console
        print(response)
        
        # stampa messaggio nella console (facoltativo)
        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)
didascalia

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

I file sorgente e il file risultante generati nell’esempio sopra possono essere scaricati da

Aggiungere un’intestazione di testo al PDF utilizzando il comando cURL

I comandi cURL forniscono un meccanismo conveniente per accedere alle API REST tramite terminali a riga di comando. Poiché Aspose.PDF Cloud è sviluppato anche secondo l’architettura REST, possiamo accedere all’API anche tramite i comandi cURL. Questo approccio può essere utile per gli sviluppatori che preferiscono lavorare con strumenti a riga di comando o che hanno bisogno di integrare la modifica dell’intestazione PDF in un flusso di lavoro di automazione più ampio.

Ora, per poter utilizzare la REST API, dobbiamo generare un JSON Web accessToken (JWT) basato sulle credenziali client eseguendo il seguente 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"

Una volta ottenuto il token JWT, prova a usare il seguente comando per aggiungere del testo nella sezione dell’intestazione del documento, nella prima e nella seconda pagina.

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

Aggiungere l’intestazione dell’immagine al PDF utilizzando il comando cURL

Prova a usare il seguente comando cURL per aggiungere un’intestazione immagine a un documento PDF e salvare il file risultante nell’archiviazione cloud. Nel seguente comando, l’intestazione immagine alla prima e alla seconda pagina del documento in cui l’opacità è definita come 0,7, il fattore di zoom è 0,5 e le proprietà di altezza e larghezza dell’immagine sono definite come 120 punti.

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

Conclusione

In conclusione, aggiungere un’immagine e del testo all’intestazione di un documento PDF è una funzionalità utile che può migliorare l’aspetto visivo e il branding dei tuoi documenti. Con Aspose.PDF Cloud SDK per Python, è un compito semplice da realizzare con solo poche righe di codice. Che tu stia creando fatture, report o qualsiasi altro documento che richieda un’intestazione, questa funzionalità può farti risparmiare tempo e fatica migliorando al contempo la qualità del tuo output. Oltre a utilizzare Aspose.PDF Cloud SDK per Python, abbiamo anche appreso che è possibile aggiungere immagini e testo alle intestazioni PDF utilizzando i comandi cURL.

Ci auguriamo che questo articolo ti abbia fornito tutte le indicazioni e l’ispirazione necessarie per aggiungere questa funzionalità alla tua applicazione Python.

Articoli correlati

Ti consigliamo di leggere i seguenti articoli per saperne di più: