امضای تمبر امکان امضای الکترونیکی اسناد PDF را به همان روشی که ما از مهر امضای لاستیکی روی یک سند کاغذی استفاده می کنیم، می دهد. ما می توانیم اسناد PDF را با امضای مهر سفارشی به صورت برنامه ریزی شده در فضای ابری امضا کنیم. در این مقاله یاد می گیریم که چگونه اسناد PDF را با امضای مهر با استفاده از REST API در Node.js امضا کنیم.
موضوعات زیر در این مقاله پوشش داده خواهد شد:
PDF Signature REST API و Node.js SDK
برای امضای اسناد PDF، از Node.js SDK of GroupDocs.Signature Cloud API استفاده خواهیم کرد. ما را قادر می سازد تا انواع مختلفی از امضاها مانند تصویر، بارکد، QR-Code، امضاهای دیجیتالی و مهر را ایجاد، تأیید و جستجو کنیم. لطفا با استفاده از دستور زیر در کنسول آن را نصب کنید:
npm install groupdocs-signature-cloud
لطفاً [شناسه مشتری و راز خود را از داشبورد 3 قبل از انجام مراحل ذکر شده دریافت کنید. هنگامی که شناسه و راز خود را دریافت کردید، کد را مطابق شکل زیر اضافه کنید:
// این مثال کد نشان می دهد که چگونه شناسه مشتری و راز خود را در کد اضافه کنید.
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 API در 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 آپلود شده در بخش فایل ها داشبورد در فضای ابری در دسترس خواهد بود.
با استفاده از Node.js اسناد PDF را با امضای مهر امضا کنید
ما میتوانیم فایلهای PDF را با امضای مهر به صورت برنامهنویسی با دنبال کردن مراحل زیر امضا کنیم:
- یک نمونه از SignApi ایجاد کنید.
- مسیر فایل PDF آپلود شده را ارائه دهید.
- شی SignDigitalOptions را مقداردهی کنید و خصوصیات مختلفی را تنظیم کنید.
- متن تمبر را با استفاده از اشیاء StampLine تعریف کنید.
- فایل ورودی، SignDigitalOptions و SaveOptions را به شی SignSettings اختصاص دهید.
- در نهایت، PDF را با استفاده از روش SignApi.createSignatures() امضا کنید.
مثال کد زیر نحوه امضای یک سند PDF را با امضای مهر با استفاده از REST API در Node.js نشان میدهد.
// این مثال کد نحوه امضای سند PDF را با امضای مهر نشان می دهد.
// یک نمونه از API ایجاد کنید
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;
// ظاهر متن 2nd Outline را تعریف کنید
let outline2 = new groupdocs_signature_cloud.StampLine();
outline2.height = 2;
outline2.backgroundرنگ = new groupdocs_signature_cloud.رنگ();
outline2.backgroundرنگ.web = "White";
outline2.visible = true;
// ظاهر متن طرح 3 را تعریف کنید
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;
// تنظیمات Sign را تعریف کنید
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 امضا شده را در فضای ابری ذخیره می کند. با استفاده از نمونه کد زیر قابل دانلود است:
// این مثال کد نحوه دانلود 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) { });
آنلاین را امتحان کنید
لطفاً ابزار امضای اسناد آنلاین رایگان زیر را که با استفاده از API بالا ایجاد شده است، امتحان کنید. https://products.groupdocs.app/signature/
نتیجه
در این مقاله یاد گرفتیم:
- نحوه امضای اسناد PDF با امضای مهر.
- آپلود فایل PDF در فضای ابری؛
- نحوه دانلود فایل PDF امضا شده از ابر
علاوه بر این، میتوانید با استفاده از مستندات درباره GroupDocs.Signature Cloud API اطلاعات بیشتری کسب کنید. ما همچنین یک بخش API Reference ارائه میکنیم که به شما امکان میدهد APIهای ما را مستقیماً از طریق مرورگر تجسم کرده و با آنها تعامل داشته باشید. در صورت وجود هرگونه ابهام، لطفاً با ما در [تالار] تماس حاصل فرمایید11.