Microsoft Word Automation — สร้าง แก้ไข หรือแปลงเอกสาร Word โดยใช้ Java

ระบบอัตโนมัติของ Word ช่วยให้คุณสร้างเอกสาร Word ใหม่ แก้ไขหรือแก้ไขเอกสารที่มีอยู่ หรือแปลงเป็นรูปแบบอื่นโดยไม่ต้องใช้ Microsoft Office การดำเนินการทั้งหมดที่เราสามารถทำได้ผ่านอินเทอร์เฟซผู้ใช้ของ MS Word สามารถทำได้โดยทางโปรแกรมโดยใช้ระบบอัตโนมัติ ในบทความนี้ เราจะได้เรียนรู้วิธีทำให้ MS Word เป็นอัตโนมัติเพื่อสร้าง แก้ไข หรือแปลงเอกสาร Word โดยใช้ Java

หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:

Java Word Automation API เพื่อสร้าง แก้ไข หรือแปลงเอกสาร Word

สำหรับการทำให้ Word เป็นอัตโนมัติ เราจะใช้ Aspose.Words for Java API เป็นโซลูชันการทำงานอัตโนมัติของ Word ที่สมบูรณ์และมีฟีเจอร์มากมายสำหรับการสร้าง แก้ไข หรือวิเคราะห์เอกสาร Word โดยทางโปรแกรม โปรด ดาวน์โหลด JAR ของ API หรือเพียงเพิ่มการกำหนดค่า pom.xml ต่อไปนี้ในแอปพลิเคชัน Java ที่ใช้ 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>

สร้างเอกสาร Word โดยใช้ Java

เราสามารถสร้างเอกสาร Word โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:

  • ขั้นแรก สร้างอินสแตนซ์ของคลาส Document คลาสนี้แสดงถึงเอกสาร Word
  • จากนั้น สร้างอินสแตนซ์ของคลาส DocumentBuilder โดยมีอ็อบเจ็กต์ Document เป็นอาร์กิวเมนต์ คลาสนี้มีวิธีการแทรกข้อความ รูปภาพ และเนื้อหาอื่นๆ ระบุแบบอักษร ย่อหน้า และการจัดรูปแบบส่วน
  • จากนั้น แทรก/เขียนองค์ประกอบเพื่อเพิ่มข้อความ ย่อหน้า ตาราง หรือรูปภาพโดยใช้ออบเจ็กต์ DocumentBuilder
  • สุดท้าย ให้เรียกเมธอด Document.save() ด้วยพาธของไฟล์เอาท์พุตเพื่อบันทึกไฟล์ที่สร้างขึ้น

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างเอกสาร Word (DOCX) โดยใช้ Java

// เปิดเอกสาร
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// ตั้งค่าแบบอักษรสำหรับองค์ประกอบถัดไป
Font font = builder.getFont();
font.setSize(25);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");

// แทรกข้อความ
builder.writeln("Welcome!");

// ตั้งค่าแบบอักษรสำหรับองค์ประกอบถัดไป
font.setSize(12);
font.setBold(false);

// แทรกย่อหน้า
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);
// แทรกตาราง
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();

// แทรกรูปภาพ
builder.insertImage("C:\\Files\\Words\\words_java.jpg");

// แทรกตัวแบ่งหน้า 
builder.insertBreak(BreakType.PAGE_BREAK);             
// องค์ประกอบทั้งหมดหลังตัวแบ่งหน้าจะถูกแทรกไปยังหน้าถัดไป

// บันทึกเอกสาร
doc.save("C:\\Files\\Words\\document.docx");
สร้างเอกสาร Word โดยใช้ Java

สร้างเอกสาร Word โดยใช้ Java

แก้ไขหรือแก้ไขเอกสาร Word โดยใช้ Java

ในส่วนก่อนหน้านี้ เราได้สร้างเอกสาร Word แล้ว ตอนนี้เรามาแก้ไขและเปลี่ยนเนื้อหาของเอกสารกันดีกว่า เราสามารถแก้ไขเอกสาร Word โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:

  • ขั้นแรก โหลดเอกสาร Word โดยใช้คลาส Document โดยมีเส้นทางไฟล์อินพุตเป็นอาร์กิวเมนต์
  • จากนั้น เข้าถึงส่วนเฉพาะตามดัชนี
  • จากนั้น เข้าถึงเนื้อหาย่อหน้าแรกในฐานะออบเจ็กต์ของคลาส Run คลาส Run แสดงถึงการเรียกใช้อักขระที่มีการจัดรูปแบบแบบอักษรเหมือนกัน ข้อความทั้งหมดของเอกสารจะถูกจัดเก็บไว้ในกลุ่มข้อความ
  • หลังจากนั้นให้ตั้งค่าข้อความที่จะอัปเดตสำหรับย่อหน้าที่เข้าถึง
  • สุดท้าย ให้เรียกใช้เมธอด Document.save() ด้วยพาธของไฟล์เอาท์พุตเพื่อบันทึกไฟล์ที่อัพเดต

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแก้ไขเอกสาร Word (DOCX) โดยใช้ Java

// โหลดเอกสาร
Document doc = new Document("C:\\Files\\Words\\document.docx");

// เข้าถึงย่อหน้า
Run paragraph = doc.getSections().get(0).getBody().getFirstParagraph().getRuns().get(0);
paragraph.setText("This is updated text");  

// บันทึกเอกสาร
doc.save("C:\\Files\\Words\\Document_updated.docx");
แก้ไขหรือแก้ไขเอกสาร Word โดยใช้ Java

แก้ไขหรือแก้ไขเอกสาร Word โดยใช้ Java

ค้นหาและแทนที่ข้อความในเอกสาร Word โดยใช้ Java

นอกจากนี้เรายังสามารถอัปเดตเนื้อหาของเอกสาร Word ได้โดยใช้กลไกการค้นหาและแทนที่ของ API เราสามารถทำได้โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:

  • ขั้นแรก โหลดเอกสาร Word โดยใช้คลาส Document โดยมีเส้นทางไฟล์อินพุตเป็นอาร์กิวเมนต์
  • จากนั้น สร้างอินสแตนซ์ของคลาส FindReplaceOptions
  • จากนั้น เรียกเมธอด replace() ด้วยสตริงการค้นหา สตริงการแทนที่ และอ็อบเจ็กต์ FindReplaceOptions เป็นอาร์กิวเมนต์ วิธีนี้จะแทนที่สตริงการค้นหาทุกครั้งที่เกิดขึ้นด้วยสตริงแทนที่
  • สุดท้าย ให้เรียกใช้เมธอด Document.save() ด้วยพาธของไฟล์เอาท์พุตเพื่อบันทึกไฟล์ที่อัพเดต

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีค้นหาและแทนที่ข้อความเฉพาะในเอกสาร Word (DOCX) โดยใช้ Java

// โหลดเอกสาร
Document doc = new Document("C:\\Files\\Words\\document.docx");

// อัปเดตโดยใช้การค้นหาและแทนที่
// ระบุสตริงการค้นหาและแทนที่สตริงโดยใช้วิธีแทนที่
doc.getRange().replace("Aspose.Words", "Hello", new FindReplaceOptions());

// บันทึกเอกสาร
doc.save("C:\\Files\\Words\\Document_updated.docx");
ค้นหาและแทนที่ข้อความในเอกสาร Word โดยใช้ Java

ค้นหาและแทนที่ข้อความในเอกสาร Word โดยใช้ Java

แปลงเอกสาร Word โดยใช้ Java

เราสามารถแปลงเอกสาร Word เป็นรูปแบบอื่น เช่น PDF, XPS, EPUB, HTML, JPG, PNG ฯลฯ โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:

  • ขั้นแรก โหลดเอกสาร Word โดยใช้คลาส Document โดยมีเส้นทางไฟล์อินพุตเป็นอาร์กิวเมนต์
  • จากนั้น สร้างอินสแตนซ์ของคลาส PdfSaveOptions โดยมีอ็อบเจ็กต์ Document เป็นอาร์กิวเมนต์ คลาสนี้มีตัวเลือกเพิ่มเติมเมื่อบันทึกเอกสารเป็น PDF
  • จากนั้น ระบุระดับการปฏิบัติตามมาตรฐาน PDF สำหรับเอกสารเอาต์พุตโดยการตั้งค่า PdfSaveOptions.Compliance เป็น PdfCompliance.PDF17
  • สุดท้าย เรียกเมธอด Document.save() ด้วยพาธของไฟล์เอาต์พุตและอ็อบเจ็กต์ PdfSaveOptions เป็นอาร์กิวเมนต์เพื่อบันทึกไฟล์ PDF

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแปลงเอกสาร Word (DOCX) เป็น PDF โดยใช้ Java

// โหลดเอกสาร
Document doc = new Document("C:\\Files\\Words\\document.docx");

// ให้การปฏิบัติตาม PDFSaveOption กับ PDF17
PdfSaveOptions options = new PdfSaveOptions();
options.setCompliance(PdfCompliance.PDF_17);

// แปลง Word เป็น PDF
doc.save("C:\\Files\\Words\\output.pdf", options);
แปลงเอกสาร Word เป็น PDF

แปลงเอกสาร Word โดยใช้ Java

แยกวิเคราะห์เอกสาร Word โดยใช้ Java

เราสามารถแยกวิเคราะห์เอกสาร Word และแยกเนื้อหาเป็นข้อความธรรมดาโดยทางโปรแกรมโดยทำตามขั้นตอนที่ระบุด้านล่าง:

  • โหลดเอกสาร Word โดยใช้คลาส Document โดยมีเส้นทางไฟล์อินพุตเป็นอาร์กิวเมนต์
  • เรียกใช้เมธอด Document.save() เพื่อบันทึกเอกสาร Word เป็นไฟล์ข้อความ วิธีการนี้ใช้เส้นทางของไฟล์เอาต์พุตเป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแยกวิเคราะห์เอกสาร Word (DOCX) โดยใช้ Java

// โหลดเอกสารจากดิสก์
Document doc = new Document("C:\\Files\\Words\\document.docx");

// บันทึกเป็นข้อความธรรมดา 
doc.save("C:\\Files\\Words\\output.txt");
แยกข้อความจากเอกสาร Word

แยกวิเคราะห์เอกสาร Word โดยใช้ Java

รับใบอนุญาตฟรี

โปรดลองใช้ API โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีทำให้ Word เป็นอัตโนมัติเพื่อสร้าง แก้ไข หรือแปลงเอกสาร Word โดยใช้ Java เรายังได้เห็นวิธีการค้นหาและแทนที่ข้อความในเอกสาร Word โดยทางโปรแกรมอีกด้วย นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.Words for Java API ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม

ดูสิ่งนี้ด้วย