แยกเอกสาร Word Java

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

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 ตามช่วงหน้าโดยใช้ 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 ตามส่วนต่างๆ โดยใช้ 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 โดยใช้ เอกสารประกอบ

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