Aggiungere note personalizzate o filigrane spesso richiede di aggiungere testo a PDF nelle applicazioni Java. Conholdate.Total for Java è un potente SDK che consente agli sviluppatori di modificare i file PDF in modo programmatico. Questa guida ti accompagna attraverso i prerequisiti, una dettagliata analisi del codice e un esempio completo, così potrai sovrapporre testo personalizzato sui PDF esistenti con facilità.

Prerequisiti e configurazione

Prima di iniziare, assicurati di avere quanto segue:

  • Java 8 o versioni successive installate.
  • Maven per la gestione delle dipendenze.
  • Un IDE come IntelliJ IDEA o Eclipse.
  • Una licenza valida di Conholdate.Total for Java per l’uso in produzione (vedi la sezione sulla licenza più avanti).

Aggiungi il repository Maven di Conholdate e la dipendenza SDK al tuo pom.xml:

<repositories>
    <repository>
        <id>conholdate-repo</id>
        <name>Conholdate Maven Repository</name>
        <url>https://repository.conholdate.com/repo/</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.conholdate</groupId>
    <artifactId>conholdate-total</artifactId>
    <version>24.9</version>
    <type>pom</type>
</dependency>

Scarica i binari SDK più recenti dalla pagina di download. Dopo che la compilazione Maven ha avuto successo, sei pronto per iniziare a programmare. La sezione successiva mostra esattamente come caricare un PDF e inserire del testo.

Aggiungi testo a PDF in Java: Guida passo passo

Di seguito è una breve panoramica di ciascun passaggio logico. Il codice sorgente completo è riprodotto più avanti nella sezione Esempio di Codice Completo.

Passo 1: Apri il PDF e crea un TextBuilder

Innanzitutto, apri il PDF di origine con la classe Document, quindi crea un TextBuilder che punta alla pagina a cui desideri aggiungere il testo.

String dataDir = "path/to/your/document/directory/";

// Open document
Document doc = new Document(dataDir + "Conholdate.pdf");
TextBuilder builder = new TextBuilder(doc.getPages().get_Item(1));

Le classi Document e TextBuilder sono documentate nella riferimento API.

Passo 2: Crea e configura un TextParagraph

Costruisci un TextParagraph e configura il suo layout: l’indentazione applicata alle righe successive, il rettangolo che delimita l’area di testo nella pagina e la modalità di word‑wrap.

// Create text paragraph
TextParagraph paragraph = new TextParagraph();
// Set subsequent lines indent
paragraph.setSubsequentLinesIndent(20);
// Specify the location to add TextParagraph
paragraph.setRectangle(new Rectangle(100, 300, 200, 700));
// Specify word wrapping mode
paragraph.getFormattingOptions().setWrapMode(TextFormattingOptions.WordWrapMode.ByWords);

Passo 3: Crea un TextFragment e configura il font

Crea un TextFragment contenente il testo che desideri sovrapporre, quindi imposta il suo carattere e la dimensione del carattere tramite getTextState().

// Create text fragment
TextFragment fragment1 = new TextFragment("the quick brown fox jumps over the lazy dog");
fragment1.getTextState().setFont(FontRepository.findFont("Times New Roman"));
fragment1.getTextState().setFontSize(12);

Passo 4: Aggiungi il frammento e il paragrafo

Aggiungi il frammento di testo come una riga all’interno del paragrafo, quindi aggiungi il paragrafo alla pagina tramite il TextBuilder.

// Add fragment to paragraph
paragraph.appendLine(fragment1);
// Add paragraph
builder.appendParagraph(paragraph);

Passo 5: Salva il PDF modificato

Infine, costruisci il percorso di output e salva il documento risultante.

dataDir = dataDir + "AddText_out.pdf";

// Save resulting PDF document.
doc.save(dataDir);

Con questi passaggi, hai completato il flusso di lavoro di inserimento del testo PDF.

Esempio completo di codice: Inserire testo in PDF in Java

Il seguente esempio dimostra l’intero processo, dal caricamento del file sorgente al salvataggio del PDF aggiornato.

Questo esempio dimostra come aggiungere testo a un PDF esistente utilizzando Conholdate.Total for Java.

import com.aspose.pdf.Document;
import com.aspose.pdf.TextBuilder;
import com.aspose.pdf.TextParagraph;
import com.aspose.pdf.Rectangle;
import com.aspose.pdf.TextFormattingOptions;
import com.aspose.pdf.TextFragment;
import com.aspose.pdf.FontRepository;

public class AddTextToPdf {
    public static void main(String[] args) {
        String dataDir = "path/to/your/document/directory/";

// Open document
        Document doc = new Document(dataDir + "Conholdate.pdf");
        TextBuilder builder = new TextBuilder(doc.getPages().get_Item(1));

// Create text paragraph
        TextParagraph paragraph = new TextParagraph();
        // Set subsequent lines indent
        paragraph.setSubsequentLinesIndent(20);
        // Specify the location to add TextParagraph
        paragraph.setRectangle(new Rectangle(100, 300, 200, 700));
        // Specify word wrapping mode
        paragraph.getFormattingOptions().setWrapMode(TextFormattingOptions.WordWrapMode.ByWords);

// Create text fragment
        TextFragment fragment1 = new TextFragment("the quick brown fox jumps over the lazy dog");
        fragment1.getTextState().setFont(FontRepository.findFont("Times New Roman"));
        fragment1.getTextState().setFontSize(12);

// Add fragment to paragraph
        paragraph.appendLine(fragment1);
        // Add paragraph
        builder.appendParagraph(paragraph);

dataDir = dataDir + "AddText_out.pdf";

// Save resulting PDF document.
        doc.save(dataDir);
    }
}

Nota: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare dataDir per puntare alla tua directory di documenti reale (contenente Conholdate.pdf), verifica che tutte le dipendenze richieste siano correttamente installate e testa accuratamente nell’ambiente di sviluppo. Se incontri problemi, consulta la documentazione ufficiale o contatta il team di supporto per assistenza.

Conclusione

In questo tutorial abbiamo mostrato come aggiungere testo a un PDF in Java utilizzando le robuste funzionalità di Conholdate.Total for Java. Seguendo la procedura passo‑passo, è possibile creare in modo affidabile paragrafi di testo con TextBuilder e TextParagraph, controllare lo stile dei caratteri tramite TextFragment e salvare il documento modificato. L’SDK gestisce internamente le coordinate della pagina PDF e il rendering del testo, così puoi concentrarti sulla logica di business. Ricorda di acquisire una licenza adeguata per l’uso in produzione; puoi ottenere una licenza temporanea dalla pagina della licenza temporanea o esplorare le opzioni di prezzo nella pagina dei prezzi. Con questi strumenti a disposizione, migliorare i PDF con testo personalizzato diventa una parte semplice della tua applicazione Java.

FAQs

  • Come aggiungere testo a un PDF in Java senza sovrascrivere il contenuto esistente?
    Usa builder.appendParagraph(paragraph) come mostrato nell’esempio; TextBuilder aggiunge il nuovo paragrafo alla pagina di destinazione, preservando qualsiasi contenuto esistente.

  • È possibile aggiungere un testo di filigrana personalizzato a PDF in Java?
    Sì. Lo stesso approccio funziona per le filigrane — crea un TextFragment con il testo di filigrana desiderato, configura un font e una dimensione adeguati (o la trasparenza tramite lo stato del testo), e aggiungilo tramite un TextParagraph su ogni pagina.

  • Cosa devo fare se il testo inserito non appare correttamente per alcune lingue?
    Scegli un font che supporti il set di caratteri richiesto con FontRepository.findFont(). L’SDK rispetta le impostazioni del font applicate tramite getTextState(), e la documentazione fornisce indicazioni su come gestire script diversi.

  • Posso elaborare in batch più PDF per aggiungere lo stesso testo?
    Assolutamente. Avvolgi il codice all’interno di un ciclo che itera su un elenco di percorsi di file, riutilizzando la stessa logica Document/TextBuilder per ogni file.

Leggi di più