Converti docx in docm in Java con GroupDocs.Editor

Risposte rapide

  • Quale libreria mi consente di modificare documenti Word in Java? GroupDocs.Editor for Java.
  • Posso sostituire il testo automaticamente? Sì – l’API di markup HTML consente di cercare e sostituire stringhe nel documento.
  • In quali formati posso esportare? DOCM, RTF, testo semplice (TXT) e altro.
  • È necessaria una licenza per lo sviluppo? Una prova gratuita è sufficiente per i test; è richiesta una licenza commerciale per la produzione.
  • È compatibile con progetti Maven? Assolutamente – basta aggiungere il repository e la dipendenza.

Cos’è “edit word document java”?

Caricare un file .docx in memoria, modificare il suo contenuto (testo, immagini, tabelle, macro) tramite un’API e scrivere il file aggiornato su disco o su uno stream è ciò che significa “edit word document java”. GroupDocs.Editor astrae il formato Office Open XML e presenta un semplice modello di editing basato su HTML, consentendoti di trattare il documento come una pagina web.

Perché utilizzare GroupDocs.Editor per edit word document java?

GroupDocs.Editor ti consente di convertire docx in docm ed eseguire operazioni di massa senza installare Microsoft Office. Supporta oltre 30 formati di input e output, elabora file di centinaia di pagine con meno di 200 MB di heap memory, e può gestire processi batch di documenti Word a una velocità di 150 documenti al minuto su un tipico server a 8 core. La libreria preserva anche le macro nei file DOCM, mantiene lo stile originale e funziona su qualsiasi piattaforma compatibile con Java.

Prerequisiti

  • Java 8 o versioni successive e uno strumento di build (Maven o Gradle).
  • Accesso alla libreria GroupDocs.Editor per Java (versione 25.3 o successiva).
  • Familiarità di base con Java e la gestione delle dipendenze Maven.

Configurazione di GroupDocs.Editor per Java

Installazione tramite Maven

Add the GroupDocs repository and dependency to your pom.xml:

<repositories>
    <repository>
        <id>repository.groupdocs.com</id>
        <name>GroupDocs Repository</name>
        <url>https://releases.groupdocs.com/editor/java/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-editor</artifactId>
        <version>25.3</version>
    </dependency>
</dependencies>

Download diretto

In alternativa, scarica l’ultimo JAR dalla pagina di rilascio di GroupDocs.Editor for Java.

Acquisizione della licenza

Inizia con una prova gratuita per esplorare l’API. Per carichi di lavoro in produzione, ottieni una licenza temporanea o completa dal portale GroupDocs.

Inizializzazione e configurazione di base

Editor è la classe principale che fornisce funzionalità di caricamento, modifica e salvataggio per i documenti Word. Crea un’istanza di Editor che punti al tuo file DOCX di origine:

import com.groupdocs.editor.Editor;
import com.groupdocs.editor.options.WordProcessingLoadOptions;

String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.docx";
Editor editor = new Editor(inputFilePath, new WordProcessingLoadOptions());

Ora sei pronto a caricare, modificare e salvare i documenti.

Come convertire docx in docm usando GroupDocs.Editor

Carica il DOCX, opzionalmente modifica il suo HTML, quindi salva il risultato come file DOCM. La conversione richiede solo tre chiamate API: istanziare Editor, caricare il documento in un EditableDocument e invocare save con le opzioni Docm. Dopo il salvataggio, puoi ulteriormente elaborare il DOCM, ad esempio caricarlo in un sistema di gestione documenti o allegarlo a un’email, senza perdere macro o formattazione incorporate.

Passo 1: carica il documento

EditableDocument rappresenta un file Word che può essere modificato come HTML. Il caricamento restituisce questo oggetto, che puoi quindi manipolare.

import com.groupdocs.editor.Editor;
import com.groupdocs.editor.EditableDocument;
String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.docx";
Editor editor = new Editor(inputFilePath, new WordProcessingLoadOptions());
EditableDocument defaultWordProcessingDoc = editor.edit();

Passo 2: (opzionale) modifica il contenuto

Se devi sostituire segnaposti, aggiorna l’HTML incorporato usando tecniche standard di sostituzione di stringhe o regex.

String allEmbeddedInsideString = defaultWordProcessingDoc.getEmbeddedHtml();
String modifiedContent = allEmbeddedInsideString.replace("Subtitle", "Edited subtitle");

Passo 3: salva come DOCM

Configura le opzioni di salvataggio per il formato DOCM e scrivi il risultato su un file o su uno stream.

import com.groupdocs.editor.options.WordProcessingSaveOptions;
import com.groupdocs.editor.formats.WordProcessingFormats;

WordProcessingSaveOptions docmSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docm);
import java.io.ByteArrayOutputStream;
import java.io.OutputStream;

String outputDocmPath = "YOUR_OUTPUT_DIRECTORY/editedDoc.docm";
try (OutputStream outputStream = new ByteArrayOutputStream()) {
    // Create a new EditableDocument from the (possibly) modified HTML
    EditableDocument editedDocDocm = EditableDocument.fromMarkup(modifiedContent, null);
    editor.save(editedDocDocm, outputStream, docmSaveOptions);
    // If you need a physical file, write the stream to disk here
}

Suggerimento professionale: Disporre degli oggetti EditableDocument e Editor non appena hai finito per liberare le risorse native e mantenere basso l’uso della memoria.

Salva documento come RTF

Esportare in Rich Text Format è utile quando i sistemi a valle comprendono solo RTF. Lo stesso EditableDocument può essere salvato con le opzioni RTF.

import com.groupdocs.editor.options.WordProcessingSaveOptions;
import com.groupdocs.editor.formats.WordProcessingFormats;

String outputRtfPath = "YOUR_OUTPUT_DIRECTORY/editedDoc.rtf";
WordProcessingSaveOptions rtfSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Rtf);
EditableDocument editedDocRtf = EditableDocument.fromMarkup(modifiedContent, null);
editor.save(editedDocRtf, outputRtfPath, rtfSaveOptions);
editedDocRtf.dispose();
editor.dispose();

Salva documento come testo semplice

L’output in testo semplice è ideale per l’indicizzazione, l’analisi o l’alimentazione di contenuti ai motori di ricerca.

import com.groupdocs.editor.options.TextSaveOptions;
import java.nio.charset.StandardCharsets;

TextSaveOptions textSaveOptions = new TextSaveOptions();
textSaveOptions.setEncoding(StandardCharsets.UTF_8);
textSaveOptions.setPreserveTableLayout(true);
String outputTxtPath = "YOUR_OUTPUT_DIRECTORY/editedDoc.txt";
editor.save(editedDocTxt, outputTxtPath, textSaveOptions);

Applicazioni pratiche

  1. Automatizzare la generazione di report – Recupera dati dai database, sostituisci i segnaposti e genera un report DOCX, DOCM o RTF rifinito.
  2. Personalizzare il modello Word – Compila dinamicamente i modelli di marketing o legali in base all’input dell’utente.
  3. Esportare Word in txt – Estrai il testo grezzo per l’indicizzazione, l’analisi o ulteriori elaborazioni.
  4. Sostituire testo in docx – Usa l’API di markup HTML per eseguire ricerca e sostituzione di massa su molti documenti in un unico job batch.

Considerazioni sulle prestazioni

  • Disporre rapidamente degli oggetti EditableDocument e Editor per liberare le risorse native.
  • Per file molto grandi, elabora le sezioni a blocchi o usa le API di streaming per mantenere l’uso della memoria sotto i 250 MB.
  • Preferisci StringBuilder o espressioni regolari compilate quando esegui sostituzioni di testo di massa per ridurre il carico CPU.

Problemi comuni e soluzioni

La classe License applica il file di licenza GroupDocs.Editor per abilitare la piena funzionalità.

ProblemaSoluzione
File non trovato / accesso negatoVerifica il percorso assoluto e assicurati che il processo Java abbia permessi di lettura/scrittura.
Errori out‑of‑memory su documenti grandiAumenta l’heap JVM (-Xmx2g) o dividi il documento in parti più piccole prima della modifica.
Formattazione persa dopo la sostituzioneUsa l’API di markup HTML con attenzione; evita di sostituire i tag di markup stessi.
Licenza non applicataChiama License license = new License(); license.setLicense("path/to/license.file"); prima di creare Editor.

Domande frequenti

Q: Posso modificare file Word protetti da password?
A: Sì. Carica il documento con WordProcessingLoadOptions che includono la password, quindi procedi normalmente.

Q: GroupDocs.Editor supporta le macro nei file DOCM?
A: La libreria preserva le macro ma non le esegue. Puoi salvare un file DOCM con le macro esistenti intatte.

Q: Come gestisco le immagini incorporate nel documento?
A: Le immagini sono mantenute come parte del markup HTML. Sostituisci i tag <img> o aggiungine di nuovi usando HTML standard.

Q: È possibile convertire direttamente in PDF?
A: GroupDocs.Editor si concentra sulla modifica; per la conversione in PDF, combinalo con GroupDocs.Conversion dopo aver salvato il DOCX modificato.

Q: Quali versioni di Java sono supportate?
A: Java 8 e versioni successive sono pienamente supportate.

Conclusione

Ora disponi di un flusso di lavoro completo, end‑to‑end, per convertire docx in docm usando GroupDocs.Editor. Caricando un DOCX, opzionalmente modificandone l’HTML e esportandolo in DOCM, RTF o testo semplice, puoi automatizzare innumerevoli attività incentrate sui documenti nelle applicazioni Java. Esplora funzionalità aggiuntive come il controllo ortografico, il tracciamento delle modifiche o l’integrazione con GroupDocs.Conversion per estendere ulteriormente la tua soluzione.


Last Updated: 2026-09-16
Tested With: GroupDocs.Editor 25.3 for Java
Author: GroupDocs

Tutorial correlati