Last active
June 7, 2021 10:15
-
-
Save conholdate-gists/c088e5434c3cb536a3ecc1a9b918eb49 to your computer and use it in GitHub Desktop.
Edit Word Documents using Java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Edit Word Documents using Java | |
1. Java API for Editing Word Documents | |
2. Edit Word Documents using Java |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Input file | |
String inputFilePath = "C:\\Files\\Sample.docx"; | |
//Load the document with load options | |
WordProcessingLoadOptions wordLoadOptions = new WordProcessingLoadOptions(); | |
wordLoadOptions.setPassword("some password"); // Password if required | |
Editor editor = new Editor(inputFilePath, wordLoadOptions); | |
// Specify Edit Options | |
WordProcessingEditOptions editOptions = new WordProcessingEditOptions(); | |
editOptions.setEnableLanguageInformation(true); | |
editOptions.setEnablePagination(true); | |
//Open input document to edit | |
EditableDocument beforeEdit = editor.edit(editOptions); | |
//Grab document content and associated resources from editable document | |
String content = beforeEdit.getContent(); | |
List<IImageResource> images = beforeEdit.getImages(); | |
List<FontResourceBase> fonts = beforeEdit.getFonts(); | |
List<CssText> stylesheets = beforeEdit.getCss(); | |
//Get document as a single base64-encoded String, where all resources (images, fonts, etc) are embedded inside this String along with main textual content | |
String allEmbeddedInsideString = beforeEdit.getEmbeddedHtml(); | |
//Edit the content | |
String allEmbeddedInsideStringEdited = allEmbeddedInsideString.replace("Subtitle", "Edited subtitle"); | |
//Create a new EditableDocument instance from edited content and resources | |
EditableDocument afterEdit = EditableDocument.fromMarkup(allEmbeddedInsideStringEdited, null); | |
//output document path | |
String outputPath = "C:\\Files\\Sample_output.docx"; | |
//Save options | |
WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docx); | |
//Finally, save to path | |
editor.save(afterEdit, outputPath, saveOptions); | |
//Dispose the objects | |
beforeEdit.dispose(); | |
afterEdit.dispose(); | |
editor.dispose(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment