ในหลายกรณี คุณต้องแยกเอกสาร MS Word ออกเป็นหลายเอกสาร ตัวอย่างเช่น คุณอาจต้องสร้างเอกสารแยกต่างหากสำหรับแต่ละหน้า ส่วน หรือชุดของหน้าในเอกสาร Word เพื่อให้การแยกเอกสารเป็นไปโดยอัตโนมัติ บทความนี้ครอบคลุมวิธีการแยก MS Word DOCX ทางโปรแกรมโดยใช้ Java ส่วนต่อไปนี้แสดงบทช่วยสอนทีละขั้นตอนและตัวอย่างโค้ดของเกณฑ์การแยกที่กล่าวถึงข้างต้น
- Java API เพื่อแยกเอกสาร Word
- แยก Word DOCX/DOC โดยใช้ Java
- ใช้ช่วงหน้าเพื่อแยกเอกสาร Word
- แยกเอกสาร Word ตามส่วนต่างๆ
- รับใบอนุญาต API ฟรี
Java API เพื่อแยก Word DOCX
Aspose.Words for Java เป็น API การจัดการเอกสารที่มีประสิทธิภาพและเต็มไปด้วยฟีเจอร์ ซึ่งช่วยให้คุณสร้างและประมวลผลเอกสาร MS Word นอกเหนือจากคุณสมบัติการทำงานอัตโนมัติของ Word ขั้นพื้นฐานและขั้นสูงแล้ว API ยังให้คุณแยกเอกสาร Word ออกเป็นหลายเอกสาร คุณสามารถ ดาวน์โหลด API หรือติดตั้งภายในแอปพลิเคชันที่ใช้ 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.1</version>
<classifier>jdk17</classifier>
</dependency>
ตัวแยกเอกสาร Word - คลาสตัวช่วย
ก่อนที่คุณจะเริ่มแยกเอกสาร คุณจะต้องเพิ่มคลาสตัวช่วยต่อไปนี้ในโครงการของคุณที่ใช้ตัวแยกเอกสาร Java ตาม Aspose.Words for Java เมื่อคุณเพิ่มชั้นเรียนแล้ว คุณสามารถดำเนินการแยกเอกสารโดยใช้ตัวอย่างโค้ดที่มีให้ในส่วนด้านล่าง
แยก Word DOCX โดยใช้ Java
ก่อนอื่น เรามาดูวิธีแบ่งเอกสาร MS Word ทีละหน้ากันก่อน ในกรณีนี้ แต่ละหน้าของเอกสารต้นฉบับจะถูกแปลงเป็นเอกสาร Word แยกต่างหาก ต่อไปนี้เป็นขั้นตอนในการแยกหน้าเอกสาร Word
- โหลดเอกสาร Word โดยใช้คลาส Document
- สร้างวัตถุของ PageSplitter และเริ่มต้นด้วยวัตถุ Document
- วนซ้ำหน้าต่างๆ ในเอกสาร
- ใช้เมธอด PageSplitter.getDocumentOfPage(Int pageIndex) เพื่อดึงข้อมูลแต่ละหน้าเป็นวัตถุ Document
- บันทึกเอกสารโดยใช้เมธอด Document.save(String)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกเอกสาร Word โดยใช้ Java
// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-words/Aspose.Words-for-Java
// เปิดเอกสาร Word
Document doc = new Document("Word.docx");
// แยกโหนดในเอกสารออกเป็นหน้าต่างๆ
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// บันทึกแต่ละหน้าเป็นเอกสารแยกต่างหาก
for (int page = 1; page <= doc.getPageCount(); page++)
{
Document pageDoc = splitter.getDocumentOfPage(page);
pageDoc.save("SplitDocumentByPage_" + page + ".docx");
}
ใช้ช่วงหน้าเพื่อแยก Word DOCX ใน Java
คุณยังสามารถกำหนดช่วงหน้าที่คุณต้องการแยกจากเอกสาร Word ต้นทาง ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้
- โหลดเอกสาร Word โดยใช้คลาส Document
- สร้างวัตถุของ PageSplitter และเริ่มต้นด้วยวัตถุ Document
- ใช้เมธอด PageSplitter.getDocumentOfPageRange(Int, Int) เพื่อดึงคอลเล็กชันของหน้าในวัตถุ Document
- บันทึกเอกสารโดยใช้เมธอด Document.save(String)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแยกเอกสาร Word ตามช่วงหน้าโดยใช้ Java
// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-words/Aspose.Words-for-Java
// เปิดเอกสาร Word
Document doc = new Document("Word.docx");
// แยกโหนดในเอกสารออกเป็นหน้าต่างๆ
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// รับส่วนหนึ่งของเอกสาร
Document pageDoc = splitter.getDocumentOfPageRange(3,6);
pageDoc.save("SplitDocumentByPageRange.docx");
แยกเอกสาร Word ตามส่วนโดยใช้ Java
Aspose.Words for Java ยังอนุญาตให้คุณแยกเอกสาร Word โดยแบ่งส่วน ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้
- โหลดเอกสาร Word โดยใช้คลาส Document
- วนซ้ำแต่ละส่วนของเอกสารโดยใช้เมธอด Document.getSections()
- โคลนส่วนลงในวัตถุ Section โดยใช้เมธอด Document.getSections().get(index).deepClone()
- สร้างเอกสารใหม่และเพิ่มส่วนที่โคลนลงในเอกสารโดยใช้เมธอด Document.getSections().add(Section)
- บันทึกเอกสารโดยใช้เมธอด Document.save(String)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแบ่งเอกสาร Word ตามส่วนต่างๆ โดยใช้ Java
// โหลดเอกสาร Word DOCX
Document doc = new Document("word.docx");
for (int i = 0; i < doc.getSections().getCount(); i++) {
// แบ่งเอกสารออกเป็นส่วนย่อยๆ ในกรณีนี้ให้แยกตามส่วน
Section section = doc.getSections().get(i).deepClone();
// สร้างเอกสารใหม่
Document newDoc = new Document();
newDoc.getSections().clear();
// เพิ่มส่วน
Section newSection = (Section) newDoc.importNode(section, true);
newDoc.getSections().add(newSection);
// บันทึกแต่ละส่วนเป็นเอกสารแยกต่างหาก
newDoc.save("splitted_" + i + ".docx");
}
รับใบอนุญาต API ฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อทดลองใช้ API โดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีแยก MS Word DOCX/DOC โดยใช้ Java คำแนะนำทีละขั้นตอนและตัวอย่างโค้ดแสดงวิธีแยกเอกสาร Word ตามส่วน หน้า หรือช่วงของหน้า คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ Java Word API โดยใช้ เอกสารประกอบ