قارن ملفات PDF باستخدام REST API في NodeJs

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

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

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

سأستخدم Node.js SDK من GroupDocs.Comparison Cloud API لمقارنة مستندات PDF. يسمح لك بمقارنة وثيقتين أو أكثر والعثور على الاختلافات. نتيجة لذلك ، يقوم بإنشاء ملف ناتج يحتوي على الاختلافات. كما يتيح لك قبول التغييرات المسترجعة أو رفضها. يمكنك دمجها بسهولة في تطبيقات Node.js الحالية الخاصة بك لمقارنة المستندات وجداول البيانات والعروض التقديمية ومخططات Visio ورسائل البريد الإلكتروني والملفات من العديد من التنسيقات الأخرى. كما أنها توفر تطبيقات .NET و Java و PHP و Python و Ruby SDK باعتبارها أعضاء عائلة مقارنة المستندات لواجهة برمجة التطبيقات السحابية.

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

npm install groupdocs-comparison-cloud --save

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

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";

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

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

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

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

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

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

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    // قراءة الملفات واحدا تلو الآخر
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      // طلب إنشاء ملف تحميل
      let request = new groupdocs_comparison_cloud.UploadFileRequest(file, fileStream, myStorage);
      // رفع ملف
      fileApi.uploadFile(request)
        .then(function (response) {
          console.log(file + " uploaded: " + response.uploaded.length);
        })
        .catch(function (error) {
          console.log("Error: " + error.message);
        });
    });
  });
});

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

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

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

  • قم بإنشاء مثيل لـ CompareApi
  • قم بتعيين ملف .pdf المصدر
  • قم بتعيين ملف .pdf الهدف
  • تحديد خيارات المقارنة
  • تعيين المصدر والملفات الهدف
  • قم بتعيين مسار ملف الإخراج
  • إنشاء طلب مقارنات
  • احصل على النتائج عن طريق استدعاء الأسلوب CompareApi.comparisons()

يوضح مثال الكود التالي كيفية مقارنة ملفي PDF باستخدام REST API في Node.js.

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

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

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

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

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

// يقارن
let response = await يقارنApi.comparisons(request);
console.log("Output file link: " + response.href);
قارن ملفات PDF باستخدام Node.js

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

يحتوي الملف الناتج أيضًا على صفحة ملخص في نهاية المستند كما هو موضح أدناه:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// يقارن
let response = await يقارنApi.comparisons(request);

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

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

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

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

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

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

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

// تحديد إعدادات المقارنة
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.pdf";
options.settings = settings;

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

// يقارن
let response = await يقارنApi.comparisons(request);

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

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

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

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

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

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

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

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

// إنشاء طلب مقارنة
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);
});
احصل على قائمة التغييرات باستخدام Node.js

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

قارن وحفظ بكلمة المرور والبيانات الوصفية باستخدام Node.js {#Compare-and-Save-with-Password-&-Metadata-using-Nodejs}

يرجى اتباع الخطوات المذكورة أدناه لحماية الملف الناتج بكلمة مرور وحفظه مع البيانات الوصفية:

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

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

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

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

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

let settings = new groupdocs_comparison_cloud.Settings();

// تعيين البيانات الوصفية
settings.metadata = new groupdocs_comparison_cloud.Metadata();
settings.metadata.author = "Author";
settings.metadata.company = "GroupDocs";
settings.metadata.lastSaveBy = "Last saved by";
settings.cloneMetadata = groupdocs_comparison_cloud.Settings.CloneMetadataEnum.FileAuthor;

// ضبط كلمة السر
settings.password = "password";
settings.passwordSaveOption = groupdocs_comparison_cloud.Settings.PasswordSaveOptionEnum.User;

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

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

// يقارن
let response = await يقارنApi.comparisons(request);

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

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

خاتمة

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

أنظر أيضا