Laman Utama / Pusat Blog / Bagaimana Mengaktifkan Tandatangan Digital dalam Borang PDF Secara Pengaturcaraan?

Bagaimana Mengaktifkan Tandatangan Digital dalam Borang PDF Secara Pengaturcaraan?

Shunfang
2026-03-07
3min
Twitter Facebook Linkedin

Kebangkitan Tandatangan Digital Terprogram dalam Proses Perniagaan

Dalam persekitaran perniagaan yang mengutamakan digital pada masa kini, membolehkan tandatangan digital dalam borang PDF secara atur cara telah menjadi keperluan untuk memperkemas kontrak, kelulusan dan proses pematuhan. Daripada mengautomasikan kemasukan pekerja HR kepada menjamin perjanjian kewangan, perniagaan semakin beralih kepada penyelesaian yang dipacu kod untuk menyepadukan tandatangan elektronik dengan lancar ke dalam aplikasi mereka. Pendekatan ini bukan sahaja mengurangkan ralat manual tetapi juga memastikan kesahan undang-undang merentas bidang kuasa, menjimatkan masa dan kos.

Alternatif DocuSign Terbaik pada 2026

Memahami Tandatangan Digital dalam Borang PDF

Tandatangan digital melangkaui tandatangan elektronik yang mudah dengan menggunakan teknik kriptografi untuk mengesahkan ketulenan dan integriti dokumen. Dalam borang PDF, ia mencipta meterai kalis gangguan, memastikan bahawa sebarang perubahan selepas tandatangan akan membatalkan tandatangan tersebut. Ini amat berharga dalam industri terkawal seperti kewangan, penjagaan kesihatan dan perkhidmatan undang-undang, di mana jejak audit dan ketidakbolehsangkalan adalah penting.

Membolehkan tandatangan ini secara atur cara melibatkan pembenaman medan tandatangan dalam PDF dan menggunakan sijil melalui API atau pustaka. Tidak seperti alat tandatangan manual, pendekatan ini membolehkan pembangun menyepadukan tandatangan ke dalam aliran kerja tersuai, seperti aplikasi web atau platform mudah alih, meningkatkan kebolehskalaan untuk perniagaan yang mengendalikan volum dokumen yang besar.

Cara Membolehkan Tandatangan Digital dalam Borang PDF Secara Atur Cara

Untuk melaksanakan tandatangan digital secara atur cara, pembangun biasanya menggunakan pustaka sumber terbuka atau API berasaskan awan. Proses ini memerlukan pemahaman tentang piawaian PDF, seperti PDF/A atau ISO 32000, yang mentakrifkan struktur tandatangan. Di bawah, kami menggariskan panduan langkah demi langkah menggunakan pustaka popular, memfokuskan pada contoh kod praktikal dalam bahasa seperti Java atau Python. Pendekatan ini memastikan pematuhan kepada piawaian global, seperti Akta ESIGN AS atau eIDAS EU, walaupun perbezaan serantau—seperti peraturan penyepaduan ekosistem di Asia—mungkin memerlukan lapisan pengesahan tambahan.

Langkah 1: Sediakan Persekitaran Pembangunan Anda

Mulakan dengan memilih pustaka manipulasi PDF yang teguh. Apache PDFBox (berasaskan Java, percuma) atau iText (dengan versi komersial/sumber terbuka) ialah pilihan industri kerana sokongan mereka untuk tandatangan digital. Untuk pengguna Python, PyPDF2 digabungkan dengan endesive menyediakan alternatif yang ringan.

  • Pasang kebergantungan: Untuk Java menggunakan PDFBox, tambahkan artifak Maven org.apache.pdfbox:pdfbox:3.0.0. Untuk iText, gunakan com.itextpdf:itext7-core:7.2.5.
  • Dapatkan sijil digital: Anda memerlukan fail PKCS#12 (.p12) daripada Pihak Berkuasa Pensijilan (CA) yang dipercayai seperti DigiCert atau GlobalSign. Ini termasuk kunci peribadi untuk tandatangan dan kunci awam untuk pengesahan.

Perniagaan harus menilai kos CA, kerana yuran tahunan setiap penandatangan boleh berjulat antara $100–$500, yang mempengaruhi perbelanjaan pelaksanaan keseluruhan.

Langkah 2: Cipta atau Ubah Suai Borang PDF dengan Medan Tandatangan

Mulakan dengan membuka PDF sedia ada atau menjana yang baharu, kemudian tambahkan medan tandatangan yang tidak kelihatan atau kelihatan.

Menggunakan PDFBox dalam Java:

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm;
import org.apache.pdfbox.pdmodel.interactive.form.PDSignatureField;

PDDocument document = PDDocument.load(new File("input.pdf"));
PDAcroForm acroForm = document.getDocumentCatalog().getAcroForm();
PDSignatureField signatureField = (PDSignatureField) acroForm.getField("Signature1"); // Atau cipta baharu
if (signatureField == null) {
    // Cipta medan tandatangan baharu
    signatureField = new PDSignatureField(acroForm, rectangle); // Takrifkan kedudukan
    signatureField.setPartialName("Signature1");
    acroForm.getFields().add(signatureField);
}
document.save("form_with_signature.pdf");

Kod ini menambahkan medan tandatangan dalam kawasan segi empat tepat yang ditentukan (cth., koordinat halaman). Untuk borang, pastikan medan itu interaktif menggunakan piawaian AcroForm.

Dalam Python menggunakan PyPDF2 dan reportlab untuk mencipta borang:

from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
from PyPDF2 import PdfReader, PdfWriter

c = canvas.Canvas("base_form.pdf", pagesize=letter)
c.acroForm.textfield(name='Signature1', tooltip='Digital Signature Field',
                     x=100, y=700, borderStyle='inset', forceBorder=True)
c.save()

# Gabung atau ubah suai PDF sedia ada
reader = PdfReader("base_form.pdf")
writer = PdfWriter()
writer.append(reader)
writer.add_annotation(page_number=0, annotation=...)  # Tambahkan anotasi tandatangan
with open("form_with_signature.pdf", "wb") as output:
    writer.write(output)

Ini mewujudkan asas, membenarkan PDF menerima tandatangan tanpa mengubah struktur dokumen.

Langkah 3: Guna Tandatangan Digital

Sekarang, tandatangani PDF menggunakan sijil anda. Ini melibatkan penciptaan kamus tandatangan dan pencincangan bait dokumen.

Menggunakan PDFBox:

import org.apache.pdfbox.io.IOUtils;
import org.apache.pdfbox.pdmodel.interactive.digitalsignature.*;

ExternalSigningSupport externalSigning = new ExternalSigningSupport(document, signatureField);
externalSigning.saveIncrementalForExternalSigning(new FileOutputStream("unsigned.pdf"));

byte[] cmsSignedData = // Jana tandatangan CMS/PKCS#7 menggunakan BouncyCastle atau yang serupa
// Muatkan sijil dan kunci peribadi
KeyStore keyStore = KeyStore.getInstance("PKCS12");
keyStore.load(new FileInputStream("certificate.p12"), password);
PrivateKey privateKey = (PrivateKey) keyStore.getKey(alias, password);
Certificate[] chain = keyStore.getCertificateChain(alias);

// Tandatangan secara luaran (cth., melalui kelas Tandatangan Java)
Signature signature = Signature.getInstance("SHA256withRSA");
signature.initSign(privateKey);
signature.update(contentToSign);  // Bait daripada externalSigning
byte[] signatureBytes = signature.sign();

// Guna pada PDF
externalSigning.setExternalSigning(new ByteArrayInputStream(cmsSignedData));
document = externalSigning.getDocument();  // Kini ditandatangani
document.save("signed.pdf");

Untuk pengesahan, PDFBox boleh mengesahkan tandatangan selepas tandatangan:

PDSignature sig = signatureField.getSignature();
if (sig.isVerificationSupported()) {
    // Semak cap masa, rantaian sijil dan integriti dokumen
    boolean valid = sig.checkSignature(new InputStream());
}

Dalam Python, gunakan pustaka endesive untuk tandatangan yang lebih mudah:

import endesive.pdf
from datetime import datetime

dct = {
    'sigflags': 3,
    'sigflagsft': 132,
    'sigpage': 0,
    'sigbutton': True,
    'auto_sigfield': True,
    'sigfield_name': 'Signature1',
    'reason': 'Document signed programmatically',
    'location': 'Virtual Office',
    'contact': 'admin@company.com'
}

# Muatkan bait PDF
with open('form_with_signature.pdf', 'rb') as fp:
    datau = fp.read()

# Tandatangan
datas = endesive.pdf.cms.sign(datau, dct, key, cert, othercerts, hashalg='sha256')
with open('signed.pdf', 'wb') as fp:
    fp.write(datas)

Ini menandatangani PDF, membenamkan tandatangan secara kendiri. Sentiasa uji untuk pengesahan jangka panjang dengan memasukkan cap masa daripada Pihak Berkuasa Cap Masa (TSA) untuk mengelakkan isu luput.

Langkah 4: Bersepadu dengan API untuk Kebolehskalaan

Untuk penggunaan perusahaan, gabungkan pustaka dengan perkhidmatan awan. Contohnya, API DocuSign membenarkan tandatangan atur cara selepas memuat naik PDF. Hantar permintaan POST ke /envelopes yang mengandungi PDF dengan medan tandatangan, dan API akan mengendalikan selebihnya.

{
  "documents": [{"documentBase64": "base64_pdf", "name": "contract.pdf", "fileExtension": "pdf"}],
  "recipients": [{"signers": [{"email": "signer@example.com", "name": "John Doe", "recipientId": 1}]}],
  "status": "sent"
}

Dapatkan semula PDF yang ditandatangani melalui GET /envelopes/{envelopeId}/documents/combined. Ini memudahkan pengurusan sijil tetapi menimbulkan yuran setiap sampul surat.

Pertimbangan keselamatan: Sentiasa gunakan HTTPS, simpan sijil dengan selamat (cth., dalam HSM) dan patuhi peraturan. Di rantau seperti EU, eIDAS memerlukan sijil yang layak untuk tandatangan lanjutan, manakala Akta ESIGN AS memberi tumpuan kepada niat dan persetujuan.

Cabaran dan Amalan Terbaik

Perangkap biasa termasuk semakan pembatalan sijil (menggunakan OCSP/CRL) dan pengendalian fail besar. Perniagaan melaporkan peningkatan kecekapan sehingga 70%, tetapi persediaan awal mungkin memerlukan 20–40 jam pembangun. Untuk keserasian merentas platform, sahkan menggunakan alat seperti panel tandatangan Adobe Acrobat.

Pendekatan atur cara ini membolehkan perniagaan menyesuaikan aliran kerja tandatangan, mengurangkan pergantungan pada alat manual dan meningkatkan keselamatan data.

Alat dan Perkhidmatan Popular untuk Tandatangan Digital Terprogram

Beberapa platform memudahkan penyepaduan atur cara, setiap satu dengan kekuatan dalam pematuhan, harga dan sokongan serantau. Dari sudut pandangan komersial, pilihan bergantung pada volum, lokasi geografi dan keperluan penyepaduan.

DocuSign: Peneraju Tandatangan Elektronik Gred Perusahaan

DocuSign menawarkan program API yang teguh untuk pembangun, bermula dengan peringkat Starter pada $600/bulan untuk 40 sampul surat. Ciri-ciri termasuk API penghantaran pukal, Webhook dan tambahan pengesahan. Ia sesuai untuk pasukan global yang memerlukan SSO dan jejak audit, walaupun kependaman APAC dan harga setiap tempat duduk ($10–$40/pengguna/bulan) meningkatkan kos. Pelan premium menyokong aliran kerja tersuai untuk automasi volum tinggi.

imej

Adobe Sign: Penyepaduan PDF Lancar

Adobe Sign, sebagai sebahagian daripada Adobe Document Cloud, cemerlang dalam aliran kerja asli PDF, menyediakan akses atur cara melalui REST API. Harga bermula pada kira-kira $10/pengguna/bulan untuk pelan asas, berkembang kepada sebut harga tersuai perusahaan. Ia menyokong tandatangan terbenam dalam aplikasi dan bersepadu secara mendalam dengan Acrobat untuk manipulasi medan borang. Untuk industri kreatif, ia menekankan penyesuaian visual dan pematuhan ESIGN/UETA, tetapi tambahan seperti penghantaran SMS menimbulkan kos tambahan.

imej

eSignGlobal: Inovator yang Memfokuskan APAC

eSignGlobal menawarkan alternatif yang kompetitif, mencapai pematuhan global di 100 negara arus perdana dengan kelebihan di Asia Pasifik (APAC). Tandatangan elektronik APAC menghadapi pemecahan, piawaian tinggi dan peraturan yang ketat, berbeza dengan pendekatan rangka kerja Barat seperti ESIGN/eIDAS. Di sini, piawaian menekankan penyelesaian "penyepaduan ekosistem", memerlukan dok perkakasan/API yang mendalam dengan identiti digital peringkat kerajaan (G2B)—melebihi halangan teknikal pengesahan e-mel atau pengisytiharan kendiri AS/EU. eSignGlobal menangani ini melalui penyepaduan tempatan seperti iAM Smart Hong Kong dan Singpass Singapura, membolehkan aliran kerja yang lancar dan mematuhi.

Platform ini menyokong pengguna tanpa had tanpa yuran tempat duduk, menjadikannya kos efektif untuk pasukan yang berkembang. Pelan Essentialnya berharga $199 setahun (kira-kira $16.6/bulan), membenarkan sehingga 100 dokumen dihantar untuk e-tandatangan dan menggunakan pengesahan kod akses untuk keselamatan—semuanya berdasarkan asas pematuhan. Peringkat profesional termasuk akses API untuk tandatangan atur cara, penghantaran pukal dan alat AI seperti penilaian risiko. Harganya lebih rendah berbanding pesaing sambil bersaing secara langsung di Eropah dan Amerika. Untuk mendapatkan percubaan percuma selama 30 hari, lawati halaman hubungan mereka.

esignglobal HK

HelloSign (oleh Dropbox): Pilihan Mesra Pengguna

HelloSign, kini sebahagian daripada Dropbox, menawarkan API mudah untuk membenamkan tandatangan dalam PDF, dengan pelan bermula pada $15/pengguna/bulan. Ia cemerlang dalam kemudahan penggunaan untuk SMB, menyokong templat dan kerjasama pasukan, tetapi kekurangan ciri pematuhan APAC lanjutan. Kuota API adalah murah hati untuk pengguna peringkat pertengahan, memfokuskan pada penyepaduan pantas.

Gambaran Keseluruhan Perbandingan Platform Tandatangan Digital

Ciri/Aspek DocuSign Adobe Sign eSignGlobal HelloSign
Harga (Peringkat Permulaan) $10/pengguna/bulan (Individu) $10/pengguna/bulan $16.6/bulan (Essential, Pengguna Tanpa Had) $15/pengguna/bulan
Sokongan API Teguh (Starter $600/tahun) Penyepaduan PDF Cemerlang Termasuk dalam Pro; Fleksibel Asas yang Baik
Had Sampul Surat 5–100/bulan/pengguna Berdasarkan Penggunaan 100 Dokumen/tahun Asas Tanpa Had Peringkat Lanjutan
Pematuhan Serantau Global, AS/EU Kuat Tumpuan ESIGN/UETA 100 Negara; Kelebihan APAC (iAM Smart/Singpass) Terutamanya AS/EU
Kekuatan Utama Automasi Perusahaan Ekosistem PDF Tiada Yuran Tempat Duduk, Penyepaduan Ekosistem Kemudahan SMB
Tambahan IDV, SMS (Yuran Tambahan) Pembayaran, Storan Alat AI, Penghantaran Pukal Templat, Peringatan

Jadual ini menyerlahkan pertukaran neutral: DocuSign untuk skala, Adobe untuk kesetiaan PDF, eSignGlobal untuk ekonomi serantau dan HelloSign untuk kebolehcapaian.

Pemikiran Akhir tentang Memilih Penyelesaian

Untuk perniagaan yang mencari alternatif DocuSign, eSignGlobal menonjol sebagai pilihan pematuhan serantau, terutamanya di APAC, menawarkan harga dan penyepaduan yang seimbang tanpa menjejaskan piawaian global. Nilaikan berdasarkan keperluan aliran kerja anda untuk ROI yang optimum.

avatar
Shunfang
Ketua Pengurusan Produk di eSignGlobal, seorang pemimpin berpengalaman dengan pengalaman antarabangsa yang luas dalam industri tandatangan elektronik. Ikuti LinkedIn saya