Word dosyalarını programlı olarak karşılaştırmak, değişiklikleri algılamak, revizyon raporları oluşturmak veya belge politikalarını uygulamak zorunda olan arka uç hizmetleri için sık bir gereksinimdir. GroupDocs.Comparison Cloud SDK for Node.js Node.js uygulamaları için bu görevi basitleştiren güçlü bir API sağlar. Bu rehberde SDK’yı nasıl kuracağınızı, iki DOCX dosyasının tam bir karşılaştırmasını nasıl çalıştıracağınızı, eşdeğer cURL komutlarını nasıl kullanacağınızı, uygulamanın her bölümünü nasıl anlayacağınızı ve çözümünüzü güvenilir ve güvenli tutmak için en iyi uygulama önerilerini nasıl takip edeceğinizi öğreneceksiniz.

Tam Kod Örneği: Node.JS’de Word Belgelerini Karşılaştır

Aşağıdaki örnek, GroupDocs.Comparison Cloud SDK for Node.js kullanarak iki Word belgesini karşılaştırmak için tam uçtan uca bir iş akışını göstermektedir.

const GroupDocsComparisonCloud = require("@groupdocs/comparison-cloud");
const fs = require("fs");
const path = require("path");

// ==== Authentication =========================================================
const clientId = "YOUR_CLIENT_ID";
const clientSecret = "YOUR_CLIENT_SECRET";

const config = new GroupDocsComparisonCloud.Configuration(clientId, clientSecret);
const compareApi = new GroupDocsComparisonCloud.CompareApi(config);
const storageApi = new GroupDocsComparisonCloud.StorageApi(config);

// ==== File definitions =======================================================
const sourceFileName = "document1.docx";
const targetFileName = "document2.docx";
const resultFileName = "comparison_result.docx";

const sourceFilePath = path.resolve(__dirname, sourceFileName);
const targetFilePath = path.resolve(__dirname, targetFileName);

// ==== Main async function ====================================================
(async () => {
    try {
        // ---- Upload source document -----------------------------------------
        const sourceData = fs.readFileSync(sourceFilePath);
        const uploadSourceReq = new GroupDocsComparisonCloud.UploadFileRequest({
            path: sourceFileName,
            file: sourceData
        });
        await storageApi.uploadFile(uploadSourceReq);

// ---- Upload target document -----------------------------------------
        const targetData = fs.readFileSync(targetFilePath);
        const uploadTargetReq = new GroupDocsComparisonCloud.UploadFileRequest({
            path: targetFileName,
            file: targetData
        });
        await storageApi.uploadFile(uploadTargetReq);

// ---- Prepare comparison options --------------------------------------
        const compareOptions = new GroupDocsComparisonCloud.CompareOptions({
            sourceFile: new GroupDocsComparisonCloud.FileInfo({ filePath: sourceFileName }),
            targetFiles: [new GroupDocsComparisonCloud.FileInfo({ filePath: targetFileName })],
            outputPath: resultFileName,
            // optional: you can set settings like generateSummaryPage, showDeletedContent, etc.
        });

const compareRequest = new GroupDocsComparisonCloud.CompareDocumentRequest({
            compareOptions: compareOptions
        });

// ---- Execute comparison -----------------------------------------------
        const compareResult = await compareApi.compareDocument(compareRequest);
        console.log("Comparison completed. Result stored at:", compareResult.path);

// ---- (Optional) Clean up uploaded files --------------------------------
        await storageApi.deleteFile(new GroupDocsComparisonCloud.DeleteFileRequest({ path: sourceFileName }));
        await storageApi.deleteFile(new GroupDocsComparisonCloud.DeleteFileRequest({ path: targetFileName }));
        // Note: result file remains in storage; you can download it if needed.
    } catch (error) {
        console.error("Error during comparison:", error);
    }
})();

Not: Bu kod örneği temel işlevselliği göstermektedir. Projenizde kullanmadan önce, dosya yollarını ve yapılandırma değerlerini gerçek ortamınıza uygun şekilde güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğinden emin olun ve geliştirme ortamınızda kapsamlı bir şekilde test edin. Herhangi bir sorunla karşılaşırsanız, lütfen resmi dokümantasyona başvurun veya destek ekibi ile iletişime geçin.

cURL ve REST API ile Belge Karşılaştırması Yapma

Dil bağımsız bir yaklaşımı tercih ediyorsanız, aynı sonucu düz HTTP istekleriyle elde edebilirsiniz. Aşağıda temel cURL komutları yer almaktadır.

  1. Kimlik doğrulaması yapın ve bir erişim belirteci alın
    YOUR_CLIENT_ID ve YOUR_CLIENT_SECRET değerlerini kimlik bilgilerinizle değiştirin.
curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. Kaynak DOCX dosyasını yükleyin
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/document1.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary "@path/to/document1.docx"
  1. Hedef DOCX dosyasını yükleyin
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/document2.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary "@path/to/document2.docx"
  1. Karşılaştırma işlemini yürütün
curl -X POST "https://api.groupdocs.cloud/v2.0/comparison/compare" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "sourceFile": { "filePath": "document1.docx" },
           "targetFiles": [{ "filePath": "document2.docx" }],
           "outputPath": "comparison_result.docx"
         }'
  1. Karşılaştırma dosyasını indirin
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/comparison_result.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o comparison_result.docx

İstek yükleri ve yanıt formatları hakkında daha fazla ayrıntı için, resmi API belgeleri adresine bakın.

Node.JS Kodunda Word Belgelerini Karşılaştırma İşlemini Anlamak

Aşağıda tam örneğin adım adım açıklaması yer almaktadır:

  1. SDK ve Node.js modüllerini içe aktar
const GroupDocsComparisonCloud = require("@groupdocs/comparison-cloud");
const fs = require("fs");
const path = require("path");

GroupDocsComparisonCloud ad alanı, tüm API sınıflarına erişim sağlar.

  1. İstemci kimlik bilgileriyle yapılandırma oluşturun
const config = new GroupDocsComparisonCloud.Configuration(clientId, clientSecret);

Bu nesne, sonraki her API çağrısını kimlik doğrular.

  1. CompareApi ve StorageApi’yi Başlatın
const compareApi = new GroupDocsComparisonCloud.CompareApi(config);
const storageApi = new GroupDocsComparisonCloud.StorageApi(config);

CompareApi karşılaştırmayı yönetir, StorageApi ise dosya yüklemelerini ve silmelerini yönetir. Yöntem ayrıntıları için API referansına bakın.

  1. Kaynak ve hedef DOCX dosyalarını yükleyin
const uploadSourceReq = new GroupDocsComparisonCloud.UploadFileRequest({
    path: sourceFileName,
    file: sourceData
});
await storageApi.uploadFile(uploadSourceReq);

Aynı desen hedef dosya için de tekrarlanır.

  1. CompareOptions’ı yapılandırın ve karşılaştırmayı çalıştırın
const compareOptions = new GroupDocsComparisonCloud.CompareOptions({
    sourceFile: new GroupDocsComparisonCloud.FileInfo({ filePath: sourceFileName }),
    targetFiles: [new GroupDocsComparisonCloud.FileInfo({ filePath: targetFileName })],
    outputPath: resultFileName,
});
const compareRequest = new GroupDocsComparisonCloud.CompareDocumentRequest({
    compareOptions: compareOptions
});
const compareResult = await compareApi.compareDocument(compareRequest);

CompareOptions size işlemi ince ayar yapmanıza olanak tanır (ör. özet sayfa oluşturma). Sonuç nesnesi oluşturulan karşılaştırma belgesinin yolunu içerir.

  1. Geçici dosyaları temizle (isteğe bağlı)
await storageApi.deleteFile(new GroupDocsComparisonCloud.DeleteFileRequest({ path: sourceFileName }));
await storageApi.deleteFile(new GroupDocsComparisonCloud.DeleteFileRequest({ path: targetFileName }));

Yüklenen orijinal dosyaları kaldırmak depolamayı düzenli tutar.

GroupDocs.Comparison için Gereksinimler ve Kurulum

  1. Node.js sürümü - Node 14 veya daha yeni bir sürüm çalıştırdığınızdan emin olun.
  2. İstemci kimlik bilgilerini edinin - GroupDocs Cloud portalına kaydolun ve clientId ve clientSecret alın.
  3. SDK’yı kurun
npm install groupdocs-comparison-cloud
  1. (Opsiyonel) Örnek projeyi indirin - Depoyu GitHub sayfasından klonlayabilirsiniz.
  2. Ortamınızı yapılandırın - Kimlik bilgilerini ortam değişkenleri olarak ayarlayın veya koddaki yer tutucuları değiştirin.

İndirilebilir ikili dosyaların tam listesi için, indirme sayfasına bakın.

Word Belgesi Karşılaştırması için Verimli En İyi Uygulamalar

  • Girdi dosyalarını doğrulayın - Gereksiz API çağrılarından kaçınmak için dosyayı yüklemeden önce dosya boyutunu ve formatını kontrol edin.
  • Depolama oturumlarını yeniden kullanın - Dosyaları bir kez yükleyin ve gecikmeyi azaltmak için yollarını birden fazla karşılaştırma için yeniden kullanın.
  • Özet sayfasını yalnızca gerektiğinde etkinleştirin - Özet sayfası oluşturmak işlem süresini artırır; basit fark kontrolleri için devre dışı bırakın.
  • Büyük belgeleri asenkron olarak işleyin - 10 MB’den büyük DOCX dosyaları için, senkron olarak beklemek yerine iş durumunu periyodik olarak kontrol etmeyi düşünün.
  • Kimlik bilgilerini güvence altına alın - clientId ve clientSecret değerlerini ortam değişkenlerinde veya bir gizli yönetici içinde saklayın; asla kod içinde sabit olarak yazmayın.

Sonuç

Node.JS’te Word belgelerini karşılaştırmak, GroupDocs.Comparison Cloud SDK for Node.js ile çok kolaylaşır. Kurulum adımlarını izleyerek, sağlanan kod örneğini kullanarak ve isteğe bağlı olarak cURL ile REST API’yi kullanarak, güçlü belge karşılaştırmasını herhangi bir backend servisine entegre edebilirsiniz. Kimlik bilgilerinizi güvence altına almayı, geçici dosyaları temizlemeyi ve performans için karşılaştırma seçeneklerini ayarlamayı unutmayın. Üretim dağıtımları için lisanslı bir sürüme ihtiyacınız olacak; fiyatlandırma detayları ürün sayfasında mevcuttur ve değerlendirme için geçici bir lisans alabilirsiniz geçici lisans sayfası. Bugün denemeye başlayın ve Node.js uygulamalarınıza güvenilir belge farkı yeteneklerini getirin.

FAQs

  • Node.JS’de kod yazmadan Word belgelerini nasıl karşılaştırabilirim?
    Aynı işlemi REST çağrılarıyla kullanabilirsiniz. Bu makaledeki cURL örnekleri tam sıralamayı gösterir: kimlik doğrulama, dosyaları yükleme, karşılaştırma uç noktasını çağırma ve sonucu indirme.

  • Karşılaştırma için hangi dosya formatları destekleniyor?
    SDK, DOCX, DOC, ODT, RTF, ve TXT gibi formatları destekler. Tüm format adları büyük/küçük harfe duyarsızdır, ancak API referansında büyük harfle (ör. DOCX) belgelenmiştir.

  • Bir seferde iki’den fazla belgeyi karşılaştırabilir miyim?
    Evet. CompareOptions içindeki targetFiles dizisi birden fazla FileInfo nesnesi içerebilir, bu da bir kaynak dosyayı tek bir istek içinde birden fazla hedefe karşılaştırmanıza olanak tanır.

  • Karşılaştırma sonucunun görsel stilini özelleştirmenin bir yolu var mı?
    SDK, showDeletedContent, showInsertedContent ve generateSummaryPage gibi ayarlar sunar. Değişikliklerin nasıl vurgulanacağını kontrol etmek için bu özellikleri CompareOptions içinde ayarlayın. Tam seçenek listesi için resmi belgeler adresine bakın.

Daha Fazla Oku