Aggiungi intestazione e piè di pagina al PDF

Un’intestazione è un testo che viene posizionato nell’area del margine in cima a una pagina, mentre un piè di pagina viene posizionato in fondo, o piede, di una pagina. In genere queste aree vengono utilizzate per inserire informazioni sul documento, come il nome del documento, l’intestazione del capitolo, i numeri di pagina, la data di creazione, ecc. Queste informazioni vengono ripetute su ogni pagina e quindi consentono al lettore di navigare facilmente nel documento.

Inoltre, tieni presente che le intestazioni e i piè di pagina sono utili per fornire informazioni rapide sul tuo documento in un formato prevedibile e aiutano anche a impostare le diverse parti di un documento. In questo articolo, impareremo ad aggiungere testo e immagini alle aree di intestazione e piè di pagina dei file PDF utilizzando Aspose.PDF Cloud SDK per Java.

Aggiungi testo all’intestazione usando cURL

I comandi cURL sono un modo entusiasmante per accedere alle API RESTFul tramite il terminale della riga di comando. Poiché Aspose.PDF Cloud SDK è sviluppato secondo i principi REST, è facilmente accessibile tramite prompt dei comandi. Tuttavia, tieni presente che per garantire la privacy dell’utente e l’integrità dei dati, tutte le nostre API sono accessibili solo a persone autorizzate. Pertanto, devi prima visitare Aspose.Cloud dashboard e se hai un account GitHub o Google, registrati semplicemente. Altrimenti, fai clic sul pulsante Crea un nuovo account e fornisci le informazioni richieste. Ora accedi alla dashboard utilizzando le credenziali ed espandi la sezione Applicazioni dalla dashboard e scorri verso il basso fino alla sezione Credenziali client per visualizzare i dettagli ID client e Segreto client.

Il seguente comando mostra come creare un token di accesso JWT che verrà utilizzato per aggiungere testo nell’area dell’intestazione del documento PDF.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=c235e685-1aab-4cda-a95b-54afd63eb87f&client_secret=b8da4ee37494f2ef8da3c727f3a0acb9" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Utilizzare il seguente comando cURL per aggiungere testo nella sezione dell’intestazione del documento PDF.

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithAnnotations.pdf/header/text?startPageNumber=2&endPageNumber=2" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{  \"Background\": true,  \"HorizontalAlignment\": \"CENTER\",  \"Opacity\": 0.8,  \"Rotate\": \"None\",  \"RotateAngle\": 0,  \"XIndent\": 0,  \"YIndent\": 0,  \"Zoom\": 1,  \"TextAlignment\": \"CENTER\",  \"Value\": \"Aspose.PDF Cloud SDK for Java via cURL\",  \"TextState\": {    \"FontSize\": 16,    \"Font\": \"Arial\",    \"ForegroundColor\": {      \"A\": 0,      \"R\": 0xDA,      \"G\": 0xA5,      \"B\": 0x20    },    \"BackgroundColor\": {      \"A\": 0,      \"R\": 0xFA,      \"G\": 0xEB,      \"B\": 0xD7    },  },  \"LeftMargin\": 1,  \"TopMargin\": 20,  \"RightMargin\": 200}"
Intestazione di testo in PDF

Immagine 1:- Intestazione di testo aggiunta tramite comando cURL.

I file di esempio utilizzati in questo esempio possono essere scaricati da:

Aggiungere un’intestazione di testo in un PDF utilizzando Java

Per utilizzare l’SDK, è necessario prima installarlo da Maven o GitHub. Di seguito sono riportati i dettagli su come scaricare e utilizzare Aspose.Pdf.jar nel progetto di build Maven.

Aggiungere le seguenti dipendenze nel file pom.xml.

<repositories>
 <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>https://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>
<dependencies>
 <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-pdf-cloud</artifactId>
        <version>21.1.0</version>
        <scope>compile</scope>
    </dependency>
 </dependencies>

Di seguito sono riportati i passaggi per soddisfare questo requisito.

  • Innanzitutto, crea un’istanza di PdfApi fornendo i dettagli ClientSecret e ClientId
  • In secondo luogo, crea un oggetto Color per definire i dettagli dei colori ForeGround e BackGround.
  • In secondo luogo, creare un oggetto della classe TextState.
  • Utilizzare il metodo fontSize(..) per impostare i dettagli della dimensione del carattere. Il metodo font(..) per definire il tipo di carattere. Il metodo foregroundColor(…) definisce i dettagli del testo in primo piano e il metodo backgroundColor(…) per definire le informazioni sullo sfondo.
  • Ora crea l’oggetto TextHeader e definisci i dettagli del margine.
  • Utilizzare i metodi value(..) per specificare il contenuto dell’oggetto Text Header.
  • Ora chiama il metodo textState(…) e passa l’istanza TextState creata sopra come argomento.
  • Per visualizzare l’intestazione dietro il contenuto della pagina, passare il valore true come argomento al metodo background(…) della classe TextHeader.
  • Ora, per visualizzare l’immagine sul lato sinistro, passare il valore HorizontalAlignment.CENTER al metodo HorizontalAlignment(…).
  • Il metodo opacity(…) indica l’opacità del timbro. Il valore predefinito è 1.0.
  • Dopo aver impostato il valore dello zoom, creiamo l’oggetto AsposeResponse.
  • Infine, chiama il metodo PdfApi.postDocumentTextHeader(…) e passa come argomenti il nome del file PDF sorgente, l’oggetto TextHeader, le pagine iniziale e finale (dove è necessario aggiungere il timbro).
// Ottieni ClientID e ClientSecret da https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// crea istanzaPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// documento PDF di input
String sourcePDF = "PdfWithAnnotations.pdf";

// pagina iniziale del PDF per posizionare l'immagine dell'intestazione
int startPage = 2;

// pagina finale del PDF per posizionare l'immagine dell'intestazione
int endPage = 3;
		        
// specificare il colore di primo piano come SlateBlue nel codice esadecimale
Color foregroundColor = new Color();
foregroundColor.setA(0x00);
foregroundColor.setR(0x6A);
foregroundColor.setG(0x5A);
foregroundColor.setB(0xCD);

// specificare il colore di sfondo come AntiqueWhite nel codice esadecimale
Color backgroundColor = new Color();
backgroundColor.setA(0x00);
backgroundColor.setR(0xFA);
backgroundColor.setG(0xEB);
backgroundColor.setB(0xD7);

// Crea un oggetto TextState per definire i dettagli di dimensione, tipo e colore del carattere
TextState textState = new TextState()
  .fontSize(16.)
  .foregroundColor(foregroundColor)
  .backgroundColor(backgroundColor)
  .font("Arial");
		        
// crea un'istanza dell'oggetto TextHeader
TextHeader headerObject = new TextHeader()    
  .leftMargin(1.)
  .rightMargin(200.)
  .topMargin(10.)
	
  // il contenuto dell'intestazione di testo da rendere
  .value("Aspose.PDF Cloud SDK For Java")
	
  // imposta l'allineamento come centro
  .textAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
  .textState(textState);
	
  // imposta il testo dell'intestazione dietro il contenuto della pagina
  headerObject.background(true)
	
  // imposta l'allineamento dell'intestazione del testo come Centro
  .horizontalAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
	
  // imposta l'opacità dell'intestazione di testo su 0,8
  .opacity(0.8)
  .rotate(com.aspose.asposecloudpdf.model.Rotation.NONE)
  .rotateAngle(0.)
  .xindent(2.0)
  .yindent(5.0)
  .zoom(1.0);

// chiama il metodo API per aggiungere l'intestazione di testo al PDF
AsposeResponse response = pdfApi.postDocumentTextHeader(sourcePDF, headerObject,startPage, endPage, null, null);
assertEquals(200, (int)response.getCode());
Intestazione di testo aggiunta in Java

Immagine 2: Anteprima dell’intestazione di testo aggiunta con Java.

Per aggiungere testo nell’area del piè di pagina, crea un’istanza della classe TextFooter e chiama il metodo postDocumentTextFooter(…) della classe PdfApi. I passaggi e i dettagli rimanenti rimarranno gli stessi di quelli menzionati sopra per l’aggiunta dell’intestazione di testo.

Immagine nell’intestazione PDF utilizzando cURL

Possiamo aggiungere facilmente file di immagini usando l’API PostDocumentImageHeader nella sezione dell’intestazione del file PDF usando il comando cURL. Mentre aggiungiamo un timbro di immagine, abbiamo la possibilità di specificare i dettagli di HorizontalAlignment, Opacity, RotateAngle, Zoom factor of image, Width, Height, LeftMargin, TopMargin, RightMargin, ecc.

Il parametro name definisce il documento PDF di input/sorgente, imageHeader specifica il file immagine da timbrare, la proprietà startPageNumber definisce la pagina iniziale e endPageNumber la pagina finale del documento PDF per contenere i timbri immagine. Nel seguente comando cURL, la proprietà Background è impostata su false in modo che l’immagine sia visibile. HorizontalAlignment è specificato come Left, il valore Opacity è definito come 0,8, il fattore Zoom è impostato come 1, la Width è definita come 250, l’Height è definita come 80 punti e RightMargin è specificato come 500 punti.

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithAnnotations.pdf/header/image?startPageNumber=2&endPageNumber=2" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"  \
-H  "Content-Type: application/json" \
-d "{"Background":false,"HorizontalAlignment":'Left',"Opacity": .8,"Rotate":'None',"RotateAngle": 0,"XIndent": 2,"YIndent": 5,"Zoom": 1,"FileName": 'asposetoolsnew.png',"Width": 250,"Height": 80,"LeftMargin": 1,"TopMargin": 10,"RightMargin": 500}"
Timbro immagine nell'intestazione

Immagine 3:- Timbro dell’immagine nella sezione Intestazione del PDF.

I file di esempio utilizzati nell’esempio precedente possono essere scaricati dal seguente link:

Aggiungere un’immagine nell’intestazione utilizzando Java

Aspose.PDF Cloud SDK per Java fornisce una straordinaria funzionalità per aggiungere un’intestazione immagine in un file PDF con meno righe di codice.

Di seguito sono riportati i passaggi su come aggiungere l’intestazione dell’immagine nel documento PDF

  • Crea un oggetto di PdfApi fornendo i dettagli ClientSecret e ClientId.
  • In secondo luogo, creare un oggetto della classe ImageHeader.
  • Utilizzare i metodi width(..) e height(…) della classe ImageHeader per impostare i dettagli di larghezza e altezza dell’immagine.
  • Ora utilizza il metodo fileName(…) per impostare i dettagli del percorso per l’immagine di intestazione.
  • Per visualizzare l’immagine dietro il contenuto della pagina, passare l’argomento false al metodo background(…).
  • Ora, per visualizzare l’immagine sul lato sinistro, passare il valore HorizontalAlignment.LEFT al metodo HorizontalAlignment(…).
  • Il metodo opacity(…) indica l’opacità del timbro. Il valore predefinito è 1.0.
  • Dopo aver impostato il valore dello zoom, creiamo l’oggetto AsposeResponse.
  • Infine, chiama il metodo PdfApi.postDocumentImageHeader(…) passando il nome del file PDF sorgente, l’oggetto ImageHeader, le pagine di inizio e fine (dove è necessario aggiungere il timbro) come argomenti a questo metodo.
// Ottieni ClientID e ClientSecret da https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// crea istanzaPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// documento PDF di input
String sourcePDF = "PdfWithAnnotations.pdf";

// pagina iniziale del PDF per posizionare l'immagine dell'intestazione
int startPage = 2;

// pagina finale del PDF per posizionare l'immagine dell'intestazione
int endPage = 3;
		        
// crea un'istanza dell'oggetto ImageHeader
ImageHeader headerObject = new ImageHeader()
	.width(250.0)
	.height(80.0)
	.leftMargin(1.)
	.rightMargin(500.)
	.topMargin(10.)
	.fileName("asposetoolsnew.png");
	
	// porta l'immagine dell'intestazione in primo piano/visibile
	headerObject.background(false)
	
	// imposta l'allineamento dell'intestazione dell'immagine come Sinistra
	.horizontalAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.LEFT)
	.opacity(0.8)
	.rotate(com.aspose.asposecloudpdf.model.Rotation.NONE)
	.rotateAngle(0.)
	.xindent(2.0)
	.yindent(5.0)
	.zoom(1.0);

// chiama il metodo API per aggiungere l'immagine dell'intestazione nel PDF
AsposeResponse response = pdfApi.postDocumentImageHeader(sourcePDF, headerObject,startPage, endPage, null, null);

Per aggiungere un’immagine nell’area del footer, crea un oggetto della classe ImageFooter e chiama il metodo postDocumentImageFooter(…) della classe pdfApi. Il resto dei passaggi rimarrà lo stesso spiegato sopra per la sezione Immagine nell’intestazione sopra.

Conclusione

In questo articolo, abbiamo discusso i passaggi su come accedere ad Aspose.PDF Cloud tramite comandi cURL per aggiungere testo e immagini nelle aree intestazione/piè di pagina dei documenti PDF. Abbiamo anche esplorato i passaggi per installare Aspose.PDF Cloud SDK per Java e utilizzarlo nel linguaggio Java per aggiungere testo e immagini nella sezione intestazione o piè di pagina del file PDF. Per maggiori dettagli su altre interessanti funzionalità dell’API, esplora documentazione del prodotto.

Tutti i nostri Cloud SDK sono OpenSource, quindi è possibile scaricare il codice sorgente completo da GitHub.