แปลงเอกสารเป็น HTML, MHTML หรือ EPUB

เอกสารในรูปแบบเค้าโครงโฟลว์ HTML และ MHTML ก็ได้รับความนิยมอย่างมากเช่นกัน และสามารถใช้กับแพลตฟอร์มเว็บใดก็ได้ ด้วยเหตุนี้ การแปลงเอกสารเป็น HTML และ MHTML จึงเป็นคุณสมบัติที่สำคัญของ Aspose.Words

EPUB (ย่อมาจาก “สิ่งพิมพ์อิเล็กทรอนิกส์”) เป็นรูปแบบ HTML ที่ใช้กันทั่วไปในการจำหน่ายหนังสืออิเล็กทรอนิกส์ รูปแบบนี้ได้รับการรองรับอย่างสมบูรณ์ใน Aspose.Words สำหรับการส่งออกหนังสืออิเล็กทรอนิกส์ที่เข้ากันได้กับอุปกรณ์การอ่านส่วนใหญ่

แปลงเอกสาร

สำหรับการแปลงเป็น HTML, MHTML หรือ EPUB อย่างง่าย จะมีการใช้วิธีการโอเวอร์โหลดวิธี save อย่างใดอย่างหนึ่ง คุณสามารถบันทึกเอกสารลงในไฟล์หรือสตรีมและตั้งค่ารูปแบบการบันทึกเอกสารเอาต์พุตได้อย่างชัดเจน หรือกำหนดจากนามสกุลไฟล์

ตัวอย่างต่อไปนี้แสดงวิธีแปลง DOCX เป็น HTML โดยระบุรูปแบบการบันทึก:

# Load the document from disk.
doc = aw.Document(dataDir + "Test File.docx")

# Save the document into HTML.
doc.save(dataDir + "Document", aw.SaveFormat.HTML)

หากต้องการแปลงเอกสารเป็น MHTML หรือ EPUB ให้ใช้ SaveFormat.MHTML หรือ SaveFormat.EPUB ตามลำดับ

แปลงเอกสารด้วยข้อมูลไป-กลับ

รูปแบบ HTML ไม่รองรับฟีเจอร์ Microsoft Word มากมาย และหากเราจำเป็นต้องคืนค่าโมเดลเอกสารให้ใกล้เคียงกับต้นฉบับมากที่สุด เราจำเป็นต้องบันทึกข้อมูลเพิ่มเติมบางอย่างไว้ในไฟล์ HTML ข้อมูลดังกล่าวเรียกอีกอย่างว่า “ข้อมูลไป-กลับ” เพื่อจุดประสงค์นี้ Aspose.Words ให้ความสามารถในการส่งออกข้อมูลไปกลับเมื่อบันทึกเป็น HTML, MHTML หรือ EPUB โดยใช้คุณสมบัติ ส่งออก_ไป-กลับ_ข้อมูล การบันทึกข้อมูลไปกลับทำให้สามารถกู้คืนคุณสมบัติของเอกสาร เช่น แท็บ ความคิดเห็น ส่วนหัว และส่วนท้ายระหว่างการโหลดเอกสารของรูปแบบที่แสดงกลับเข้าไปในออบเจ็กต์ Document

ค่าเริ่มต้นคือ True สำหรับ HTML และ False สำหรับ MHTML และ EPUB:

  • เมื่อ True ข้อมูลไปกลับจะถูกส่งออกเป็น - aw - * คุณสมบัติ CSS ขององค์ประกอบ HTML ที่เกี่ยวข้อง
  • เมื่อ False จะไม่มีข้อมูลไปกลับที่จะส่งออกไปยังไฟล์ที่สร้างขึ้น

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการส่งออกข้อมูลไปกลับเมื่อแปลงเอกสารจาก DOCX เป็น HTML:

ระบุตัวเลือกการบันทึกเมื่อแปลงเป็น HTML

Aspose.Words อนุญาตให้แปลงเอกสาร Word เป็น HTML โดยใช้ตัวเลือกการบันทึกเริ่มต้นหรือแบบกำหนดเอง ตัวอย่างของตัวเลือกการบันทึกแบบกำหนดเองมีอธิบายไว้ด้านล่างนี้

ระบุโฟลเดอร์สำหรับการบันทึกทรัพยากร

การใช้ Aspose.Words ทำให้เราสามารถระบุโฟลเดอร์ทางกายภาพที่ทรัพยากรทั้งหมด เช่น รูปภาพ แบบอักษร และ CSS ภายนอก จะถูกบันทึกเมื่อแปลงเอกสารเป็น HTML โดยค่าเริ่มต้น นี่คือสตริงว่าง

การระบุคุณสมบัติ resource_folder เป็นวิธีที่ง่ายที่สุดในการตั้งค่าโฟลเดอร์ที่ควรเขียนทรัพยากรทั้งหมด เราสามารถใช้คุณสมบัติแต่ละรายการได้ เช่น fonts_folder ซึ่งจะบันทึกแบบอักษรลงในโฟลเดอร์ที่ระบุ และ images_folder ซึ่งบันทึกรูปภาพลงในโฟลเดอร์ที่ระบุ เมื่อมีการระบุเส้นทางสัมพัทธ์ fonts_folder และ images_folder อ้างถึงโฟลเดอร์ที่มีการประกอบโค้ดอยู่ resource_folder และ css_style_sheet_file_name อ้างอิงถึงโฟลเดอร์เอาต์พุตซึ่งมีเอกสาร HTML อยู่

ในตัวอย่างนี้ resource_folder ระบุเส้นทางสัมพัทธ์ เส้นทางนี้อ้างอิงถึงโฟลเดอร์เอาต์พุตที่บันทึกเอกสาร HTML ค่าของคุณสมบัติ resource_folder_alias ใช้เพื่อสร้าง URL สำหรับทรัพยากรทั้งหมด

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการทำงานกับคุณสมบัติเหล่านี้:

การใช้คุณสมบัติ resource_folder_alias เรายังสามารถระบุชื่อของโฟลเดอร์ที่ใช้ในการสร้าง URI ของทรัพยากรทั้งหมดที่เขียนลงในเอกสาร HTML นี่เป็นวิธีที่ง่ายที่สุดในการระบุวิธีสร้าง URI สำหรับไฟล์ทรัพยากรทั้งหมด ข้อมูลเดียวกันสามารถระบุสำหรับรูปภาพและแบบอักษรแยกกันผ่านคุณสมบัติ images_folder_alias และ fonts_folder_alias ตามลำดับ

อย่างไรก็ตาม ไม่มีคุณสมบัติเฉพาะสำหรับ CSS ลักษณะการทำงานของคุณสมบัติ fonts_folder, fonts_folder_alias, images_folder, images_folder_alias และ css_style_sheet_file_name จะไม่เปลี่ยนแปลง โปรดทราบว่าคุณสมบัติ css_style_sheet_file_name ใช้สำหรับการระบุชื่อโฟลเดอร์และชื่อไฟล์

  • resource_folder มีลำดับความสำคัญต่ำกว่าโฟลเดอร์ที่ระบุผ่าน fonts_folder, images_folder และ css_style_sheet_file_name หากไม่มีโฟลเดอร์ที่ระบุใน resource_folder โฟลเดอร์นั้นจะถูกสร้างขึ้นโดยอัตโนมัติ
  • resource_folder_alias มีลำดับความสำคัญต่ำกว่า fonts_folder_alias และ images_folder_alias หาก resource_folder_alias ว่างเปล่า ระบบจะใช้ค่าของคุณสมบัติ resource_folder เพื่อสร้าง URI ทรัพยากร หากตั้งค่า resource_folder_alias เป็น "" (จุด) URI ทรัพยากรจะมีเฉพาะชื่อไฟล์โดยไม่ระบุเส้นทาง

ส่งออกทรัพยากรแบบอักษรการเข้ารหัส Base64

Aspose.Words ให้ความสามารถในการระบุว่าควรฝังทรัพยากรแบบอักษรลงใน HTML ในการเข้ารหัส Base64 หรือไม่ ในการดำเนินการนี้ ให้ใช้คุณสมบัติ export_fonts_as_base64 ซึ่งเป็นส่วนขยายของคุณสมบัติ export_font_resources ตามค่าเริ่มต้น ค่าของมันคือ False และแบบอักษรจะถูกเขียนลงในไฟล์แยกกัน แต่หากตั้งค่าตัวเลือกนี้เป็น True แบบอักษรจะถูกฝังลงใน CSS ของเอกสารในการเข้ารหัส Base64 คุณสมบัติ export_fonts_as_base64 มีผลกับรูปแบบ HTML เท่านั้น และไม่ส่งผลต่อ EPUB และ MHTML

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการส่งออกแบบอักษรที่เข้ารหัส Base64 เป็น HTML:

ระบุตัวเลือกการบันทึกเมื่อแปลงเป็น EPUB

Aspose.Words อนุญาตให้แปลงเอกสาร Word เป็นรูปแบบ EPUB โดยใช้ตัวเลือกการบันทึกเริ่มต้นหรือแบบกำหนดเอง คุณสามารถระบุตัวเลือกจำนวนหนึ่งได้โดยส่งอินสแตนซ์ของ HtmlSaveOptions ไปยังวิธี save

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

# Load the document from disk.
doc = aw.Document(docs_base.my_dir + "Rendering.docx")

# Create a new instance of HtmlSaveOptions. This object allows us to set options that control
# How the output document is saved.
saveOptions = aw.saving.HtmlSaveOptions()

# Specify the desired encoding.
saveOptions.encoding = "utf-8"

# Specify at what elements to split the internal HTML at. This creates a new HTML within the EPUB 
# which allows you to limit the size of each HTML part. This is useful for readers which cannot read 
# HTML files greater than a certain size e.g 300kb.
saveOptions.document_split_criteria = aw.saving.DocumentSplitCriteria.HEADING_PARAGRAPH

# Specify that we want to export document properties.
saveOptions.export_document_properties = True

# Specify that we want to save in EPUB format.
saveOptions.save_format = aw.SaveFormat.EPUB

# Export the document as an EPUB file.
doc.save(docs_base.artifacts_dir + "Document.EpubConversion_out.epub", saveOptions)