แก้ไข Word DOCX โดยใช้ Java

คุณสามารถแก้ไขรูปแบบเอกสารการประมวลผล Word ทั้งหมดโดยทางโปรแกรม เช่น DOC, DOCX หรือ DOTM ได้อย่างง่ายดาย ในฐานะนักพัฒนา Java คุณสามารถแก้ไขเอกสาร Word ในแอปพลิเคชัน Java ของคุณได้ ในบทความนี้ คุณจะได้เรียนรู้วิธีแก้ไขเอกสารคำโดยใช้ Java

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

Java API สำหรับการแก้ไขเอกสาร Word

สำหรับการแก้ไขไฟล์ DOCX ฉันจะใช้ GroupDocs.Editor for Java API ช่วยให้คุณสามารถแก้ไขเอกสารการประมวลผล Word, แผ่นงาน Excel หรือเอกสารในรูปแบบอื่นที่รองรับโดยทางโปรแกรม API ช่วยให้คุณสามารถโหลดเอกสารและแปลงเป็น HTML โดยจัดเตรียม HTML ให้กับ UI ภายนอกสำหรับการแก้ไข จากนั้นบันทึก HTML ลงในเอกสารต้นฉบับหลังจากการยักย้าย

คุณสามารถ ดาวน์โหลด JAR ของ API หรือเพียงเพิ่มการกำหนดค่า pom.xml ต่อไปนี้ในแอปพลิเคชัน Java ที่ใช้ Maven ของคุณเพื่อลองใช้ตัวอย่างโค้ดที่กล่าวถึงด้านล่าง

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-editor</artifactId>
        <version>20.11.0</version> 
</dependency>

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

คุณสามารถแก้ไขเอกสาร Word ได้อย่างง่ายดายโดยทางโปรแกรมโดยทำตามขั้นตอนง่าย ๆ ที่ระบุไว้ด้านล่าง:

  • กำหนด WordProcessingLoadOptions
  • สร้างอินสแตนซ์ของคลาส Editor
  • ระบุเส้นทางไปยังไฟล์ DOCX อินพุต
  • กำหนด WordProcessingEditOptions
  • เรียกใช้เมธอด edit() และรับอ็อบเจ็กต์ EditableDocument
  • หยิบเนื้อหาเอกสารและทรัพยากรที่เกี่ยวข้องจาก EditableDocument
  • เรียกใช้เมธอด getEmbeddedHtml() เพื่อรับเอกสารเป็นสตริงที่เข้ารหัส base64 เดียว
  • อัปเดตเนื้อหาโดยการเรียกเมธอดแทนที่ ()
  • เรียกใช้เมธอด fromMarkup() และสร้างอินสแตนซ์ EditableDocument ใหม่
  • กำหนด WordProcessingSaveOptions
  • เรียกใช้เมธอด save() และบันทึกไฟล์ที่อัพเดต
  • กำจัดวัตถุ

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแก้ไขไฟล์ DOCX โดยใช้ Java

//ไฟล์อินพุต
String inputFilePath = "C:\\Files\\Sample.docx";

//โหลดเอกสารพร้อมตัวเลือกการโหลด
WordProcessingLoadOptions wordLoadOptions = new WordProcessingLoadOptions();
wordLoadOptions.setPassword("some password"); // Password if required
Editor editor = new Editor(inputFilePath, wordLoadOptions);

// ระบุตัวเลือกการแก้ไข
WordProcessingEditOptions editOptions = new WordProcessingEditOptions();
editOptions.setEnableLanguageInformation(true);
editOptions.setEnablePagination(true);

//เปิดเอกสารอินพุตเพื่อแก้ไข
EditableDocument beforeEdit = editor.edit(editOptions);

//ดึงเนื้อหาเอกสารและทรัพยากรที่เกี่ยวข้องจากเอกสารที่แก้ไขได้
String content = beforeEdit.getContent();
List<IImageResource> images = beforeEdit.getImages();
List<FontResourceBase> fonts = beforeEdit.getFonts();
List<CssText> stylesheets = beforeEdit.getCss();

//รับเอกสารเป็นสตริงที่เข้ารหัส base64 เดียว โดยที่ทรัพยากรทั้งหมด (รูปภาพ แบบอักษร ฯลฯ) จะถูกฝังอยู่ภายในสตริงนี้พร้อมกับเนื้อหาที่เป็นข้อความหลัก
String allEmbeddedInsideString = beforeEdit.getEmbeddedHtml();
//แก้ไขเนื้อหา
String allEmbeddedInsideStringEdited = allEmbeddedInsideString.replace("Subtitle", "Edited subtitle");

//สร้างอินสแตนซ์ EditableDocument ใหม่จากเนื้อหาและทรัพยากรที่แก้ไข
EditableDocument afterEdit = EditableDocument.fromMarkup(allEmbeddedInsideStringEdited, null);

//เส้นทางเอกสารขาออก
String outputPath = "C:\\Files\\Sample_output.docx";
//บันทึกตัวเลือก
WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docx);
//สุดท้ายให้บันทึกลงในเส้นทาง
editor.save(afterEdit, outputPath, saveOptions);

//กำจัดวัตถุ
beforeEdit.dispose();
afterEdit.dispose();
editor.dispose();
แก้ไขเอกสาร Word โดยใช้ Java

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

คลาส WordprocessingLoadOptions มีตัวเลือกมากมายสำหรับการโหลดเอกสาร Word เช่น DOC, DOCX, RTF, ODT ฯลฯ ลงในคลาส Editor

  • วิธีการ setPassword อนุญาตให้ระบุรหัสผ่านสำหรับการเปิดเอกสารที่มีการป้องกันด้วยรหัสผ่าน

คลาส Editor เป็นคลาสหลักที่ให้วิธีการโหลด แก้ไข และบันทึกเอกสารทุกรูปแบบที่รองรับ

คลาส WordProcesingEditOptions ช่วยให้คุณสามารถระบุตัวเลือกที่กำหนดเองสำหรับการเปิดเอกสารการประมวลผล Word ที่จะแก้ไข

  • เมธอด setEnabledLanguageInformation ระบุว่าข้อมูลภาษาจะถูกส่งออกไปยังมาร์กอัป HTML ในรูปแบบของแอตทริบิวต์ HTML ’lang’ หรือไม่
  • วิธีการ setEnablePagination อนุญาตให้เปิดหรือปิดใช้งานการแบ่งหน้าในเอกสาร HTML ที่เป็นผลลัพธ์

คลาส EditableDocument จัดเก็บเอกสารภายในและจัดเตรียมวิธีการสำหรับการสร้างมาร์กอัป HTML และการผลิตทรัพยากร

คลาส WordProcessingSaveOptions มีตัวเลือกแบบกำหนดเองสำหรับการสร้างและบันทึกเอกสาร Word หลังจากแก้ไข

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

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

บทสรุป

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

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