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

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

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

แปลงเอกสาร

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

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

.NET

// Load the document from disk.
Document doc = new Document(dataDir + "Test File.docx");

// Save the document into HTML.
doc.Save(dataDir + "Document", SaveFormat.Html);

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

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

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

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

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

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

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();
// Load the document from disk.
Document doc = new Document(dataDir + "Test File (doc).docx");
HtmlSaveOptions options = new HtmlSaveOptions();
// HtmlSaveOptions.ExportRoundtripInformation property specifies
// Whether to write the roundtrip information when saving to HTML, MHTML or EPUB.
// Default value is true for HTML and false for MHTML and EPUB.
options.ExportRoundtripInformation = true;
doc.Save(dataDir + "ExportRoundtripInformation_out.html", options);

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

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

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

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

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

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

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

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();
string fileName = "Document.docx";
Document doc = new Document(dataDir + fileName);
HtmlSaveOptions saveOptions = new HtmlSaveOptions();
saveOptions.CssStyleSheetType = CssStyleSheetType.External;
saveOptions.ExportFontResources = true;
saveOptions.ResourceFolder = dataDir + @"\Resources";
saveOptions.ResourceFolderAlias = "http://example.com/resources";
doc.Save(dataDir + "ExportResourcesUsingHtmlSaveOptions.html", saveOptions);

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

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

  • ResourceFolder มีลำดับความสำคัญต่ำกว่าโฟลเดอร์ที่ระบุผ่าน FontsFolder, ImagesFolder และ CssStyleSheetFileName หากไม่มีโฟลเดอร์ที่ระบุใน ResourceFolder โฟลเดอร์นั้นจะถูกสร้างขึ้นโดยอัตโนมัติ
  • ResourceFolderAlias มีลำดับความสำคัญต่ำกว่า FontsFolderAlias และ ImagesFolderAlias หาก ResourceFolderAlias ว่างเปล่า ระบบจะใช้ค่าของคุณสมบัติ ResourceFolder เพื่อสร้าง URI ทรัพยากร หากตั้งค่า ResourceFolderAlias เป็น "" (จุด) URI ทรัพยากรจะมีเฉพาะชื่อไฟล์โดยไม่ระบุเส้นทาง

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

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

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

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();
string fileName = "Document.docx";
Document doc = new Document(dataDir + fileName);
HtmlSaveOptions saveOptions = new HtmlSaveOptions();
saveOptions.ExportFontResources = true;
saveOptions.ExportFontsAsBase64 = true;
dataDir = dataDir + "ExportFontsAsBase64_out.html";
doc.Save(dataDir, saveOptions);

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

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

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

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();
// Load the document from disk.
Document doc = new Document(dataDir + "Document.EpubConversion.docx");
// Create a new instance of HtmlSaveOptions. This object allows us to set options that control
// How the output document is saved.
HtmlSaveOptions saveOptions =
new HtmlSaveOptions();
// Specify the desired encoding.
saveOptions.Encoding = System.Text.Encoding.UTF8;
// 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.DocumentSplitCriteria = DocumentSplitCriteria.HeadingParagraph;
// Specify that we want to export document properties.
saveOptions.ExportDocumentProperties = true;
// Specify that we want to save in EPUB format.
saveOptions.SaveFormat = SaveFormat.Epub;
// Export the document as an EPUB file.
doc.Save(dataDir + "Document.EpubConversion_out.epub", saveOptions);

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