Aspose::Words::Saving::HtmlSaveOptions::get_ExportRoundtripInformation method
Содержание
[
Скрывать
]HtmlSaveOptions::get_ExportRoundtripInformation method
Указывает, следует ли записывать информацию о круговом проходе при сохранении в HTML, MHTML или EPUB. Значение по умолчанию true для HTML и false для MHTML и EPUB.
bool Aspose::Words::Saving::HtmlSaveOptions::get_ExportRoundtripInformation() const
Примечания
Saving of the roundtrip information allows to restore document properties such as tab stops, comments, headers and footers during the HTML documents loading back into a Document object.
Когда true, информация о круговом проходе экспортируется как CSS‑свойства -aw-* соответствующих HTML‑элементов.
Когда false, информация о круговом проходе не выводится в создаваемые файлы.
Примеры
Показывает, как сохранять скрытые элементы при конвертации в .html.
auto doc = System::MakeObject<Aspose::Words::Document>(get_MyDir() + u"Rendering.docx");
// При конвертации документа в .html некоторые элементы, такие как скрытые закладки, исходные позиции фигур,
// или сноски будут либо удалены, либо преобразованы в обычный текст и фактически потеряны.
// Сохранение с объектом HtmlSaveOptions, у которого ExportRoundtripInformation установлен в true, сохранит эти элементы.
// Когда мы сохраняем документ в HTML, мы можем передать объект SaveOptions, чтобы определить
// как операция сохранения будет экспортировать элементы документа, которые HTML не поддерживает или не использует,
// например скрытые закладки и исходные позиции фигур.
// Если установить флаг "ExportRoundtripInformation" в значение "true", операция сохранения сохранит эти элементы.
// Если установить флаг "ExportRoundTripInformation" в значение "false", операция сохранения удалит эти элементы.
// Мы захотим сохранить такие элементы, если планируем загружать сохранённый HTML с помощью Aspose.Words,
// поскольку они могут снова пригодиться.
auto options = System::MakeObject<Aspose::Words::Saving::HtmlSaveOptions>();
options->set_ExportRoundtripInformation(exportRoundtripInformation);
doc->Save(get_ArtifactsDir() + u"HtmlSaveOptions.RoundTripInformation.html", options);
System::String outDocContents = System::IO::File::ReadAllText(get_ArtifactsDir() + u"HtmlSaveOptions.RoundTripInformation.html");
doc = System::MakeObject<Aspose::Words::Document>(get_ArtifactsDir() + u"HtmlSaveOptions.RoundTripInformation.html");
if (exportRoundtripInformation)
{
ASSERT_TRUE(outDocContents.Contains(u"<div style=\"-aw-headerfooter-type:header-primary; clear:both\">"));
ASSERT_TRUE(outDocContents.Contains(u"<span style=\"-aw-import:ignore\"> </span>"));
ASSERT_TRUE(outDocContents.Contains(System::String(u"td colspan=\"2\" style=\"width:210.6pt; border-style:solid; border-width:0.75pt 6pt 0.75pt 0.75pt; ") + u"padding-right:2.4pt; padding-left:5.03pt; vertical-align:top; -aw-border-bottom:0.5pt single #000000; " + u"-aw-border-left:0.5pt single #000000; -aw-border-right:6pt single #000000; -aw-border-top:0.5pt single #000000\">"));
ASSERT_TRUE(outDocContents.Contains(u"<li style=\"margin-left:30.2pt; padding-left:5.8pt; -aw-font-family:'Courier New'; -aw-font-weight:normal; -aw-number-format:'o'\">"));
ASSERT_TRUE(outDocContents.Contains(System::String(u"<img src=\"HtmlSaveOptions.RoundTripInformation.003.jpeg\" width=\"350\" height=\"180\" alt=\"\" ") + u"style=\"-aw-left-pos:0pt; -aw-rel-hpos:column; -aw-rel-vpos:paragraph; -aw-top-pos:0pt; -aw-wrap-type:inline\" />"));
ASSERT_TRUE(outDocContents.Contains(System::String(u"<span>Page number </span>") + u"<span style=\"-aw-field-start:true\"></span>" + u"<span style=\"-aw-field-code:' PAGE \\\\* MERGEFORMAT '\"></span>" + u"<span style=\"-aw-field-separator:true\"></span>" + u"<span>1</span>" + u"<span style=\"-aw-field-end:true\"></span>"));
ASSERT_EQ(1, doc->get_Range()->get_Fields()->LINQ_Count(static_cast<System::Func<System::SharedPtr<Aspose::Words::Fields::Field>, bool>>(static_cast<std::function<bool(System::SharedPtr<Aspose::Words::Fields::Field> f)>>([](System::SharedPtr<Aspose::Words::Fields::Field> f) -> bool
{
return f->get_Type() == Aspose::Words::Fields::FieldType::FieldPage;
}))));
}
else
{
ASSERT_TRUE(outDocContents.Contains(u"<div style=\"clear:both\">"));
ASSERT_TRUE(outDocContents.Contains(u"<span> </span>"));
ASSERT_TRUE(outDocContents.Contains(System::String(u"<td colspan=\"2\" style=\"width:210.6pt; border-style:solid; border-width:0.75pt 6pt 0.75pt 0.75pt; ") + u"padding-right:2.4pt; padding-left:5.03pt; vertical-align:top\">"));
ASSERT_TRUE(outDocContents.Contains(u"<li style=\"margin-left:30.2pt; padding-left:5.8pt\">"));
ASSERT_TRUE(outDocContents.Contains(u"<img src=\"HtmlSaveOptions.RoundTripInformation.003.jpeg\" width=\"350\" height=\"180\" alt=\"\" />"));
ASSERT_TRUE(outDocContents.Contains(u"<span>Page number 1</span>"));
ASSERT_EQ(0, doc->get_Range()->get_Fields()->LINQ_Count(static_cast<System::Func<System::SharedPtr<Aspose::Words::Fields::Field>, bool>>(static_cast<std::function<bool(System::SharedPtr<Aspose::Words::Fields::Field> f)>>([](System::SharedPtr<Aspose::Words::Fields::Field> f) -> bool
{
return f->get_Type() == Aspose::Words::Fields::FieldType::FieldPage;
}))));
}
См. также
- Class HtmlSaveOptions
- Namespace Aspose::Words::Saving
- Library Aspose.Words for C++