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

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

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

PDF Signature REST API و Node.js SDK

لتوقيع مستندات PDF ، سنستخدم Node.js SDK من GroupDocs.Signature Cloud API. إنها تمكننا من إنشاء أنواع مختلفة من التوقيعات والتحقق منها والبحث عنها مثل الصور والباركود ورمز الاستجابة السريعة والتوقيعات النصية والرقمية والتوقيعات. الرجاء تثبيته باستخدام الأمر التالي في وحدة التحكم:

npm install groupdocs-signature-cloud

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

// يوضح مثال الرمز هذا كيفية إضافة معرف العميل والسرية في الكود.
global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";

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

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

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

قم بتحميل المستند

أولاً ، سنقوم بتحميل مستند PDF إلى السحابة باستخدام مثال الرمز الموضح أدناه:

// يوضح مثال الرمز هذا كيفية تحميل ملف PDF إلى السحابة.
// افتح الملف في IOStream من القرص المحلي / القرص.
var resourcesFolder = 'C:\\Files\\Signature\\sample.pdf';
fs.readFile(resourcesFolder, (err, fileStream) => {
  // بناء FileApi
  var fileApi = groupdocs_signature_cloud.FileApi.fromConfig(config);
  // رفع ملف
  var request = new groupdocs_signature_cloud.UploadFileRequest("sample.pdf", fileStream, myStorage);
  fileApi.uploadFile(request);
});

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

قم بتوقيع مستندات PDF باستخدام Stamp Signatures باستخدام Node.js

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

  • قم بإنشاء مثيل SignApi.
  • قم بتوفير مسار ملف PDF الذي تم تحميله.
  • قم بتهيئة كائن SignDigitalOptions وقم بتعيين خصائص مختلفة.
  • تعريف نص الختم باستخدام كائنات StampLine.
  • قم بتعيين ملف الإدخال و SignDigitalOptions و SaveOptions إلى كائن SignSettings.
  • أخيرًا ، قم بتوقيع ملف PDF باستخدام طريقة SignApi.createSignatures().

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

// يوضح مثال الرمز هذا كيفية توقيع مستند PDF بتوقيعات الطوابع.
// إنشاء مثيل لواجهة برمجة التطبيقات
let signApi = groupdocs_signature_cloud.SignApi.fromKeys(clientId, clientSecret);

// مسار ملف الإدخال
let fileInfo = new groupdocs_signature_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// تحديد خيارات ختم التوقيع
let opts = new groupdocs_signature_cloud.SignStampOptions();
opts.signatureType = groupdocs_signature_cloud.OptionsBase.SignatureTypeEnum.Stamp;

// تعيين موضع الختم وحجمه على الصفحة
opts.left = 200;
opts.top = 400;
opts.width = 300;
opts.height = 300;
opts.locationMeasureType = groupdocs_signature_cloud.SignTextOptions.LocationMeasureTypeEnum.Pixels;
opts.sizeMeasureType = groupdocs_signature_cloud.SignTextOptions.SizeMeasureTypeEnum.Pixels;
opts.rotationAngle = 0;
opts.horizontalAlignment = groupdocs_signature_cloud.SignTextOptions.HorizontalAlignmentEnum.None;
opts.verticalAlignment = groupdocs_signature_cloud.SignTextOptions.VerticalAlignmentEnum.None;

// أضف المساحة المتروكة
opts.margin = new groupdocs_signature_cloud.Padding();
opts.margin.all = 5;
opts.marginMeasureType = groupdocs_signature_cloud.SignTextOptions.MarginMeasureTypeEnum.Pixels;

// تعيين مظهر الطابع
opts.backgroundلون = new groupdocs_signature_cloud.لون();
opts.backgroundلون.web = "DarkOrange";
opts.backgroundلونCropType = groupdocs_signature_cloud.SignStampOptions.BackgroundلونCropTypeEnum.OuterArea;
opts.backgroundImageCropType = groupdocs_signature_cloud.SignStampOptions.BackgroundImageCropTypeEnum.InnerArea;

// تحديد مظهر نص المخطط التفصيلي الأول
let outline1 = new groupdocs_signature_cloud.StampLine();
outline1.text = " * Electronically Signed by GroupDocs.Signature * ";
// الخط
outline1.font = new groupdocs_signature_cloud.Signatureالخط();
outline1.font.fontFamily = "Arial";
outline1.font.fontSize = 11;
outline1.font.bold = true;
outline1.textBottomIntent = 6;
// لون
outline1.textلون = new groupdocs_signature_cloud.لون();
outline1.textلون.web = "WhiteSmoke";
outline1.textRepeatType = groupdocs_signature_cloud.StampLine.TextRepeatTypeEnum.FullTextRepeat;
// لون الخلفية
outline1.backgroundلون = new groupdocs_signature_cloud.لون();
outline1.backgroundلون.web = "DarkSlateBlue";
outline1.height = 22;
outline1.visible = true;

// تحديد مظهر نص المخطط التفصيلي الثاني
let outline2 = new groupdocs_signature_cloud.StampLine();
outline2.height = 2;
outline2.backgroundلون = new groupdocs_signature_cloud.لون();
outline2.backgroundلون.web = "White";
outline2.visible = true;

// تحديد مظهر نص المخطط التفصيلي الثالث
let outline3 = new groupdocs_signature_cloud.StampLine();
outline3.text = " * GroupDocs.Signature * ";
// الخط
outline3.font = new groupdocs_signature_cloud.Signatureالخط();
outline3.font.fontFamily = "Arial";
outline3.font.fontSize = 16;
outline3.textBottomIntent = 8;
outline3.textRepeatType = groupdocs_signature_cloud.StampLine.TextRepeatTypeEnum.FullTextRepeat;
// لون
outline3.textلون = new groupdocs_signature_cloud.لون();
outline3.textلون.web = "DarkSlateBlue";
// لون الخلفية
outline3.backgroundلون = new groupdocs_signature_cloud.لون();
outline3.backgroundلون.web = "White";
outline3.height = 30;
// الحد الداخلي
outline3.innerBorder = new groupdocs_signature_cloud.BorderLine();
outline3.innerBorder.color = new groupdocs_signature_cloud.لون();
outline3.innerBorder.color.web = "DarkSlateBlue";
outline3.innerBorder.style = groupdocs_signature_cloud.BorderLine.StyleEnum.Dot;
outline3.innerBorder.weight = 1.2;
// الحد الخارجي
outline3.outerBorder = new groupdocs_signature_cloud.BorderLine();
outline3.outerBorder.color = new groupdocs_signature_cloud.لون();
outline3.outerBorder.color.web = "DarkSlateBlue";
outline3.outerBorder.weight = 1.4;
outline3.visible = true;

opts.outerLines = [outline1, outline2, outline3];

// حدد أول نص مضمّن
let innerline = new groupdocs_signature_cloud.StampLine();
innerline.text = "GroupDocs";

innerline.font = new groupdocs_signature_cloud.Signatureالخط();
innerline.font.fontFamily = "Times New Roman";
innerline.font.fontSize = 20;
innerline.font.bold = true;
innerline.textلون = new groupdocs_signature_cloud.لون();
innerline.textلون.web = "MediumVioletRed";
innerline.textRepeatType = groupdocs_signature_cloud.StampLine.TextRepeatTypeEnum.None;
innerline.height = 40;
innerline.visible = true;

// حدد ثاني نص مضمن
let innerline2 = new groupdocs_signature_cloud.StampLine();
innerline2.text = "Signature";

innerline2.font = new groupdocs_signature_cloud.Signatureالخط();
innerline2.font.fontSize = 20;
innerline2.font.bold = true;
innerline2.textلون = new groupdocs_signature_cloud.لون();
innerline2.textلون.web = "MediumVioletRed";
innerline2.textRepeatType = groupdocs_signature_cloud.StampLine.TextRepeatTypeEnum.None;
innerline2.height = 40;
innerline2.visible = true;

// حدد ثالث نص مضمن
let innerline3 = new groupdocs_signature_cloud.StampLine();
innerline3.text = "Cloud";

innerline3.font = new groupdocs_signature_cloud.Signatureالخط();
innerline3.font.fontSize = 20;
innerline3.font.bold = true;
innerline3.textلون = new groupdocs_signature_cloud.لون();
innerline3.textلون.web = "MediumVioletRed";
innerline3.textRepeatType = groupdocs_signature_cloud.StampLine.TextRepeatTypeEnum.None;
innerline3.height = 40;
innerline3.visible = true;

opts.innerLines = [innerline, innerline2, innerline3];

// الصفحة رقم مكان إظهار الختم
opts.page = 1;

// تحديد إعدادات تسجيل
let settings = new groupdocs_signature_cloud.SignSettings();
settings.fileInfo = fileInfo;
settings.options = [opts];
settings.saveOptions = new groupdocs_signature_cloud.SaveOptions();
settings.saveOptions.outputFilePath = "signedStamp_One_page.pdf";

// إنشاء طلب توقيع
let request = new groupdocs_signature_cloud.CreateSignaturesRequest(settings);
// إنشاء التوقيعات
let response = await signApi.createSignatures(request);
console.log("Output file link: " + response.downloadUrl);
قم بتوقيع مستندات PDF بتوقيعات الطوابع باستخدام Node.js.

قم بتوقيع مستندات PDF بتوقيعات الطوابع باستخدام Node.js.

قم بتنزيل الملف الموقّع

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

// يوضح مثال الرمز هذا كيفية تنزيل ملف PDF موقّع من السحابة.
// بناء FileApi
var fileApi = groupdocs_signature_cloud.FileApi.fromConfig(config);

// تحميل الملف
let request = new groupdocs_signature_cloud.DownloadFileRequest("signedStamp_One_page.pdf", myStorage);
let response = await fileApi.downloadFile(request);

// انتقل إلى مجلد العمل
fs.writeFile("C:\\Files\\Signature\\signedStamp_One_page.pdf", response, "binary", function (err) { });

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

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

خاتمة

في هذا المقال ، تعلمنا:

  • كيفية توقيع مستندات PDF بتوقيعات الطوابع ؛
  • تحميل ملف PDF إلى السحابة ؛
  • كيفية تنزيل ملف PDF موقع من السحابة.

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

أنظر أيضا