ลงชื่อ PDF ด้วยตราประทับโดยใช้ REST API ใน Node.js

ลายเซ็นตราประทับช่วยให้สามารถลงนามในเอกสาร PDF ทางอิเล็กทรอนิกส์ได้ เช่นเดียวกับที่เราใช้ตราประทับลายเซ็นบนเอกสารที่เป็นกระดาษ เราสามารถลงนามในเอกสาร PDF ด้วยลายเซ็นตราประทับที่กำหนดเองโดยทางโปรแกรมบนคลาวด์ ในบทความนี้ เราจะมาเรียนรู้วิธีการเซ็นเอกสาร PDF ด้วยลายเซ็นตราประทับโดยใช้ REST API ใน Node.js

หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:

PDF Signature REST API และ Node.js SDK

สำหรับการเซ็นเอกสาร PDF เราจะใช้ API ของ Node.js SDK ของ GroupDocs.Signature Cloud ช่วยให้เราสามารถสร้าง ตรวจสอบ และค้นหาลายเซ็นประเภทต่างๆ เช่น รูปภาพ ‎บาร์โค้ด QR-Code ลายเซ็นแบบข้อความ ดิจิตอล และตราประทับ โปรดติดตั้งโดยใช้คำสั่งต่อไปนี้ในคอนโซล:

npm install groupdocs-signature-cloud

โปรด รับรหัสลูกค้าและข้อมูลลับจากแดชบอร์ด ก่อนทำตามขั้นตอนดังกล่าว เมื่อคุณมี ID และรหัสลับของคุณแล้ว ให้เพิ่มรหัสตามที่แสดงด้านล่าง:

// ตัวอย่างรหัสนี้สาธิตวิธีการเพิ่มรหัสไคลเอนต์และรหัสลับของคุณในรหัส
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 ที่อัปโหลดจะอยู่ใน ส่วนไฟล์ ของแดชบอร์ดบนระบบคลาวด์

เซ็นเอกสาร PDF ด้วยลายเซ็นประทับตราโดยใช้ Node.js

เราสามารถเซ็นไฟล์ 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;

// กำหนดลักษณะข้อความเค้าร่างที่ 1
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;

// กำหนดลักษณะข้อความเค้าร่างที่ 2
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];

// กำหนดข้อความแบบอินไลน์ที่ 1
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;

// กำหนดข้อความแบบอินไลน์ที่ 2
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;

// กำหนดข้อความในบรรทัดที่ 3
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) { });

ลองออนไลน์

โปรดลองใช้เครื่องมือลายเซ็นเอกสารออนไลน์ฟรีต่อไปนี้ ซึ่งพัฒนาโดยใช้ API ข้างต้น https://products.groupdocs.app/signature/

บทสรุป

ในบทความนี้ เราได้เรียนรู้:

  • วิธีเซ็นเอกสาร PDF ด้วยลายเซ็นประทับตรา;
  • อัปโหลดไฟล์ PDF ไปยังคลาวด์
  • วิธีดาวน์โหลดไฟล์ PDF ที่เซ็นชื่อจากคลาวด์

นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Signature Cloud API โดยใช้ เอกสารประกอบ เรายังมีส่วน API Reference ที่ช่วยให้คุณแสดงภาพและโต้ตอบกับ API ของเราได้โดยตรงผ่านเบราว์เซอร์ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม

ดูสิ่งนี้ด้วย