GroupDocs.Comparison for .NET, belgeleri karşılaştırmanıza ve farklılıkları bulmanıza olanak tanıyan bir C# kitaplığıdır. GroupDocs ile Microsoft Word, Excel, PowerPoint, OpenDocument, PDF, Metin, HTML ve diğer birçok belgeyi karşılaştırın ve birleştirin, kaynak ve hedef belgeler arasındaki değişikliklerin bir listesini alın, değişiklikleri uygulayın veya reddedin ve sonuçları kaydedin .Karşılaştırma API’sı. Buna ek olarak GroupDocs.Comparison, kalın, italik, altı çizili, üstü çizili, yazı tipi türleri gibi stil ve biçimlendirme değişikliklerini belirleyebilir.

GroupDocs.Comparison tarafından kullanılan değişiklik algılama algoritmaları, farklı belge bölümleri ve bloklarındaki farklılıkların algılanmasına olanak tanır:

  • Metin blokları - paragraflar, kelimeler ve karakterler;
  • Tablolar;
  • Görüntüler;
  • şekiller vb.

İki metin dosyasını karşılaştırmak ve farklılıkları göstermek için basit adımlar şunlardır:

  • Kaynak belge yolu veya akışıyla Comparer nesnesini oluşturun;
  • Add yöntemini çağırın ve hedef belge yolunu veya akışını belirtin;
  • Karşılaştır yöntemini çağırın.

Aşağıdaki kod parçacığı, birkaç satır kod kullanarak belge karşılaştırmasının en basit durumunu gösterir.

Belgeleri yerel dosyadan karşılaştırın

using (Comparer comparer = new Comparer(“source.docx”))
{
    comparer.Add(“target.docx”);
    comparer.Compare(“result.docx”);
}

Akıştan belgeleri karşılaştırın

using (Comparer comparer = new Comparer(File.OpenRead(“source.docx”)))
{
    comparer.Add(File.OpenRead(“target.docx”));
    comparer.Compare(File.Create(“result.docx”));
}

Diyelim ki DOCX formatında farklı yıllarda akdedilmiş iki sözleşmeniz var. Bu sözleşmeleri karşılaştırmak için yukarıdaki kodu kullanırsanız, aşağıda gösterildiği gibi silinen öğelerin kırmızı, eklenenlerin mavi ve değiştirilenlerin yeşil olarak işaretlendiği bir DOCX dosyası elde edersiniz:

Algılanan farklılıkları Kabul Et veya Reddet

GroupDocs.Comparison, kaynak ve hedef belgeler arasındaki belirli değişiklikleri uygulama veya silme ve elde edilen belgeyi seçili değişikliklerle (veya bunlar olmadan) kaydetme yeteneği sağlar.

Ortaya çıkan belgede değişiklikleri uygulamak/reddetmek için adımlar aşağıdadır.

Aşağıdaki kod örneği, algılanan farklılıkların nasıl kabul/reddedileceğini gösterir.

using (Comparer comparer = new Comparer(“source.docx”))
{
    comparer.Add(“target.docx”);
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    changes[0].ComparisonAction = ComparisonAction.Reject;
    comparer.ApplyChanges(File.Create(“result.docx”), new SaveOptions(), new ApplyChangeOptions() { Changes = changes });
}

Belge sayfaları önizlemesi oluştur

GroupDocs.Comparison, bir Document sınıfının GeneratePreview yöntemini kullanarak kaynak, hedef ve sonuç belgeleri için sayfa önizlemeleri oluşturmaya olanak tanır.

PreviewOptions sınıfı, önizleme oluşturma sürecini yönetmek için kullanılır - istenen sayfa numaralarını, görüntü biçimini vb. belirtin.

Aşağıda, GroupDocs.Comparison API ile bir belge önizlemesi oluşturma adımları yer almaktadır:

  • Comparer sınıfının yeni bir örneğini oluşturun ve kaynak belge yolunu yapıcı parametresi olarak iletin;
  • Ekle yöntemini kullanarak karşılaştırmaya hedef belgeleri ekleyin;
  • Kaynak and Targets properties of Comparer object allows to access source and target documents and provides GeneratePreview method;
  • PreviewOptions nesnesini şu şekilde oluşturun:
    • her sayfa akışı oluşturma için temsilci (CreatePageStream olay işleyicisine bakın);
    • resim önizleme formatı - PNG / JPG / BMP;
    • işlenecek sayfa numaraları;
    • önizleme görüntülerinin özel boyutu (gerekirse).
  • Kaynak ve Targets belgesinin GeneratePreview yöntemini çağırın ve PreviewOptions dosyasını ona iletin.

Ortaya çıkan belge için sayfa önizlemelerini alın

using (Comparer comparer = new Comparer(“source.docx”))
{
    comparer.Add(“target.docx”);
    comparer.Compare(“result.docx”);
    Document document = new Document(File.OpenRead(“result.docx”));
    PreviewOptions previewOptions = new PreviewOptions(pageNumber =>
    {
        var pagePath = Path.Combine(“C:\\”, $"result\_{pageNumber}.png");
        return File.Create(pagePath);
    });
    previewOptions.PreviewFormat = PreviewFormats.PNG;
    previewOptions.PageNumbers = new int[] { 1, 2 };
    document.GeneratePreview(previewOptions);
}

Birden çok belgeyi karşılaştırın

GroupDocs.Comparison, ikiden fazla belgenin karşılaştırılmasına olanak tanır. Aşağıdaki kod örneği, birden çok belgenin programlı olarak nasıl karşılaştırılacağını gösterir.

using (Comparer comparer = new Comparer(“source.docx”)
{
    comparer.Add(“target1.docx”);
    comparer.Add(“target2.docx”);
    comparer.Add(“target3.docx”);
    comparer.Compare(“result.docx”);
}

Kurulum

NuGet, GroupDocs.Comparison for .NET’i indirmenin ve kurmanın en kolay yoludur. Kitaplığı herhangi bir işlevsel kısıtlama olmaksızın test etmek için lütfen geçici bir lisans alın.

Kitaplık hakkında daha fazla bilgi edinmek için lütfen belgelere bakın. Ayrıca ücretsiz teknik destek sunuyoruz, bu nedenle lütfen bize ulaşın çekinmeyin - yardımcı olmaktan memnuniyet duyarız.