Automazione di Microsoft Word: crea, modifica o converti documenti di Word utilizzando Java

L’automazione di Word consente di creare nuovi documenti Word, modificare o modificare quelli esistenti o convertirli in altri formati senza utilizzare Microsoft Office. Tutte le azioni che possiamo eseguire tramite l’interfaccia utente di MS Word possono essere eseguite anche a livello di codice utilizzando Automation. In questo articolo impareremo come automatizzare MS Word per creare, modificare o convertire documenti Word utilizzando Java.

In questo articolo verranno trattati i seguenti argomenti:

API Java Word Automation per creare, modificare o convertire documenti Word

Per automatizzare Word, utilizzeremo l’API Aspose.Words for Java. È una soluzione di automazione di Word completa e ricca di funzionalità per creare, modificare o analizzare documenti di Word a livello di codice. Si prega di scaricare il JAR dell’API o semplicemente aggiungere la seguente configurazione pom.xml in un’applicazione Java basata su Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>21.11</version>
    <type>pom</type>
</dependency>

Crea documenti Word usando Java

Possiamo creare documenti Word a livello di codice seguendo i passaggi indicati di seguito:

  • Innanzitutto, crea un’istanza della classe Document. Questa classe rappresenta un documento di Word.
  • Quindi, crea un’istanza della classe DocumentBuilder con l’oggetto Document come argomento. Questa classe fornisce metodi per inserire testo, immagini e altro contenuto, specificare la formattazione di font, paragrafi e sezioni.
  • Quindi, inserisci/scrivi elementi per aggiungere testo, paragrafi, tabelle o immagini utilizzando l’oggetto DocumentBuilder.
  • Infine, chiama il metodo Document.save() con il percorso del file di output per salvare il file creato.

L’esempio di codice seguente mostra come creare un documento di Word (DOCX) utilizzando Java.

// Apri il documento.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Imposta il carattere per gli elementi successivi
Font font = builder.getFont();
font.setSize(25);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");

// Inserisci testo
builder.writeln("Welcome!");

// Imposta il carattere per gli elementi successivi
font.setSize(12);
font.setBold(false);

// Inserisci paragrafo
builder.writeln("Aspose.Words for Java is a class library that enables your applications to perform a great range of document processing tasks.\r\n"
    + "\r\n"
    + "Aspose.Words supports most of the popular document formats such as DOC, DOCX, RTF, HTML, Markdown, PDF, XPS, EPUB, and others.\r\n"
    + "\r\n"
    + "With Aspose.Words for Java, you can generate, modify, convert, render, and print documents without third-party applications or Office Automation.");
builder.writeln();

font.setBold(true);
builder.writeln("This is a sample table");

font.setBold(false);
// Inserisci una tabella
Table table = builder.startTable();
builder.insertCell();
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_CONTENTS);

builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);

builder.write("This is row 1 cell 1");
builder.insertCell();
builder.write("This is row 1 cell 2");
builder.endRow();
builder.insertCell();
builder.write("This is row 2 cell 1");
builder.insertCell();
builder.write("This is row 2 cell 2");
builder.endRow();
builder.endTable();
builder.writeln();

// Inserisci un'immagine
builder.insertImage("C:\\Files\\Words\\words_java.jpg");

// Inserisci interruzione di pagina 
builder.insertBreak(BreakType.PAGE_BREAK);             
// tutti gli elementi dopo l'interruzione di pagina verranno inseriti nella pagina successiva.

// Salva il documento
doc.save("C:\\Files\\Words\\document.docx");
Crea documenti Word usando Java

Crea documenti Word usando Java.

Modifica o modifica documenti di Word utilizzando Java

Nella sezione precedente, abbiamo creato un documento Word. Ora modifichiamolo e cambiamo il contenuto del documento. Possiamo modificare i documenti di Word a livello di codice seguendo i passaggi indicati di seguito:

  • Innanzitutto, carica un documento Word utilizzando la classe Document con il percorso del file di input come argomento.
  • Successivamente, accedi alla sezione specifica tramite il suo indice.
  • Quindi, accedi al contenuto del primo paragrafo come oggetto della classe Run. La classe Run rappresenta una sequenza di caratteri con la stessa formattazione del carattere. Tutto il testo del documento viene archiviato in sequenze di testo.
  • Successivamente, imposta il testo da aggiornare per il paragrafo a cui si accede.
  • Infine, chiama il metodo Document.save() con il percorso del file di output per salvare il file aggiornato.

L’esempio di codice seguente mostra come modificare un documento di Word (DOCX) utilizzando Java.

// Carica documento
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Accedi al paragrafo
Run paragraph = doc.getSections().get(0).getBody().getFirstParagraph().getRuns().get(0);
paragraph.setText("This is updated text");  

// Salva il documento
doc.save("C:\\Files\\Words\\Document_updated.docx");
Modifica o modifica documenti di Word utilizzando Java

Modifica o modifica documenti di Word utilizzando Java.

Trova e sostituisci testo nei documenti di Word utilizzando Java

Possiamo anche aggiornare il contenuto dei documenti di Word utilizzando il meccanismo trova e sostituisci dell’API. Possiamo farlo in modo programmatico seguendo i passaggi indicati di seguito:

  • Innanzitutto, carica un documento Word utilizzando la classe Document con il percorso del file di input come argomento.
  • Quindi, crea un’istanza della classe FindReplaceOptions.
  • Quindi, chiama il metodo replace() con la stringa di ricerca, la stringa di sostituzione e l’oggetto FindReplaceOptions come argomenti. Questo metodo sostituirà ogni occorrenza della stringa di ricerca con la stringa di sostituzione.
  • Infine, chiama il metodo Document.save() con il percorso del file di output per salvare il file aggiornato.

L’esempio di codice seguente mostra come trovare e sostituire testo specifico in un documento di Word (DOCX) utilizzando Java.

// Carica documento
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Aggiorna usando trova e sostituisci
// Specificare la stringa di ricerca e sostituire la stringa utilizzando il metodo Sostituisci.
doc.getRange().replace("Aspose.Words", "Hello", new FindReplaceOptions());

// Salva il documento
doc.save("C:\\Files\\Words\\Document_updated.docx");
Trova e sostituisci testo nei documenti di Word utilizzando Java

Trova e sostituisci testo nei documenti di Word utilizzando Java

Converti documenti Word usando Java

Possiamo convertire documenti Word in altri formati come PDF, XPS, EPUB, HTML, JPG, PNG, ecc. in modo programmatico seguendo i passaggi indicati di seguito:

  • Innanzitutto, carica un documento Word utilizzando la classe Document con il percorso del file di input come argomento.
  • Quindi, crea un’istanza della classe PdfSaveOptions con l’oggetto Document come argomento. Questa classe fornisce opzioni aggiuntive durante il salvataggio di un documento nel PDF.
  • Quindi, specifica il livello di conformità agli standard PDF per il documento di output impostando PdfSaveOptions.Compliance su PdfCompliance.PDF17.
  • Infine, chiama il metodo Document.save() con il percorso del file di output e l’oggetto PdfSaveOptions come argomento per salvare il file PDF.

L’esempio di codice seguente mostra come convertire un documento Word (DOCX) in un PDF utilizzando Java.

// Carica documento
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Fornisci la conformità di PDFSaveOption a PDF17
PdfSaveOptions options = new PdfSaveOptions();
options.setCompliance(PdfCompliance.PDF_17);

// Converti Word in PDF
doc.save("C:\\Files\\Words\\output.pdf", options);
Converti documenti Word in PDF.

Converti documenti Word usando Java

Analizza documenti di Word usando Java

Possiamo analizzare i documenti di Word ed estrarre il contenuto come testo normale a livello di codice seguendo i passaggi indicati di seguito:

  • Carica un documento Word usando la classe Document con il percorso del file di input come argomento.
  • Chiama il metodo Document.save() per salvare il documento di Word come file di testo. Questo metodo prende il percorso del file di output come argomento.

L’esempio di codice seguente mostra come analizzare un documento di Word (DOCX) utilizzando Java.

// Carica il documento dal disco.
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Salva come testo normale 
doc.save("C:\\Files\\Words\\output.txt");
Estrai testo da documenti Word.

Analizza documenti di Word utilizzando Java.

Ottieni una licenza gratuita

Prova l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo, abbiamo imparato come automatizzare Word per creare, modificare o convertire documenti Word utilizzando Java. Abbiamo anche visto come trovare e sostituire il testo nei documenti di Word a livello di codice. Inoltre, puoi saperne di più su Aspose.Words per l’API Java utilizzando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche