Compare
محتويات
[
يخفي
]Compare(Document, string, DateTime)
يقارن هذا المستند بمستند آخر وينتج تغييرات حسب عدد عمليات التحرير والتنسيقRevision
.
public void Compare(Document document, string author, DateTime dateTime)
معامل | يكتب | وصف |
---|---|---|
document | Document | وثيقة للمقارنة. |
author | String | الأحرف الأولى من اسم المؤلف لاستخدامها في المراجعات. |
dateTime | DateTime | التاريخ والوقت المستخدم للمراجعة. |
ملاحظات
لا يجوز إجراء أي تعديلات على المستندات قبل المقارنة.
أمثلة
يوضح كيفية مقارنة المستندات.
Document docOriginal = new Document();
DocumentBuilder builder = new DocumentBuilder(docOriginal);
builder.Writeln("This is the original document.");
Document docEdited = new Document();
builder = new DocumentBuilder(docEdited);
builder.Writeln("This is the edited document.");
// مقارنة المستندات مع المراجعات سوف يؤدي إلى حدوث استثناء.
if (docOriginal.Revisions.Count == 0 && docEdited.Revisions.Count == 0)
docOriginal.Compare(docEdited, "authorName", DateTime.Now);
// بعد المقارنة، ستحصل الوثيقة الأصلية على مراجعة جديدة
// لكل عنصر مختلف في المستند المحرر.
foreach (Revision r in docOriginal.Revisions)
{
Console.WriteLine($"Revision type: {r.RevisionType}, on a node of type \"{r.ParentNode.NodeType}\"");
Console.WriteLine($"\tChanged text: \"{r.ParentNode.GetText()}\"");
}
// قبول هذه المراجعات سيؤدي إلى تحويل المستند الأصلي إلى المستند المحرر.
docOriginal.Revisions.AcceptAll();
Assert.AreEqual(docOriginal.GetText(), docEdited.GetText());
أنظر أيضا
- class Document
- مساحة الاسم Aspose.Words
- المجسم Aspose.Words
Compare(Document, string, DateTime, CompareOptions)
يقارن هذا المستند بمستند آخر وينتج تغييرات نتيجة لعدد من عمليات التحرير والتنسيقRevision
. يسمح بتحديد خيارات المقارنة باستخدامCompareOptions
.
public void Compare(Document document, string author, DateTime dateTime, CompareOptions options)
أمثلة
يوضح كيفية تصفية أنواع معينة من عناصر المستند عند إجراء مقارنة.
// قم بإنشاء المستند الأصلي واملأه بأنواع مختلفة من العناصر.
Document docOriginal = new Document();
DocumentBuilder builder = new DocumentBuilder(docOriginal);
// نص الفقرة المشار إليها مع حاشية ختامية:
builder.Writeln("Hello world! This is the first paragraph.");
builder.InsertFootnote(FootnoteType.Endnote, "Original endnote text.");
// طاولة:
builder.StartTable();
builder.InsertCell();
builder.Write("Original cell 1 text");
builder.InsertCell();
builder.Write("Original cell 2 text");
builder.EndTable();
// مربع النص:
Shape textBox = builder.InsertShape(ShapeType.TextBox, 150, 20);
builder.MoveTo(textBox.FirstParagraph);
builder.Write("Original textbox contents");
// حقل التاريخ:
builder.MoveTo(docOriginal.FirstSection.Body.AppendParagraph(""));
builder.InsertField(" DATE ");
// تعليق:
Comment newComment = new Comment(docOriginal, "John Doe", "J.D.", DateTime.Now);
newComment.SetText("Original comment.");
builder.CurrentParagraph.AppendChild(newComment);
//العنوان:
builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
builder.Writeln("Original header contents.");
// قم بإنشاء نسخة من مستندنا وقم بإجراء تحرير سريع على كل عنصر من عناصر المستند المستنسخ.
Document docEdited = (Document)docOriginal.Clone(true);
Paragraph firstParagraph = docEdited.FirstSection.Body.FirstParagraph;
firstParagraph.Runs[0].Text = "hello world! this is the first paragraph, after editing.";
firstParagraph.ParagraphFormat.Style = docEdited.Styles[StyleIdentifier.Heading1];
((Footnote)docEdited.GetChild(NodeType.Footnote, 0, true)).FirstParagraph.Runs[1].Text = "Edited endnote text.";
((Table)docEdited.GetChild(NodeType.Table, 0, true)).FirstRow.Cells[1].FirstParagraph.Runs[0].Text = "Edited Cell 2 contents";
((Shape)docEdited.GetChild(NodeType.Shape, 0, true)).FirstParagraph.Runs[0].Text = "Edited textbox contents";
((FieldDate)docEdited.Range.Fields[0]).UseLunarCalendar = true;
((Comment)docEdited.GetChild(NodeType.Comment, 0, true)).FirstParagraph.Runs[0].Text = "Edited comment.";
docEdited.FirstSection.HeadersFooters[HeaderFooterType.HeaderPrimary].FirstParagraph.Runs[0].Text =
"Edited header contents.";
// تؤدي مقارنة المستندات إلى إنشاء مراجعة لكل تعديل في المستند المحرر.
// يحتوي كائن CompareOptions على سلسلة من العلامات التي يمكنها قمع المراجعات
// على كل نوع من العناصر، وتجاهل التغيير الذي يحدث لهم بشكل فعال.
CompareOptions compareOptions = new CompareOptions
{
CompareMoves = false,
IgnoreFormatting = false,
IgnoreCaseChanges = false,
IgnoreComments = false,
IgnoreTables = false,
IgnoreFields = false,
IgnoreFootnotes = false,
IgnoreTextboxes = false,
IgnoreHeadersAndFooters = false,
Target = ComparisonTargetType.New
};
docOriginal.Compare(docEdited, "John Doe", DateTime.Now, compareOptions);
docOriginal.Save(ArtifactsDir + "Revision.CompareOptions.docx");
أنظر أيضا
- class CompareOptions
- class Document
- مساحة الاسم Aspose.Words
- المجسم Aspose.Words