مقایسه اسناد Word با استفاده از REST API در Node.js

به عنوان یک توسعه دهنده Node.js، می توانید به راحتی دو یا چند سند Word را از نظر شباهت ها و تفاوت ها به صورت برنامه نویسی در فضای ابری مقایسه کنید. این می تواند به شما کمک کند تغییرات نسخه های مختلف یک سند Word یا اسناد مختلف را ردیابی کنید. در این مقاله، نحوه مقایسه دو یا چند سند Word را با استفاده از REST API در Node.js خواهید آموخت.

موضوعات زیر در این مقاله پوشش داده خواهد شد:

REST API و Node.js SDK برای مقایسه اسناد Word

برای مقایسه دو یا چند فایل DOCX، از Node.js SDK of GroupDocs.Comparison Cloud API استفاده خواهیم کرد. این به شما امکان می دهد دو یا چند سند را با هم مقایسه کنید و تفاوت ها را در یک فایل حاصل بیابید. شما به راحتی می توانید SDK را در برنامه های Node.js موجود خود ادغام کنید تا اسناد، صفحات گسترده، ارائه ها، نمودارهای Visio، ایمیل ها و فایل های [بسیاری از فرمت های پشتیبانی شده دیگر] را مقایسه کنید.

می‌توانید GroupDocs.Comparison Cloud را در برنامه Node.js خود با استفاده از دستور زیر در کنسول نصب کنید:

npm install groupdocs-comparison-cloud

لطفاً قبل از انجام مراحل ذکر شده [شناسه مشتری و راز خود را از داشبورد 4 دریافت کنید. هنگامی که شناسه و راز خود را دریافت کردید، کد را مطابق شکل زیر اضافه کنید:

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 API در Node.js

با دنبال کردن مراحل ساده زیر می توانید اسناد Word خود را به صورت برنامه نویسی مقایسه کنید:

  1. آپلود فایل‌های DOCX در Cloud
  2. مقایسه فایل‌های Word با استفاده از Node.js
  3. دانلود فایل DOCX حاصل

فایل های DOCX را آپلود کنید

ابتدا فایل های DOCX منبع و هدف را با استفاده از نمونه کد زیر در Cloud آپلود کنید:

// 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 ایجاد کنید و فایل های منبع و هدف را تعیین کنید.
  • سپس مسیر فایل خروجی را تنظیم کنید.
  • سپس ComparisonsRequest را با 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 API در Node.js

مقایسه دو فایل Word با استفاده از REST API در 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 ایجاد کنید و فایل های منبع و هدف را تعیین کنید.
  • سپس مسیر فایل خروجی را تنظیم کنید.
  • سپس ComparisonsRequest را با 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";

// فایل هدف 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 API در 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، deletedItemsStyle و changeItemsStyle ایجاد کنید.
  • سپس، ویژگی های مختلفی را برای هر ItemsStyle مانند highlightColor، fontColor، bold، italic و غیره تنظیم کنید.
  • پس از آن، یک نمونه از ComparisonOptions ایجاد کنید و فایل های منبع و هدف را تعیین کنید.
  • سپس مسیر فایل خروجی را تنظیم کنید.
  • سپس تنظیمات را به ComparisonOptions اختصاص دهید
  • پس از آن، ComparisonsRequest را با ComparisonOptions ایجاد کنید.
  • در نهایت، با فراخوانی متد CompareApi.comparisons() با ComparisonsRequest نتیجه بگیرید.

نمونه کد زیر نحوه سفارشی سازی نتایج مقایسه با استفاده از 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 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 زیر را که با استفاده از API بالا ایجاد شده است، امتحان کنید. https://products.groupdocs.app/comparison/docx

نتیجه

در این مقاله، نحوه مقایسه اسناد Word با استفاده از REST API در فضای ابری را یاد گرفتید. علاوه بر این، نحوه مقایسه چند فایل DOCX را به صورت برنامه‌ریزی مشاهده کرده‌اید. این مقاله همچنین نحوه آپلود برنامه‌ای یک فایل DOCX را در فضای ابری و سپس دانلود فایل حاصل از Cloud را توضیح داد. علاوه بر این، می‌توانید با استفاده از مستندات درباره GroupDocs.Comparison Cloud API اطلاعات بیشتری کسب کنید. ما همچنین یک بخش API Reference ارائه می‌کنیم که به شما امکان می‌دهد API‌های ما را مستقیماً از طریق مرورگر تجسم کرده و با آن‌ها تعامل داشته باشید. در صورت وجود هرگونه ابهام، لطفاً با ما در [تالار] تماس حاصل فرمایید14.

همچنین ببینید