Transferring content between Microsoft Word documents is a frequent task for many users. Whether you need to consolidate information spread across multiple files or quickly reuse existing text and other elements, the ability to effectively copy and paste between documents can save you time and effort.
In this article, you will learn how to copy content from one Word document to another using Java and Spire.Doc for Java.
- Copy Specified Paragraphs from One Word Document to Another
- Copy a Section from One Word Document to Another
- Copy the Entire Document and Append it to Another
- Create a Copy of a Word Document
Install Spire.Doc for Java
First of all, you're required to add the Spire.Doc.jar file as a dependency in your Java program. The JAR file can be downloaded from this link. If you use Maven, you can easily import the JAR file in your application by adding the following code to your project's pom.xml file.
<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.doc</artifactId> <version>12.11.0</version> </dependency> </dependencies>
Copy Specified Paragraphs from One Word Document to Another in Java
Spire.Doc for Java provides a flexible way to copy content between Microsoft Word documents. This is achieved by cloning individual paragraphs and then adding those cloned paragraphs to a different document.
To copy specific paragraphs from one Word document to another, you can follow these steps:
- Load the source document into a Document object.
- Load the target document into a separate Document object.
- Identify the paragraphs you want to copy from the source document.
- Create copies of those selected paragraphs using Paragraph.deepClone() method
- Add the cloned paragraphs to the target document using ParagraphCollection.add() method.
- Save the updated target document to a new Word file.
- Java
import com.spire.doc.Document; import com.spire.doc.FileFormat; import com.spire.doc.Section; import com.spire.doc.documents.Paragraph; public class CopyParagraphs { public static void main(String[] args) { // Create a Document object Document sourceDoc = new Document(); // Load the source file sourceDoc.loadFromFile("C:\\Users\\Administrator\\Desktop\\source.docx"); // Get a specific section Section section = sourceDoc.getSections().get(0); // Get the specified paragraphs from the source file Paragraph p1 = section.getParagraphs().get(2); Paragraph p2 = section.getParagraphs().get(3); // Create another Document object Document targetDoc = new Document(); // Load the target file targetDoc.loadFromFile("C:\\Users\\Administrator\\Desktop\\target.docx"); // Get the last section Section lastSection = targetDoc.getLastSection(); // Add the paragraphs from the source file to the target file lastSection.getParagraphs().add((Paragraph)p1.deepClone()); lastSection.getParagraphs().add((Paragraph)p2.deepClone()); // Save the target file to a different Word file targetDoc.saveToFile("CopyParagraphs.docx", FileFormat.Docx_2019); // Dispose resources sourceDoc.dispose(); targetDoc.dispose(); } }
Copy a Section from One Word Document to Another in Java
When copying content between Microsoft Word documents, it's important to consider that a section can contain not only paragraphs, but also other elements like tables. To successfully transfer an entire section from one document to another, you need to iterate through all the child objects within the section and add them individually to a specific section in the target document.
The steps to copy a section between different Word documents are as follows:
- Create Document objects to load the source file and the target file, respectively.
- Get the specified section from the source document.
- Iterate through the child objects within the section.
- Clone a specific child object using DocumentObject.deepClone() method.
- Add the cloned child objects to a designated section in the target document using DocumentObjectCollection.add() method.
- Save the updated target document to a new file.
- Java
import com.spire.doc.Document; import com.spire.doc.DocumentObject; import com.spire.doc.FileFormat; import com.spire.doc.Section; public class CopySection { public static void main(String[] args) { // Create a Document object Document sourceDoc = new Document(); // Load the source file sourceDoc.loadFromFile("C:\\Users\\Administrator\\Desktop\\source.docx"); // Get the specified section from the source file Section section = sourceDoc.getSections().get(0); // Create another Document object Document targetDoc = new Document(); // Load the target file targetDoc.loadFromFile("C:\\Users\\Administrator\\Desktop\\target.docx"); // Get the last section of the target file Section lastSection = targetDoc.getLastSection(); // Iterate through the child objects in the selected section for (int i = 0; i < section.getBody().getChildObjects().getCount(); i++) { // Get a specific child object DocumentObject childObject = section.getBody().getChildObjects().get(i); // Add the child object to the last section of the target file lastSection.getBody().getChildObjects().add(childObject.deepClone()); } // Save the target file to a different Word file targetDoc.saveToFile("CopySection.docx", FileFormat.Docx_2019); // Dispose resources sourceDoc.dispose(); targetDoc.dispose(); } }
Copy the Entire Document and Append it to Another in Java
Copying the full contents from one Microsoft Word document into another can be achieved using the Document.insertTextFromFile() method. This method enables you to seamlessly append the contents of a source document to a target document.
The steps to copy an entire document and append it to another are as follows:
- Create a Document object to represent the target file.
- Load the target file from the given file path.
- Insert the content of a different Word document into the target file using Document.insertTextFromFile() method.
- Save the updated target file to a new Word document.
- Java
import com.spire.doc.Document; import com.spire.doc.FileFormat; public class CopyEntireDocument { public static void main(String[] args) { // Specify the path of the source document String sourceFile = "C:\\Users\\Administrator\\Desktop\\source.docx"; // Create a Document object Document targetDoc = new Document(); // Load the target file targetDoc.loadFromFile("C:\\Users\\Administrator\\Desktop\\target.docx"); // Insert content of the source file to the target file targetDoc.insertTextFromFile(sourceFile, FileFormat.Docx); // Save the target file to a different Word file targetDoc.saveToFile("CopyEntireDocument.docx", FileFormat.Docx_2019); // Dispose resources targetDoc.dispose(); } }
Create a Copy of a Word Document in Java
Spire.Doc for Java provides a straightforward way to create a duplicate of a Microsoft Word document by using the Document.deepClone() method.
To make a copy of a Word document, follow these steps:
- Create a Document object to relisent the source document.
- Load a Word file from the given file path.
- Create a copy of the document using Document.deepClone() method.
- Save the cloned document to a new Word file.
- Java
import com.spire.doc.Document; import com.spire.doc.FileFormat; public class DuplicateDocument { public static void main(String[] args) { // Create a new document object Document sourceDoc = new Document(); // Load a Word file sourceDoc.loadFromFile("C:\\Users\\Administrator\\Desktop\\target.docx"); // Clone the document Document newDoc = sourceDoc.deepClone(); // Save the cloned document as a docx file newDoc.saveToFile("Copy.docx", FileFormat.Docx); // Dispose resources sourceDoc.dispose(); newDoc.dispose(); } }
Apply for a Temporary License
If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.