Aspose::Words::Comparing::CompareOptions class
Содержание
[
Скрывать
]CompareOptions class
Позволяет выбирать дополнительные параметры для операции сравнения документов. Чтобы узнать больше, посетите статью документации Compare Documents.
class CompareOptions : public System::Object
Методы
| Метод | Описание |
|---|---|
| CompareOptions() | |
| get_AdvancedOptions() const | Указывает расширенные параметры сравнения, которые могут помочь получить более точный результат сравнения. |
| get_CompareMoves() const | Указывает, следует ли сравнивать различия между двумя документами. |
| get_Granularity() const | Указывает, отслеживаются ли изменения по символам или по словам. |
| get_IgnoreCaseChanges() const | True указывает, что сравнение документов не учитывает регистр. |
| get_IgnoreComments() const | Указывает, следует ли сравнивать различия в комментариях. |
| get_IgnoreDmlUniqueId() | Указывает, следует ли игнорировать различия в уникальном идентификаторе DrawingML. |
| get_IgnoreFields() const | Указывает, следует ли сравнивать различия в полях. |
| get_IgnoreFootnotes() const | Указывает, следует ли сравнивать различия в сносках и концевых сносках. |
| get_IgnoreFormatting() const | True указывает, что форматирование игнорируется. |
| get_IgnoreHeadersAndFooters() const | True указывает, что содержимое верхних и нижних колонтитулов игнорируется. |
| get_IgnoreTables() const | Указывает, следует ли сравнивать различия в данных, содержащихся в таблицах. |
| get_IgnoreTextboxes() const | Указывает, следует ли сравнивать различия в данных, содержащихся в текстовых полях. |
| get_Target() const | Указывает, какой документ будет использоваться в качестве цели во время сравнения. |
| GetType() const override | |
| Is(const System::TypeInfo&) const override | |
| set_CompareMoves(bool) | Сеттер для Aspose::Words::Comparing::CompareOptions::get_CompareMoves. |
| set_Granularity(Aspose::Words::Comparing::Granularity) | Сеттер для Aspose::Words::Comparing::CompareOptions::get_Granularity. |
| set_IgnoreCaseChanges(bool) | Сеттер для Aspose::Words::Comparing::CompareOptions::get_IgnoreCaseChanges. |
| set_IgnoreComments(bool) | Сеттер для Aspose::Words::Comparing::CompareOptions::get_IgnoreComments. |
| set_IgnoreDmlUniqueId(bool) | Сеттер для Aspose::Words::Comparing::CompareOptions::get_IgnoreDmlUniqueId. |
| set_IgnoreFields(bool) | Сеттер для Aspose::Words::Comparing::CompareOptions::get_IgnoreFields. |
| set_IgnoreFootnotes(bool) | Сеттер для Aspose::Words::Comparing::CompareOptions::get_IgnoreFootnotes. |
| set_IgnoreFormatting(bool) | Сеттер для Aspose::Words::Comparing::CompareOptions::get_IgnoreFormatting. |
| set_IgnoreHeadersAndFooters(bool) | Сеттер для Aspose::Words::Comparing::CompareOptions::get_IgnoreHeadersAndFooters. |
| set_IgnoreTables(bool) | Сеттер для Aspose::Words::Comparing::CompareOptions::get_IgnoreTables. |
| set_IgnoreTextboxes(bool) | Сеттер для Aspose::Words::Comparing::CompareOptions::get_IgnoreTextboxes. |
| set_Target(Aspose::Words::Comparing::ComparisonTargetType) | Сеттер для Aspose::Words::Comparing::CompareOptions::get_Target. |
| static Type() |
Примеры
Показывает, как фильтровать определённые типы элементов документа при выполнении сравнения.
// Создайте исходный документ и заполните его различными типами элементов.
auto docOriginal = System::MakeObject<Aspose::Words::Document>();
auto builder = System::MakeObject<Aspose::Words::DocumentBuilder>(docOriginal);
// Текст абзаца, на который ссылается конечная сноска:
builder->Writeln(u"Hello world! This is the first paragraph.");
builder->InsertFootnote(Aspose::Words::Notes::FootnoteType::Endnote, u"Original endnote text.");
// Таблица:
builder->StartTable();
builder->InsertCell();
builder->Write(u"Original cell 1 text");
builder->InsertCell();
builder->Write(u"Original cell 2 text");
builder->EndTable();
// Текстовое поле:
System::SharedPtr<Aspose::Words::Drawing::Shape> textBox = builder->InsertShape(Aspose::Words::Drawing::ShapeType::TextBox, 150, 20);
builder->MoveTo(textBox->get_FirstParagraph());
builder->Write(u"Original textbox contents");
// Поле DATE:
builder->MoveTo(docOriginal->get_FirstSection()->get_Body()->AppendParagraph(u""));
builder->InsertField(u" DATE ");
// Комментарий:
auto newComment = System::MakeObject<Aspose::Words::Comment>(docOriginal, u"John Doe", u"J.D.", System::DateTime::get_Now());
newComment->SetText(u"Original comment.");
builder->get_CurrentParagraph()->AppendChild<System::SharedPtr<Aspose::Words::Comment>>(newComment);
// Верхний колонтитул:
builder->MoveToHeaderFooter(Aspose::Words::HeaderFooterType::HeaderPrimary);
builder->Writeln(u"Original header contents.");
// Создайте клон нашего документа и выполните быстрое редактирование каждого элемента клонированного документа.
auto docEdited = System::ExplicitCast<Aspose::Words::Document>(System::ExplicitCast<Aspose::Words::Node>(docOriginal)->Clone(true));
System::SharedPtr<Aspose::Words::Paragraph> firstParagraph = docEdited->get_FirstSection()->get_Body()->get_FirstParagraph();
firstParagraph->get_Runs()->idx_get(0)->set_Text(u"hello world! this is the first paragraph, after editing.");
firstParagraph->get_ParagraphFormat()->set_Style(docEdited->get_Styles()->idx_get(Aspose::Words::StyleIdentifier::Heading1));
(System::ExplicitCast<Aspose::Words::Notes::Footnote>(docEdited->GetChild(Aspose::Words::NodeType::Footnote, 0, true)))->get_FirstParagraph()->get_Runs()->idx_get(1)->set_Text(u"Edited endnote text.");
(System::ExplicitCast<Aspose::Words::Tables::Table>(docEdited->GetChild(Aspose::Words::NodeType::Table, 0, true)))->get_FirstRow()->get_Cells()->idx_get(1)->get_FirstParagraph()->get_Runs()->idx_get(0)->set_Text(u"Edited Cell 2 contents");
(System::ExplicitCast<Aspose::Words::Drawing::Shape>(docEdited->GetChild(Aspose::Words::NodeType::Shape, 0, true)))->get_FirstParagraph()->get_Runs()->idx_get(0)->set_Text(u"Edited textbox contents");
(System::ExplicitCast<Aspose::Words::Fields::FieldDate>(docEdited->get_Range()->get_Fields()->idx_get(0)))->set_UseLunarCalendar(true);
(System::ExplicitCast<Aspose::Words::Comment>(docEdited->GetChild(Aspose::Words::NodeType::Comment, 0, true)))->get_FirstParagraph()->get_Runs()->idx_get(0)->set_Text(u"Edited comment.");
docEdited->get_FirstSection()->get_HeadersFooters()->idx_get(Aspose::Words::HeaderFooterType::HeaderPrimary)->get_FirstParagraph()->get_Runs()->idx_get(0)->set_Text(u"Edited header contents.");
// Сравнение документов создаёт ревизию для каждого изменения в отредактированном документе.
// Объект CompareOptions имеет набор флагов, которые могут подавлять изменения
// для каждого соответствующего типа элемента, эффективно игнорируя их изменения.
auto compareOptions = System::MakeObject<Aspose::Words::Comparing::CompareOptions>();
compareOptions->set_CompareMoves(false);
compareOptions->set_IgnoreFormatting(false);
compareOptions->set_IgnoreCaseChanges(false);
compareOptions->set_IgnoreComments(false);
compareOptions->set_IgnoreTables(false);
compareOptions->set_IgnoreFields(false);
compareOptions->set_IgnoreFootnotes(false);
compareOptions->set_IgnoreTextboxes(false);
compareOptions->set_IgnoreHeadersAndFooters(false);
compareOptions->set_Target(Aspose::Words::Comparing::ComparisonTargetType::New);
docOriginal->Compare(docEdited, u"John Doe", System::DateTime::get_Now(), compareOptions);
docOriginal->Save(get_ArtifactsDir() + u"Revision.CompareOptions.docx");
См. также
- Namespace Aspose::Words::Comparing
- Library Aspose.Words for C++