Как объединить документы Word на Java
При работе с несколькими документами Word часто возникает необходимость объединить их в один целостный файл. Будь то подборка научных статей, объединение глав рукописи или просто объединение различных отчетов, процесс объединения документов Word позволяет упорядочить работу и создать более организованный и полный конечный документ. В этой статье я расскажу о том, как объединить документ Word на Java с помощью Free Spire.Doc for Java.
Установка файла Free Spire.Doc.jar
Если вы создали
Maven-проект, вы можете легко импортировать jar в свое приложение, используя
следующие конфигурации. Для проектов, не использующих Maven, загрузите jar-файл
по этой
ссылке и добавьте его в качестве зависимости в свое приложение.
Объединение документов Word в один в Java
Метод Document.insertTextFromFile(), предоставляемый Free Spire.Doc for Java, позволяет объединять документы Word, вставляя другие документы целиком в документ, причем вставленное содержимое начинается с новой страницы. В качестве примера можно привести следующий фрагмент кода.
import com.spire.doc.*;
public class merge {
public static void main(String[] args) {
//Create an object of Document and load a Word document from disk
Document document = new Document("C:/Samples/Sample1.docx");
//Insert another Word document entirely to the document
document.insertTextFromFile("C:/Samples/Sample2.docx", FileFormat.Docx_2013);
//Save the result document
document.saveToFile("MergingResult.docx", FileFormat.Docx_2013);
}
}
Слияние документов Word путем клонирования содержимого в Java
Если необходимо объединить документы, не начиная новую страницу, можно клонировать содержимое других документов, чтобы добавить его в конец документа.
import com.spire.doc.*;
public class mergeDocuments {
public static void main(String[] args){
//Create two Document objects and load two Word documents from disk
Document document1 = new Document("C:/Samples/Sample1.docx");
Document document2 = new Document("C:/Samples/Sample2.docx");
//Loop through the second document to get all the sections
for (Object sectionObj : (Iterable) document2.getSections()) {
Section sec=(Section)sectionObj;
//Loop through the sections of the second document to get their child objects
for (Object docObj :(Iterable ) sec.getBody().getChildObjects()) {
DocumentObject obj=(DocumentObject)docObj;
//Get the last section of the first document
Section lastSection = document1.getLastSection();
//Add the child objects to the last section of the first document
Body body = lastSection.getBody();
body.getChildObjects().add(obj.deepClone());
}
}
//Save the result document
document1.saveToFile("MergingResult.docx", FileFormat.Docx_2013);
}
}
Резюме
В этой статье мы узнали, как объединять документы Word с помощью Free Spire.Doc for Java. Эта библиотека Word поддерживает и другие операции с документами Word, такие как: