ตั้งค่ารหัสผู้ให้บริการลายเซ็นในเอกสาร Word

การแนะนำ

สวัสดี! คุณมีเอกสาร Word ที่น่าทึ่งนี้ที่ต้องมีลายเซ็นดิจิทัลใช่ไหม? แต่ไม่ใช่ลายเซ็นธรรมดาทั่วไป คุณต้องกำหนดรหัสผู้ให้บริการลายเซ็นเฉพาะ ไม่ว่าคุณจะจัดการเอกสารทางกฎหมาย สัญญา หรือเอกสารใดๆ การเพิ่มลายเซ็นดิจิทัลที่ปลอดภัยถือเป็นสิ่งสำคัญ ในบทช่วยสอนนี้ ฉันจะแนะนำคุณตลอดกระบวนการในการกำหนดรหัสผู้ให้บริการลายเซ็นในเอกสาร Word โดยใช้ Aspose.Words สำหรับ .NET พร้อมหรือยัง? มาเริ่มกันเลย!

ข้อกำหนดเบื้องต้น

ก่อนที่เราจะเริ่ม โปรดตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:

  1. Aspose.Words สำหรับไลบรารี .NET: หากคุณยังไม่ได้ทำดาวน์โหลดได้ที่นี่.
  2. สภาพแวดล้อมการพัฒนา: Visual Studio หรือ IDE ที่เข้ากันได้กับ C#
  3. เอกสาร Word: เอกสารที่มีบรรทัดลายเซ็น (Signature line.docx-
  4. ใบรับรองดิจิทัล: A.pfx ไฟล์ใบรับรอง (เช่นmorzal.pfx-
  5. ความรู้พื้นฐานเกี่ยวกับ C#: พื้นฐานเท่านั้น ไม่ต้องกังวล เราพร้อมช่วยเหลือคุณ!

ตอนนี้เรามาเริ่มดำเนินการกันเลย!

นำเข้าเนมสเปซ

สิ่งแรกที่ต้องทำคือตรวจสอบให้แน่ใจว่าคุณได้รวมเนมสเปซที่จำเป็นไว้ในโปรเจ็กต์ของคุณแล้ว ซึ่งถือเป็นสิ่งสำคัญในการเข้าถึงไลบรารี Aspose.Words และคลาสที่เกี่ยวข้อง

using Aspose.Words;
using Aspose.Words.Drawing;
using Aspose.Words.DigitalSignatures;

เอาล่ะ มาแยกมันออกเป็นขั้นตอนง่าย ๆ ที่เข้าใจง่ายกันดีกว่า

ขั้นตอนที่ 1: โหลดเอกสาร Word ของคุณ

ขั้นตอนแรกคือโหลดเอกสาร Word ที่มีบรรทัดลายเซ็น เอกสารนี้จะถูกปรับเปลี่ยนให้มีลายเซ็นดิจิทัลพร้อมรหัสผู้ให้บริการลายเซ็นที่ระบุ

string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Signature line.docx");

ที่นี่เราจะระบุไดเรกทอรีที่เอกสารของคุณตั้งอยู่ แทนที่"YOUR DOCUMENT DIRECTORY" ด้วยเส้นทางจริงไปยังเอกสารของคุณ

ขั้นตอนที่ 2: เข้าถึงสายลายเซ็น

ขั้นต่อไป เราต้องเข้าถึงบรรทัดลายเซ็นภายในเอกสาร บรรทัดลายเซ็นจะฝังเป็นวัตถุรูปร่างในเอกสาร Word

SignatureLine signatureLine = ((Shape)doc.FirstSection.Body.GetChild(NodeType.Shape, 0, true)).SignatureLine;

บรรทัดโค้ดนี้รับรูปร่างแรกในเนื้อหาของส่วนแรกของเอกสารและส่งไปยังSignatureLine วัตถุ.

ขั้นตอนที่ 3: ตั้งค่าตัวเลือกป้าย

ขณะนี้ เรากำลังสร้างตัวเลือกการลงนาม ซึ่งได้แก่ ID ผู้ให้บริการและ ID บรรทัดลายเซ็นจากบรรทัดลายเซ็นที่เข้าถึง

SignOptions signOptions = new SignOptions
{
    ProviderId = signatureLine.ProviderId,
    SignatureLineId = signatureLine.Id
};

ตัวเลือกเหล่านี้จะถูกใช้เมื่อลงนามในเอกสารเพื่อให้แน่ใจว่าได้ตั้งค่า ID ผู้ให้บริการลายเซ็นที่ถูกต้อง

ขั้นตอนที่ 4: โหลดใบรับรอง

หากต้องการลงนามในเอกสารแบบดิจิทัล คุณจะต้องมีใบรับรอง นี่คือวิธีการโหลดเอกสารของคุณ.pfx ไฟล์:

CertificateHolder certHolder = CertificateHolder.Create(dataDir + "morzal.pfx", "aw");

แทนที่"aw" พร้อมรหัสผ่านสำหรับไฟล์ใบรับรองของคุณ หากมี

ขั้นตอนที่ 5: ลงนามในเอกสาร

ในที่สุด ก็ถึงเวลาลงนามเอกสารโดยใช้DigitalSignatureUtil.Sign วิธี.

DigitalSignatureUtil.Sign(dataDir + "Digitally signed.docx",
    dataDir + "SignDocuments.SetSignatureProviderId.docx", certHolder, signOptions);

การดำเนินการนี้จะลงนามในเอกสารของคุณและบันทึกเป็นไฟล์ใหม่Digitally signed.docx.

บทสรุป

และแล้วคุณก็ทำได้! คุณได้ตั้งค่า Signature Provider ID ในเอกสาร Word สำเร็จแล้วโดยใช้ Aspose.Words สำหรับ .NET กระบวนการนี้ไม่เพียงแต่จะรักษาความปลอดภัยเอกสารของคุณเท่านั้น แต่ยังช่วยให้แน่ใจว่าเอกสารนั้นเป็นไปตามมาตรฐานลายเซ็นดิจิทัลอีกด้วย ตอนนี้ ลองทำกับเอกสารของคุณดู มีคำถามหรือไม่? ดูคำถามที่พบบ่อยด้านล่างหรือไปที่ฟอรั่มสนับสนุน Aspose.

คำถามที่พบบ่อย

Signature Provider ID คืออะไร?

รหัสผู้ให้บริการลายเซ็นจะระบุผู้ให้บริการลายเซ็นดิจิทัลอย่างชัดเจน ทำให้มั่นใจได้ถึงความถูกต้องและปลอดภัย

ฉันสามารถใช้ไฟล์ .pfx สำหรับการลงนามได้หรือไม่

ใช่ ตราบใดที่เป็นใบรับรองดิจิทัลที่ถูกต้อง ตรวจสอบให้แน่ใจว่าคุณมีรหัสผ่านที่ถูกต้องหากได้รับการป้องกัน

ฉันจะได้รับไฟล์ .pfx ได้อย่างไร?

คุณสามารถรับไฟล์ .pfx ได้จาก Certificate Authority (CA) หรือสร้างไฟล์ขึ้นมาโดยใช้เครื่องมือเช่น OpenSSL

ฉันสามารถลงนามเอกสารหลายฉบับพร้อมกันได้ไหม?

ใช่ คุณสามารถวนซ้ำผ่านเอกสารหลายฉบับและใช้กระบวนการลงนามแบบเดียวกันกับแต่ละฉบับได้

จะเกิดอะไรขึ้นหากฉันไม่มีบรรทัดลายเซ็นในเอกสารของฉัน?

คุณจะต้องแทรกบรรทัดลายเซ็นก่อน Aspose.Words มีวิธีการต่างๆ เพื่อเพิ่มบรรทัดลายเซ็นโดยโปรแกรม