قارن مستندات Word باستخدام REST API في Node.js

بصفتك مطور Node.js ، يمكنك بسهولة مقارنة مستندين أو أكثر من مستندات Word لأوجه التشابه والاختلاف برمجيًا على السحابة. يمكن أن يساعدك في تتبع التغييرات في إصدارات مختلفة من نفس مستند Word أو مستندات مختلفة. في هذه المقالة ، ستتعلم كيفية مقارنة مستندين أو أكثر من مستندات Word باستخدام واجهة برمجة تطبيقات REST في Node.js.

سيتم تناول الموضوعات التالية في هذه المقالة:

REST API و Node.js SDK لمقارنة مستندات Word

لمقارنة ملفين أو أكثر من ملفات DOCX ، سنستخدم Node.js SDK من GroupDocs.Comparison Cloud API. يسمح لك بمقارنة وثيقتين أو أكثر والعثور على الاختلافات في الملف الناتج. يمكنك بسهولة دمج SDK في تطبيقات Node.js الحالية الخاصة بك لمقارنة المستندات وجداول البيانات والعروض التقديمية ومخططات Visio ورسائل البريد الإلكتروني وملفات العديد من التنسيقات الأخرى المدعومة.

يمكنك تثبيت GroupDocs.Comparison Cloud على تطبيق Node.js الخاص بك باستخدام الأمر التالي في وحدة التحكم:

npm install groupdocs-comparison-cloud

يرجى الحصول على معرف العميل والسرية من لوحة التحكم قبل اتباع الخطوات المذكورة. بمجرد حصولك على المعرف والسر الخاص بك ، قم بإضافة الرمز كما هو موضح أدناه:

global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";

const config = new groupdocs_comparison_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

قارن بين ملفي Word باستخدام واجهة برمجة تطبيقات REST في Node.js

يمكنك مقارنة مستندات Word الخاصة بك برمجيًا باتباع الخطوات البسيطة الواردة أدناه:

  1. تحميل ملفات DOCX إلى السحابة
  2. [مقارنة ملفات Word باستخدام Node.js](# Compare-Word-Files-using-Node-js)
  3. تنزيل ملف DOCX الناتج

قم بتحميل ملفات DOCX

أولاً ، قم بتحميل ملفات DOCX المصدر والهدف إلى السحابة باستخدام نموذج الكود التالي:

// بناء FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);
let resourcesFolder = 'C:\\Files\\comparison\\uploads\\';

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    console.log(file);
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      let request = new groupdocs_comparison_cloud.UploadFileRequest(file, fileStream, myStorage);
      fileApi.uploadFile(request);
    });
  });
});

نتيجة لذلك ، ستكون ملفات DOCX التي تم تحميلها متاحة في قسم الملفات من لوحة المعلومات الخاصة بك على السحابة.

قارن ملفات Word باستخدام Node.js

يمكنك مقارنة مستندين من مستندات Word برمجيًا باتباع الخطوات الواردة أدناه:

  • أولاً ، قم بإنشاء مثيل لـ CompareApi.
  • بعد ذلك ، قم بإنشاء مثيل FileInfo وقم بتعيين مسار ملف DOCX لإدخال المصدر.
  • ثم قم بإنشاء مثيل آخر من FileInfo وقم بتعيين مسار ملف DOCX للإدخال الهدف.
  • بعد ذلك ، قم بإنشاء مثيل لـ ComparisonOptions وقم بتعيين ملفات المصدر والهدف.
  • ثم قم بتعيين مسار ملف الإخراج.
  • بعد ذلك ، قم بإنشاء طلب المقارنة مع ComparisonOptions.
  • أخيرًا ، احصل على النتائج عن طريق استدعاء طريقة CompareApi.comparisons() باستخدام ComparisonsRequest.

يوضح نموذج التعليمات البرمجية التالي كيفية مقارنة ملفين Word باستخدام REST API في Node.js.

// تهيئة api
let يقارنApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// مصدر الملف
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";

// الملف الهدف
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.docx";

// تحديد خيارات المقارنة
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "يقارنd/result_يقارنOptions.docx";

// طلب إنشاء مقارنات
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// يقارن
let response = await يقارنApi.comparisons(request);
console.log("Output file link: " + response.href);
ملفات المصدر والهدف.

ملفات المصدر والهدف.

قارن بين ملفي Word باستخدام واجهة برمجة تطبيقات REST في Node.js

قارن بين ملفي Word باستخدام واجهة برمجة تطبيقات REST في Node.js

قم بتنزيل الملف الناتج

سيحفظ نموذج الكود أعلاه الاختلافات في ملف DOCX تم إنشاؤه حديثًا على السحابة. يمكنك تنزيله باستخدام نموذج التعليمات البرمجية التالي:

// بناء FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);

// طلب إنشاء ملف تنزيل
let request = new groupdocs_comparison_cloud.DownloadFileRequest("compared/result_compareOptions.docx", myStorage);

// تحميل الملف
let response = await fileApi.downloadFile(request);

// حفظ في دليل العمل
fs.writeFile("C:\\Files\\comparison\\result_compareOptions.docx", response, "binary", function (err) { });

قارن ملفات DOCX المتعددة باستخدام Node.js

يمكنك مقارنة عدة مستندات Word برمجيًا باتباع الخطوات الواردة أدناه:

  • أولاً ، قم بإنشاء مثيل لـ CompareApi.
  • بعد ذلك ، قم بإنشاء مثيل FileInfo وقم بتعيين مسار ملف DOCX لإدخال المصدر.
  • ثم قم بإنشاء مثيل آخر من FileInfo وقم بتعيين مسار ملف DOCX للإدخال الهدف.
  • كرر الخطوات المذكورة أعلاه لإضافة ملفات هدف متعددة.
  • بعد ذلك ، قم بإنشاء مثيل لـ ComparisonOptions وقم بتعيين ملفات المصدر والهدف.
  • ثم قم بتعيين مسار ملف الإخراج.
  • بعد ذلك ، قم بإنشاء طلب المقارنة مع ComparisonOptions.
  • أخيرًا ، احصل على النتائج عن طريق استدعاء طريقة CompareApi.comparisons() باستخدام ComparisonsRequest

يوضح نموذج التعليمات البرمجية التالي كيفية مقارنة عدة ملفات Word باستخدام واجهة برمجة تطبيقات REST في Node.js.

// تهيئة api
let يقارنApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// مصدر الملف
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";

// الملف الهدف 1
let target1 = new groupdocs_comparison_cloud.FileInfo();
target1.filePath = "target1.docx";

// الملف الهدف 2
let target2 = new groupdocs_comparison_cloud.FileInfo();
target2.filePath = "target2.docx";

// تحديد خيارات المقارنة
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target1, target2];
options.outputPath = "يقارنd/result_Multiple.docx";

// طلب إنشاء مقارنات
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// يقارن
let response = await يقارنApi.comparisons(request);
console.log("Output file link: " + response.href);

احصل على قائمة التغييرات باستخدام REST API في Node.js

يمكنك الحصول على قائمة كاملة بالاختلافات التي تم العثور عليها بعد مقارنة مستندات Word برمجيًا باتباع الخطوات الواردة أدناه:

  • أولاً ، قم بإنشاء مثيل لـ CompareApi
  • بعد ذلك ، قم بإنشاء مثيل FileInfo وقم بتعيين مسار ملف DOCX لإدخال المصدر
  • ثم قم بإنشاء مثيل آخر من FileInfo وقم بتعيين مسار ملف DOCX للإدخال الهدف
  • بعد ذلك ، قم بإنشاء مثيل لـ ComparisonOptions وقم بتعيين ملفات المصدر والهدف
  • ثم قم بتعيين مسار ملف الإخراج
  • بعد ذلك ، قم بإنشاء PostChangesRequest مع ComparisonOptions
  • بعد ذلك ، احصل على النتائج عن طريق استدعاء الأسلوب CompareApi.postChanges() باستخدام PostChangesRequest
  • أخيرًا ، اعرض جميع التغييرات واحدة تلو الأخرى

يوضح نموذج التعليمات البرمجية التالي كيفية الحصول على قائمة بالتغييرات باستخدام واجهة برمجة تطبيقات REST في Node.js.

// تهيئة api
let compareApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// مصدر الملف
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";

// الملف الهدف
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.docx";

// تحديد خيارات المقارنة
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "compared/result.docx";

// إنشاء طلب تغيير آخر
let request = new groupdocs_comparison_cloud.PostChangesRequest(options);

// بعد التغييرات
let changes = await compareApi.postChanges(request);

console.log("Changes count: " + changes.length);

changes.forEach(change => {
  console.log(change.id + 1 +"- Target Text: " + change.targetText + ", Text: " + change.text + ", Type: " + change.type);
});
احصل على قائمة التغييرات باستخدام REST API في Node.js

احصل على قائمة التغييرات باستخدام REST API في Node.js

تخصيص نتائج المقارنة باستخدام Node.js

يمكنك بسهولة تخصيص نمط التغييرات برمجيًا باتباع الخطوات الواردة أدناه:

  • أولاً ، قم بإنشاء مثيل لـ CompareApi.
  • بعد ذلك ، قم بإنشاء مثيل FileInfo وقم بتعيين مسار ملف DOCX لإدخال المصدر.
  • ثم قم بإنشاء مثيل آخر من FileInfo وقم بتعيين مسار ملف DOCX للإدخال الهدف.
  • بعد ذلك ، قم بإنشاء مثيل للإعدادات وقم بتعيين إعدادات مقارنة مختلفة مثل sensitivityOfComparison.
  • بعد ذلك ، قم بإنشاء مثيلات من ItemsStyle لـ insertedItemsStyle و deleteItemsStyle و changeItemsStyle.
  • بعد ذلك ، قم بتعيين خصائص مختلفة لكل ItemsStyle مثل highColor ، و fontColor ، و bold ، و italic ، إلخ.
  • بعد ذلك ، قم بإنشاء مثيل لـ ComparisonOptions وقم بتعيين ملفات المصدر والهدف.
  • ثم قم بتعيين مسار ملف الإخراج.
  • بعد ذلك ، قم بتعيين الإعدادات إلى ComparisonOptions
  • بعد ذلك ، قم بإنشاء طلب المقارنة مع خيار المقارنة.
  • أخيرًا ، احصل على النتائج عن طريق استدعاء طريقة CompareApi.comparisons() باستخدام ComparisonsRequest

يوضح نموذج التعليمات البرمجية التالي كيفية تخصيص نتائج المقارنة باستخدام واجهة برمجة تطبيقات REST في Node.js.

// تهيئة api
let يقارنApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// مصدر الملف
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";

// الملف الهدف
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.docx";

// تحديد إعدادات المقارنة
let settings = new groupdocs_comparison_cloud.Settings();

// قارن الحساسية
settings.sensitivityOfComparison = 100;

// تخصيص نمط التغييرات للعناصر المدرجة
settings.insertedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.insertedItemsStyle.highlightColor = "14297642";
settings.insertedItemsStyle.fontColor = "16711680";
settings.insertedItemsStyle.underline = true;

// تخصيص نمط التغييرات للعناصر المحذوفة
settings.deletedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.deletedItemsStyle.fontColor = "14166746";
settings.deletedItemsStyle.bold = true;

// تخصيص نمط التغييرات للعناصر المتغيرة
settings.changedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.changedItemsStyle.fontColor = "14320170";
settings.changedItemsStyle.italic = true;

// تحديد خيارات المقارنة
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "يقارنd/result_يقارنOptions.docx";
options.settings = settings;

// طلب إنشاء مقارنات
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// يقارن
let response = await يقارنApi.comparisons(request);
console.log("Output file link: " + response.href);

جرب عبر الإنترنت

يرجى تجربة أداة مقارنة DOCX المجانية التالية عبر الإنترنت ، والتي تم تطويرها باستخدام واجهة برمجة التطبيقات المذكورة أعلاه. https://products.groupdocs.app/comparison/docx

خاتمة

في هذه المقالة ، تعلمت كيفية مقارنة مستندات Word باستخدام واجهة برمجة تطبيقات REST على السحابة. علاوة على ذلك ، لقد رأيت كيفية مقارنة عدة ملفات DOCX برمجيًا. توضح هذه المقالة أيضًا كيفية تحميل ملف DOCX برمجيًا إلى السحابة ثم تنزيل الملف الناتج من السحابة. بالإضافة إلى ذلك ، يمكنك معرفة المزيد حول GroupDocs.Comparison Cloud API باستخدام التوثيق. نوفر أيضًا قسم مرجع واجهة برمجة التطبيقات الذي يتيح لك تصور واجهات برمجة التطبيقات الخاصة بنا والتفاعل معها مباشرةً من خلال المتصفح. في حالة وجود أي غموض ، فلا تتردد في الاتصال بنا على المنتدى.

أنظر أيضا