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, 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
- Aggiungere repository Maven e dipendenza – Includi il repository Maven Conholdate e la dipendenza
conholdate-totalnel tuopom.xml. Questo rende disponibili le classi SDK comePdfDocumenteShapeFactory.<repositories> <repository> <id>conholdate-repo</id> <name>Conholdate Maven Repository</name> <url>https://repository.conholdate.com/repo/</url> </repository> </repositories>
Carica il documento PDF - Crea un’istanza di
PdfDocumente apri il file PDF di destinazione. La classe è documentata nella riferimento API.PdfDocument pdf = new PdfDocument(); pdf.open("input.pdf");Crea oggetti Shape - Usa
ShapeFactoryper istanziare rettangoli, ellissi o linee. Imposta posizione, dimensione e attributi visivi.// Rectangle Shape rect = ShapeFactory.createRectangle(100, 150, 200, 100); rect.setFillColor(Color.BLUE); rect.setStrokeColor(Color.BLACK); rect.setLineWidth(2);
// Ellipse Shape ellipse = ShapeFactory.createEllipse(350, 150, 150, 100); ellipse.setFillColor(Color.GREEN); ellipse.setStrokeColor(Color.DARK_GRAY); ellipse.setLineWidth(1.5f);
// Line
Shape line = ShapeFactory.createLine(100, 300, 500, 300);
line.setStrokeColor(Color.RED);
line.setLineWidth(3);
- Aggiungere forme a una pagina - Recupera la pagina desiderata dal documento e aggiungi ogni forma alla sua collezione grafica.
Page page = pdf.getPages().get_Item(0); // first page
page.getGraphics().addShape(rect);
page.getGraphics().addShape(ellipse);
page.getGraphics().addShape(line);
- Salva il PDF aggiornato - Dopo che tutte le forme sono state aggiunte, salva il documento in un nuovo file.
pdf.save("output.pdf"); pdf.close();
Aggiungere forme a PDF in Java - Esempio di codice completo
Il seguente esempio riunisce tutti i passaggi in un unico programma pronto per l’esecuzione.
import com.conholdate.total.pdf.*;
import com.conholdate.total.pdf.shapes.*;
import java.awt.Color;
public class AddShapesDemo { public static void main(String[] args) throws Exception { // Initialize PDF document PdfDocument pdf = new PdfDocument(); pdf.open(“input.pdf”);
// Crea rettangolo Shape rectangle = ShapeFactory.createRectangle(100, 150, 200, 100); rectangle.setFillColor(Color.BLUE); rectangle.setStrokeColor(Color.BLACK); rectangle.setLineWidth(2);
// Crea ellisse Shape ellipse = ShapeFactory.createEllipse(350, 150, 150, 100); ellipse.setFillColor(Color.GREEN); ellipse.setStrokeColor(Color.DARK_GRAY); ellipse.setLineWidth(1.5f);
// Crea linea Shape line = ShapeFactory.createLine(100, 300, 500, 300); line.setStrokeColor(Color.RED); line.setLineWidth(3);
// Aggiungi forme alla prima pagina Page page = pdf.getPages().get_Item(0); page.getGraphics().addShape(rectangle); page.getGraphics().addShape(ellipse); page.getGraphics().addShape(line);
// Save the result pdf.save(“output.pdf”); pdf.close(); } }
<!--[COMPLETE_CODE_SNIPPET_END]-->
> **Nota:** Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare i percorsi dei file (`input.pdf`, `output.pdf`) per corrispondere alle tue effettive posizioni dei file, verifica che tutte le dipendenze richieste siano correttamente installate e testa accuratamente nel tuo ambiente di sviluppo. Se incontri problemi, consulta la [documentazione ufficiale](https://docs.conholdate.com/java/) o contatta il [team di supporto](https://forum.conholdate.com/c/total/5) 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.
- **URL di download:** [Conholdate.Total for Java Release](https://releases.conholdate.com/total/java/)
- **Documentazione:** Istruzioni dettagliate sull'uso sono disponibili nella [documentazione ufficiale](https://docs.conholdate.com/java/).
- **Licenza:** Ottieni una licenza temporanea dalla [pagina della licenza temporanea](https://purchase.conholdate.com/temporary-license/) o visualizza i prezzi completi nella [pagina dei prezzi](https://purchase.conholdate.com/pricing/total/family/).
## 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 lavora con grafica vettoriale, garantendo che gli elementi aggiunti rimangano nitidi a qualsiasi livello di zoom. È possibile disegnare primitive di base (rettangolo, ellisse, linea) così come percorsi complessi.
### 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 usando lo stesso motore che genera contenuti PDF nativi, evitando la rasterizzazione.
- **Controllo completo sull'aspetto:** Imposta i colori di riempimento, i colori di contorno, la larghezza delle linee, l'opacità e le modalità di [blend](https://docs.fileformat.com/3d/blend/).
- **Grafica a livelli:** Aggiungi forme a livelli o gruppi specifici per una più facile manipolazione successiva.
## Configurazione delle proprietà delle forme per una resa ottimale
Quando si aggiungono forme, considerare le seguenti proprietà per ottenere il risultato visivo desiderato:
- **Posizione e Dimensione:** Utilizzare coordinate assolute (punti) o percentuali relative alla dimensione della pagina.
- **Colori:** L'SDK accetta oggetti `java.awt.Color`. Per la trasparenza, utilizzare `new Color(r, g, b, alpha)`.
- **Spessore della linea:** Misurato in punti; un valore di `1` corrisponde a 1/72 di pollice.
- **Opacità e Modalità di fusione:** Regolare con `setOpacity(float)` e `setBlendMode(BlendMode)`.
- **Rotazione e Inclinazione:** Applicare trasformazioni tramite `setRotation(double)` o `setSkew(double, double)` per layout avanzati.
Esempio di impostazione delle proprietà avanzate:
<!--[CODE_SNIPPET_START]-->
```java
ellipse.setOpacity(0.7f);
ellipse.setBlendMode(BlendMode.MULTIPLY);
ellipse.setRotation(45);
Considerazioni sulle prestazioni quando si aggiungono forme ai PDF
Aggiungere molti oggetti vettoriali può aumentare il tempo di elaborazione e l’utilizzo della memoria. Segui queste linee guida:
- Batch Drawing: Raggruppa le forme correlate in un unico contenitore grafico prima di aggiungerle alla pagina.
- Reuse Objects: Se hai bisogno di forme identiche su più pagine, clona una forma esistente invece di creare nuove istanze.
- Avoid Over‑Scaling: Definisci le forme nella dimensione finale di visualizzazione per evitare costose conversioni raster.
- Dispose Resources: Chiudi il
PdfDocumentprontamente per liberare le risorse native.
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 la 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
Come posso aggiungere un font personalizzato alle forme in un PDF?
È possibile incorporare un font TrueType usando pdf.getFonts().addFont("MyFont.ttf") e quindi assegnarlo a una forma tramite setFont(myFont). L’SDK garantisce che il font sia incorporato nel PDF finale.
È possibile inserire forme in un PDF esistente senza perdere il contenuto esistente?
Sì. L’apertura del PDF con PdfDocument.open() preserva tutte le pagine e gli oggetti esistenti. L’aggiunta di forme alla raccolta grafica di una pagina aumenta solo la pagina; non sovrascrive il contenuto esistente.
In quali formati di file posso esportare dopo aver aggiunto forme?
Conholdate.Total for Java supporta il salvataggio in PDF, PDF/A, PDF/X e anche in formati immagine come PNG, JPEG e BMP. Utilizza pdf.save("output.pdf") o pdf.save("output.png", ImageSaveOptions.Png) secondo necessità.
