Crea documenti Rich Word in Java

Negli ultimi anni, la generazione dinamica di documenti Word è diventata una funzionalità popolare per la composizione di report, preventivi, fatture e altri tipi di documenti. Diverse aziende manifatturiere generano fatture in base ai dati archiviati nei database. In questi casi, l’automazione dei documenti consente di risparmiare tempo, sforzi e risorse necessarie nel processo di creazione manuale dei documenti. Questo articolo mira a indirizzare il processo di automazione dei documenti e consente di sapere come creare documenti Word a livello di codice in Java.

API Java per creare documenti Word

In questo articolo utilizzeremo Aspose.Words for Java, un’API ricca di funzionalità per creare, modificare o convertire documenti Word in applicazioni basate su Java. Puoi scaricare il JAR dell’API o installarlo utilizzando le seguenti configurazioni Maven:

Archivio:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Dipendenza:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>20.2</version>
    <classifier>jdk17</classifier>
</dependency>

Nelle sezioni seguenti imparerai come creare un documento Word contenente diversi elementi come testo, paragrafo, tabella, elenco, immagini, ecc. in modo programmatico utilizzando Java.

Crea un documento Word usando Java

Il più delle volte, una parte considerevole del contenuto di un documento di Word si basa sul testo. Pertanto, inizieremo il nostro viaggio creando un documento Word con un’intestazione e un paragrafo. Di seguito sono riportati i passaggi per creare un documento Word:

  • Innanzitutto, crea un’istanza della classe Document.
  • Crea un oggetto DocumentBuilder e inizializzalo con l’oggetto Document.
  • Usa la classe Font e imposta la dimensione del carattere, la famiglia e così via.
  • Imposta le proprietà del paragrafo usando la classe ParagraphFormat.
  • Scrivi del testo nel documento usando il metodo DocumentBuilder.write().
  • Infine, chiama il metodo Document.save() per creare il documento.

L’esempio di codice seguente mostra come creare un documento Word contenente testo in Java.

// Crea un oggetto Documento
Document doc = new Document();
// Crea un oggetto DocumentBuilder
DocumentBuilder builder = new DocumentBuilder(doc);
// Specificare la formattazione del carattere
Font font = builder.getFont();
font.setSize(18);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");
builder.write("How to Create a Rich Word Document?");
builder.insertBreak(BreakType.LINE_BREAK);
// Inizia il paragrafo
font.setSize(12);
font.setBold(false);
ParagraphFormat paragraphFormat = builder.getParagraphFormat();
paragraphFormat.setFirstLineIndent(12);
paragraphFormat.setKeepTogether(true);
builder.write("This article shows how to create a Word document containing text, images and lists.");
// Salva il documento
doc.save("Rich Word Document.docx");

Produzione

Genera documento Word in Java

Crea un documento Word con tabella utilizzando Java

Le tabelle nei documenti di Word vengono utilizzate per organizzare il contenuto sotto forma di righe e colonne. In questa sezione creeremo una semplice tabella contenente due righe e due colonne. La creazione di una tabella include quattro operazioni di base:

  • Iniziare la tavola
  • Inserimento di una cella
  • Fine della fila
  • Fine del tavolo

Di seguito sono riportati i passaggi per creare una tabella in un documento Word utilizzando Java:

Nell’esempio seguente viene illustrato come creare una tabella in un documento di Word.

// Crea un oggetto Documento
Document doc = new Document();
// Crea un oggetto DocumentBuilder
DocumentBuilder builder = new DocumentBuilder(doc);
// Crea tabella
Table table = builder.startTable();
// Inserisci una cella
builder.insertCell();
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_WINDOW);
builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);
builder.write("This is Row 1 Cell 1");
builder.insertCell();
builder.write("This is Row 1 Cell 2");
// Fine riga
builder.endRow();
// iniziare una riga successiva e impostarne le proprietà
builder.getRowFormat().setHeight(100);
builder.getRowFormat().setHeightRule(HeightRule.EXACTLY);
builder.insertCell();
builder.write("This is Row 2 Cell 1");
builder.insertCell();
builder.write("This is Row 2 Cell 2");
builder.endRow();
// Tavolino
builder.endTable();
// Salva il documento
doc.save("Rich Word Document.docx");

Produzione

Java genera documento Word con tabella

Crea un elenco in un documento Word utilizzando Java

Di seguito sono riportati i passaggi per aggiungere un elenco al documento di Word.

  • Innanzitutto, crea un oggetto della classe Document.
  • Aggiungi il tipo di elenco desiderato al documento utilizzando il metodo Document.getLists().add().
  • Ottieni l’elenco dal documento in un oggetto List.
  • Popolare l’elenco utilizzando l’oggetto DocumentBuilder.
  • Infine, salva il documento.

L’esempio di codice seguente mostra come creare un elenco in un documento di Word utilizzando Java.

// Crea un oggetto Documento
Document doc = new Document();
doc.getLists().add(ListTemplate.BULLET_CIRCLE);
List list = doc.getLists().get(0);
// Impostare true per specificare che l'elenco deve essere riavviato in ogni sezione.
list.isRestartAtEachSection(true);
DocumentBuilder builder = new DocumentBuilder(doc);
builder.getListFormat().setList(list);
for (int i = 1; i < 45; i++) {
	builder.writeln(String.format("List Item " + i));
	// Inserisci interruzione di sezione.
	if (i == 15)
		builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
}
builder.getListFormat().removeNumbers();
// Salva il documento
doc.save("Rich Word Document.docx");

Produzione

Inserisci elenco in Word docx in Java

Inserisci l’immagine in un documento Word utilizzando Java

L’inserimento di un’immagine in un documento di Word è semplice come una torta. Di seguito sono riportati alcuni semplici passaggi per eseguire questa operazione:

L’esempio di codice seguente mostra come inserire un’immagine nel documento di Word utilizzando Java.

// Crea un oggetto Documento
Document doc = new Document();
// Crea DocumentBuiler
DocumentBuilder builder = new DocumentBuilder(doc);
// Inserisci immagine
builder.insertImage("aspose-words.png");
// Salva il documento
doc.save("Rich Word Document.docx");

Produzione

Inserisci immagine in Word docx in Java

Conclusione

In questo articolo, hai imparato come creare documenti Word avanzati a livello di codice utilizzando Java. Inoltre, gli esempi di codice hanno mostrato come aggiungere testo, tabelle, immagini ed elenchi ai documenti di Word. Puoi leggi di più su come inserire vari elementi in un documento di Word usando Aspose.Words per Java.

Prova Aspose.Words per Java gratuitamente

Puoi ottenere una licenza temporanea gratuita per provare a utilizzare Aspose.Words per Java senza limitazioni di prova.

Guarda anche