Aggiungere grafica vettoriale ai file PDF è una necessità comune per generare report, fatture e documenti interattivi. Conholdate.Total for Java è un SDK potente che semplifica la manipolazione dei PDF lato server. In questa guida imparerai come inserire rettangoli, ellissi e linee in un PDF usando un oggetto Graph, configurare il loro aspetto e gestire le considerazioni sulle prestazioni, il tutto con chiari esempi di codice Java.

Passaggi per aggiungere forme a PDF in Java

  1. Aggiungi il repository Maven e la dipendenza - Includi il repository Maven di Conholdate e la dipendenza conholdate-total nel tuo pom.xml. Questo rende disponibili le classi SDK come Document, Page e Graph.
    <repositories>
        <repository>
            <id>conholdate-repo</id>
            <name>Conholdate Maven Repository</name>
            <url>https://repository.conholdate.com/repo/</url>
        </repository>
    </repositories>
    
  1. Crea il documento PDF e una pagina - Crea un’istanza di Document e aggiungi una pagina alla sua collezione di pagine. La classe è documentata nella API reference.
// Create Document instance
Document doc = new Document();
// Add page to pages collection of PDF file
com.aspose.pdf.Page page = doc.getPages().add();
  1. Crea oggetti Shape - Crea prima un oggetto Graph, quindi istanzia rettangoli, ellissi o linee e aggiungili alla sua collezione di forme. Imposta posizione, dimensione e attributi visivi tramite il GraphInfo di ciascuna forma.
    // Create Graph instance
    com.aspose.pdf.drawing.Graph graph = new com.aspose.pdf.drawing.Graph(100, 600);
    

// Rectangle com.aspose.pdf.drawing.Rectangle rect = new com.aspose.pdf.drawing.Rectangle(100, 100, 170, 120); graph.getShapes().add(rect);

// Ellipse com.aspose.pdf.drawing.Ellipse ellipse = new com.aspose.pdf.drawing.Ellipse(300, 150, 150, 100); ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen()); ellipse.getGraphInfo().setLineWidth(1.5f); graph.getShapes().add(ellipse);

// Line com.aspose.pdf.drawing.Line line = new com.aspose.pdf.drawing.Line((new float[]{100, 300, 400, 300})); line.getGraphInfo().setColor(com.aspose.pdf.Color.getRed()); line.getGraphInfo().setLineWidth(3); graph.getShapes().add(line);

<!--[CODE_SNIPPET_END]-->

4. **Aggiungi forme a una pagina** - Le singole forme sono contenute nella collezione di forme dell'oggetto `Graph`. Aggiungi l'oggetto `Graph` stesso alla collezione di paragrafi della pagina in modo che tutte le forme contenute vengano renderizzate su quella pagina.  
<!--[CODE_SNIPPET_START]-->
```java
// Add graph object to paragraphs collection of page instance
page.getParagraphs().add(graph);
  1. Salva il PDF aggiornato - Dopo che il grafico (con tutte le sue forme) è stato aggiunto alla pagina, salva il documento in un nuovo file.
// Save PDF file
doc.save("Shapes.pdf");

Aggiungere forme a PDF in Java - Esempio di codice completo

L’esempio seguente combina tutti i passaggi in un unico programma pronto per l’esecuzione.

import com.aspose.pdf.Document;
import com.aspose.pdf.Color;

public class AddShapesDemo {
    public static void main(String[] args) throws Exception {
        // Create Document instance
        Document doc = new Document();
        // Add page to pages collection of PDF file
        com.aspose.pdf.Page page = doc.getPages().add();

// Create Graph instance
        com.aspose.pdf.drawing.Graph graph = new com.aspose.pdf.drawing.Graph(100, 600);

// Create Rectangle instance
        com.aspose.pdf.drawing.Rectangle rect = new com.aspose.pdf.drawing.Rectangle(100, 100, 170, 120);
        // Add rectangle object to shapes collection of Graph object
        graph.getShapes().add(rect);

// Create ellipse
        com.aspose.pdf.drawing.Ellipse ellipse = new com.aspose.pdf.drawing.Ellipse(300, 150, 150, 100);
        ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
        ellipse.getGraphInfo().setLineWidth(1.5f);
        // Add ellipse object to shapes collection of Graph object
        graph.getShapes().add(ellipse);

// Create line
        com.aspose.pdf.drawing.Line line = new com.aspose.pdf.drawing.Line((new float[]{100, 300, 400, 300}));
        line.getGraphInfo().setColor(com.aspose.pdf.Color.getRed());
        line.getGraphInfo().setLineWidth(3);
        // Add line object to shapes collection of Graph object
        graph.getShapes().add(line);

// Add graph object to paragraphs collection of page instance
        page.getParagraphs().add(graph);

// Save PDF file
        doc.save("Shapes.pdf");
    }
}

Nota: Questo esempio di codice dimostra la funzionalità principale. Prima di utilizzarlo nel tuo progetto, assicurati di aggiornare il percorso del file di output (Shapes.pdf) per corrispondere alla tua posizione di destinazione effettiva, verifica che tutte le dipendenze richieste siano correttamente installate e testa accuratamente nel tuo ambiente di sviluppo. Se riscontri problemi, consulta la documentazione ufficiale o contatta il team di supporto per assistenza.

Installazione e Configurazione in Java

Per iniziare a utilizzare Conholdate.Total for Java, scarica l’ultima versione dal sito ufficiale e aggiungi la dipendenza Maven mostrata in precedenza. L’SDK funziona su qualsiasi runtime Java 8+ e non richiede librerie native aggiuntive.

Caratteristiche principali e panoramica

Aggiungere forme a PDF in Java con Conholdate.Total

Conholdate.Total for Java fornisce un’API unificata per creare e modificare contenuti PDF. La funzionalità di disegno delle forme funziona con grafica vettoriale tramite l’oggetto Graph e la sua collezione di forme, garantendo che gli elementi aggiunti rimangano nitidi a qualsiasi livello di zoom. È possibile disegnare primitive di base (rettangolo, ellisse, linea) e combinare diverse di esse all’interno di un singolo Graph prima di posizionarlo su una pagina.

Caratteristiche di Conholdate.Total importanti per questo compito

  • Compatibilità cross‑platform: Funziona su server Windows, Linux e macOS.
  • Rendering ad alte prestazioni: Le forme vengono renderizzate utilizzando lo stesso motore che genera contenuti PDF nativi, evitando la rasterizzazione.
  • Controllo completo sull’aspetto: Imposta il colore del tratto e lo spessore della linea per ogni forma tramite il suo oggetto GraphInfo.
  • Grafica raggruppata: Aggiungi più forme a un unico oggetto Graph in modo che possano essere posizionate e gestite insieme nella pagina.

Configurazione delle proprietà della forma per una resa ottimale

Quando si aggiungono forme, considerare le seguenti proprietà per ottenere il risultato visivo desiderato:

  • Posizione e Dimensione: I costruttori di forma accettano coordinate e dimensioni in punti, ad es. new Rectangle(100, 100, 170, 120) o new Ellipse(300, 150, 150, 100).
  • Posizionamento del Grafico: L’oggetto Graph stesso è posizionato con new Graph(width, height) e aggiunto a una pagina tramite page.getParagraphs().add(graph).
  • Colori: Utilizzare la classe com.aspose.pdf.Color (ad esempio Color.getGreen() o Color.getRed()) e impostarla su una forma tramite shape.getGraphInfo().setColor(...).
  • Spessore della Linea: Impostare con shape.getGraphInfo().setLineWidth(...), misurato in punti; un valore di 1 corrisponde a 1/72 di pollice.
  • Linee: Una forma Line viene creata da un array di coordinate, ad es. new Line(new float[]{100, 300, 400, 300}), che rappresenta i punti di inizio e fine della linea.

Esempio di impostazione dell’aspetto della forma:

ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
ellipse.getGraphInfo().setLineWidth(1.5f);

Considerazioni sulle prestazioni quando si aggiungono forme ai PDF

L’aggiunta di molti oggetti vettoriali può aumentare i tempi di elaborazione e l’utilizzo della memoria. Segui queste linee guida:

  • Batch Drawing: Raggruppa le forme correlate in un unico oggetto Graph prima di aggiungere quel grafico alla pagina.
  • Reuse Objects: Se hai bisogno di forme identiche su più pagine, riutilizza la logica di configurazione delle forme invece di duplicarla.
  • Avoid Over‑Scaling: Definisci le forme nella dimensione finale di visualizzazione per evitare costose conversioni raster.
  • Dispose Resources: Salva e rilascia il Document tempestivamente una volta aggiunte tutte le forme.

Conclusione

Conholdate.Total for Java offre agli sviluppatori Java un modo semplice per aggiungere forme ai documenti PDF, consentendo la creazione di report e fatture ricchi e interattivi. Seguendo i passaggi, i suggerimenti di configurazione e le linee guida sulle prestazioni in questa guida, è possibile integrare grafica vettoriale nel flusso di lavoro PDF con fiducia. Ricorda di ottenere una licenza adeguata per l’uso in produzione; è disponibile una licenza temporanea per la valutazione, e i dettagli completi dei prezzi sono elencati nella pagina dei prezzi.

FAQ

Devo creare un oggetto Graph per ogni forma?
No. Un singolo oggetto Graph può contenere più forme — rettangoli, ellissi e linee possono tutti essere aggiunti alla stessa collezione di forme del grafico prima che il grafico venga aggiunto alla pagina.

È possibile aggiungere forme a una pagina specifica di un PDF multipagina?
Sì. Recupera la pagina di destinazione da doc.getPages() e chiama page.getParagraphs().add(graph) su quella specifica istanza Page.

In quali formati di file posso esportare dopo aver aggiunto forme?
Il metodo Document.save() di Conholdate.Total for Java può scrivere in PDF così come in altri formati supportati dall’SDK. Usa doc.save("Shapes.pdf") per salvare il risultato come file PDF standard.