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

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

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

แปลงเอกสาร

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

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

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
// Load the document from disk.
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"Test File (docx).docx");
// Save the document into HTML.
doc->Save(outputDataDir + u"Document_out.html", 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ข้อมูลการเดินทางไปกลับจะถูกส่งออกเป็น-*CSSคุณสมบัติขององค์ประกอบHTMLที่เกี่ยวข้อง
  • เมื่อfalseไม่มีข้อมูลการเดินทางไปกลับที่จะส่งออกเป็นไฟล์ที่ผลิต

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

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
// Load the document from disk.
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"Test File (doc).doc");
System::SharedPtr<HtmlSaveOptions> options = System::MakeObject<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->set_ExportRoundtripInformation(true);
doc->Save(outputDataDir + u"ConvertDocumentToHtmlWithRoundtrip.html", options);

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

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

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

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

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

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

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

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
// The path to the documents directory.
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"Document.doc");
System::SharedPtr<HtmlSaveOptions> saveOptions = System::MakeObject<HtmlSaveOptions>();
saveOptions->set_CssStyleSheetType(CssStyleSheetType::External);
saveOptions->set_ExportFontResources(true);
saveOptions->set_ResourceFolder(outputDataDir + u"Resources");
doc->Save(outputDataDir + u"ExportResourcesUsingHtmlSaveOptions.html", saveOptions);

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

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

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

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

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

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

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"Document.doc");
System::SharedPtr<HtmlSaveOptions> saveOptions = System::MakeObject<HtmlSaveOptions>();
saveOptions->set_ExportFontResources(true);
saveOptions->set_ExportFontsAsBase64(true);
System::String outputPath = outputDataDir + u"ExportFontsAsBase64.html";
doc->Save(outputPath, saveOptions);

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

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

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

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
// Load the document from disk.
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"Document.EpubConversion.doc");
// Create a new instance of HtmlSaveOptions. This object allows us to set options that control
// How the output document is saved.
System::SharedPtr<HtmlSaveOptions> saveOptions = System::MakeObject<HtmlSaveOptions>();
// Specify the desired encoding.
saveOptions->set_Encoding(System::Text::Encoding::get_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->set_DocumentSplitCriteria(DocumentSplitCriteria::HeadingParagraph);
// Specify that we want to export document properties.
saveOptions->set_ExportDocumentProperties(true);
// Specify that we want to save in EPUB format.
saveOptions->set_SaveFormat(SaveFormat::Epub);
// Export the document as an EPUB file.
doc->Save(outputDataDir + u"ConvertDocumentToEPUB.ConvertDocumentToEPUB.epub", saveOptions);