Tự động hóa Microsoft Word - Tạo, chỉnh sửa hoặc chuyển đổi tài liệu Word bằng Java

Tự động hóa Word cho phép bạn tạo tài liệu Word mới, chỉnh sửa hoặc sửa đổi tài liệu hiện có hoặc chuyển đổi chúng sang các định dạng khác mà không cần sử dụng Microsoft Office. Tất cả các hành động mà chúng ta có thể thực hiện thông qua giao diện người dùng của MS Word cũng có thể được thực hiện theo chương trình bằng cách sử dụng Tự động hóa. Trong bài viết này, chúng ta sẽ tìm hiểu cách tự động hóa MS Word để tạo, chỉnh sửa hoặc chuyển đổi tài liệu Word bằng Java.

Các chủ đề sau đây sẽ được đề cập trong bài viết này:

API tự động hóa Java Word để tạo, chỉnh sửa hoặc chuyển đổi tài liệu Word

Để tự động hóa Word, chúng tôi sẽ sử dụng API Aspose.Words for Java. Đây là một giải pháp tự động hóa Word đầy đủ và giàu tính năng để tạo, chỉnh sửa hoặc phân tích tài liệu Word theo chương trình. Vui lòng tải xuống JAR của API hoặc chỉ cần thêm cấu hình pom.xml sau vào ứng dụng Java dựa trên 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>

Tạo tài liệu Word bằng Java

Chúng ta có thể tạo tài liệu Word theo chương trình bằng cách thực hiện theo các bước dưới đây:

  • Đầu tiên, tạo một thể hiện của lớp Document. Lớp này đại diện cho một tài liệu Word.
  • Tiếp theo, tạo một thể hiện của lớp DocumentBuilder với đối tượng Document làm đối số. Lớp này cung cấp các phương thức để chèn văn bản, hình ảnh và nội dung khác, chỉ định định dạng phông chữ, đoạn văn và phần.
  • Sau đó, chèn/ghi các phần tử để thêm một số văn bản, đoạn văn, bảng hoặc hình ảnh bằng đối tượng DocumentBuilder.
  • Cuối cùng, gọi phương thức Document.save() với đường dẫn tệp đầu ra để lưu tệp đã tạo.

Mẫu mã sau đây cho biết cách tạo tài liệu Word (DOCX) bằng Java.

// Mở tài liệu.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Đặt phông chữ cho các thành phần tiếp theo
Font font = builder.getFont();
font.setSize(25);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");

// Chèn văn bản
builder.writeln("Welcome!");

// Đặt phông chữ cho các thành phần tiếp theo
font.setSize(12);
font.setBold(false);

// Chèn đoạn văn
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);
// Chèn một bảng
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();

// Chèn một hình ảnh
builder.insertImage("C:\\Files\\Words\\words_java.jpg");

// Chèn ngắt trang 
builder.insertBreak(BreakType.PAGE_BREAK);             
// tất cả các phần tử sau khi ngắt trang sẽ được chèn vào trang tiếp theo.

// Lưu tài liệu
doc.save("C:\\Files\\Words\\document.docx");
Tạo tài liệu Word bằng Java

Tạo tài liệu Word bằng Java.

Chỉnh sửa hoặc sửa đổi tài liệu Word bằng Java

Ở phần trước chúng ta đã tạo một tài liệu Word. Bây giờ, hãy chỉnh sửa nó và thay đổi nội dung của tài liệu. Chúng ta có thể chỉnh sửa tài liệu Word theo chương trình bằng cách thực hiện theo các bước dưới đây:

  • Đầu tiên, tải tài liệu Word bằng lớp Document với đường dẫn tệp đầu vào làm đối số.
  • Tiếp theo, truy cập phần cụ thể theo chỉ mục của nó.
  • Sau đó, truy cập nội dung đoạn đầu tiên dưới dạng đối tượng của lớp Run. Lớp Run đại diện cho một chuỗi ký tự có cùng định dạng phông chữ. Tất cả văn bản của tài liệu được lưu trữ dưới dạng văn bản.
  • Sau đó, đặt văn bản để cập nhật cho đoạn được truy cập.
  • Cuối cùng, gọi phương thức Document.save() với đường dẫn tệp đầu ra để lưu tệp đã cập nhật.

Mẫu mã sau đây cho biết cách chỉnh sửa tài liệu Word (DOCX) bằng Java.

// Tải tài liệu
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Truy cập đoạn văn
Run paragraph = doc.getSections().get(0).getBody().getFirstParagraph().getRuns().get(0);
paragraph.setText("This is updated text");  

// Lưu tài liệu
doc.save("C:\\Files\\Words\\Document_updated.docx");
Chỉnh sửa hoặc sửa đổi tài liệu Word bằng Java

Chỉnh sửa hoặc sửa đổi tài liệu Word bằng Java.

Tìm và thay thế văn bản trong tài liệu Word bằng Java

Chúng ta cũng có thể cập nhật nội dung tài liệu Word bằng cách sử dụng cơ chế tìm và thay thế của API. Chúng ta có thể thực hiện việc này theo chương trình bằng cách làm theo các bước dưới đây:

  • Đầu tiên, tải tài liệu Word bằng lớp Document với đường dẫn tệp đầu vào làm đối số.
  • Tiếp theo, tạo một thể hiện của lớp FindReplaceOptions.
  • Sau đó, gọi phương thức replace() với chuỗi tìm kiếm, chuỗi thay thế và đối tượng FindReplaceOptions làm đối số. Phương thức này sẽ thay thế mọi lần xuất hiện của chuỗi tìm kiếm bằng chuỗi thay thế.
  • Cuối cùng, gọi phương thức Document.save() với đường dẫn tệp đầu ra để lưu tệp đã cập nhật.

Mẫu mã sau đây cho biết cách tìm và thay thế văn bản cụ thể trong tài liệu Word (DOCX) bằng Java.

// Tải tài liệu
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Cập nhật bằng cách tìm và thay thế
// Chỉ định chuỗi tìm kiếm và thay thế chuỗi bằng phương thức Thay thế.
doc.getRange().replace("Aspose.Words", "Hello", new FindReplaceOptions());

// Lưu tài liệu
doc.save("C:\\Files\\Words\\Document_updated.docx");
Tìm và thay thế văn bản trong tài liệu Word bằng Java

Tìm và thay thế văn bản trong tài liệu Word bằng Java

Chuyển đổi tài liệu Word bằng Java

Chúng ta có thể chuyển đổi tài liệu Word sang các định dạng khác như PDF, XPS, EPUB, HTML, JPG, PNG, v.v. theo chương trình bằng cách thực hiện theo các bước dưới đây:

  • Đầu tiên, tải tài liệu Word bằng lớp Document với đường dẫn tệp đầu vào làm đối số.
  • Tiếp theo, tạo một thể hiện của lớp PdfSaveOptions với đối tượng Document làm đối số. Lớp này cung cấp các tùy chọn bổ sung khi lưu tài liệu vào PDF.
  • Sau đó, chỉ định mức độ tuân thủ các tiêu chuẩn PDF cho tài liệu đầu ra bằng cách đặt PdfSaveOptions.Compliance thành PdfCompliance.PDF17.
  • Cuối cùng, gọi phương thức Document.save() với đường dẫn tệp đầu ra và đối tượng PdfSaveOptions làm đối số để lưu tệp PDF.

Mẫu mã sau đây cho biết cách chuyển đổi tài liệu Word (DOCX) sang PDF bằng Java.

// Tải tài liệu
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Cung cấp sự tuân thủ PDFSaveOption cho PDF17
PdfSaveOptions options = new PdfSaveOptions();
options.setCompliance(PdfCompliance.PDF_17);

// Chuyển đổi Word sang PDF
doc.save("C:\\Files\\Words\\output.pdf", options);
Chuyển đổi tài liệu Word sang PDF.

Chuyển đổi tài liệu Word bằng Java

Phân tích tài liệu Word bằng Java

Chúng tôi có thể phân tích cú pháp tài liệu Word và trích xuất nội dung dưới dạng văn bản thuần túy theo chương trình bằng cách thực hiện theo các bước được đưa ra bên dưới:

  • Tải tài liệu Word bằng lớp Document với đường dẫn tệp đầu vào làm đối số.
  • Gọi phương thức Document.save() để lưu tài liệu Word dưới dạng tệp văn bản. Phương thức này lấy đường dẫn của tệp đầu ra làm đối số.

Mẫu mã sau đây cho biết cách phân tích cú pháp tài liệu Word (DOCX) bằng Java.

// Tải tài liệu từ đĩa.
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Lưu dưới dạng văn bản thuần túy 
doc.save("C:\\Files\\Words\\output.txt");
Trích xuất văn bản từ Tài liệu Word.

Phân tích tài liệu Word bằng Java.

Nhận giấy phép miễn phí

Vui lòng dùng thử API không có giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.

Phần kết luận

Trong bài viết này, chúng ta đã tìm hiểu cách tự động hóa Word để tạo, chỉnh sửa hoặc chuyển đổi tài liệu Word bằng Java. Chúng tôi cũng đã xem cách tìm và thay thế văn bản trong tài liệu Word theo chương trình. Ngoài ra, bạn có thể tìm hiểu thêm về Aspose.Words for Java API bằng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.

Xem thêm