إضافة توقيع رقمي أو توقيع PDF رقمياً في Java

يدعم Aspose.PDF for Java تدفقات توقيع متعددة عبر PdfFileSignature.

توقيع PDF باستخدام كائن شهادة

  1. أنشئ كائنًا من الفئة PdfFileSignature الواجهة وربط مستند PDF المصدر.
  2. أنشئ كائنًا من الفئة PKCS7 التوقيع واضبط خيارات التوقيع.
  3. طبّق التوقيع على مستند PDF من خلال PdfFileSignature.
  4. احفظ مستند PDF المحدث.
public static void signPdfWithCertificateObject(Path inputFile, Path certificateFile, Path outputFile) {
    PdfFileSignature pdfSignature = new PdfFileSignature();
    try {
        pdfSignature.bindPdf(inputFile.toString());
        pdfSignature.sign(1, false, signatureRectangle(), createPkcs7(certificateFile, "Document approval"));
        pdfSignature.save(outputFile.toString());
    } finally {
        pdfSignature.close();
    }
}

هذا النهج يبني كائن PKCS7 التوقيع أولاً ثم يطبقه على الصفحة 1.

توقيع ملف PDF باستخدام معلمات الشهادة الأساسية

  1. أنشئ كائنًا من الفئة PdfFileSignature الواجهة وربط مستند PDF المصدر.
  2. هيّئ معلمات الشهادة المطلوبة بواسطة مثال التوقيع.
  3. طبّق التوقيع على مستند PDF من خلال PdfFileSignature.
  4. احفظ مستند PDF المحدث.
public static void signPdfWithBasicParameters(Path inputFile, Path certificateFile, Path outputFile) {
    PdfFileSignature pdfSignature = new PdfFileSignature();
    try {
        pdfSignature.bindPdf(inputFile.toString());
        pdfSignature.setCertificate(certificateFile.toString(), CERTIFICATE_PASSWORD);
        pdfSignature.sign(1, "Document approval", "qa@example.com", "New York, USA", false, signatureRectangle());
        pdfSignature.save(outputFile.toString());
    } finally {
        pdfSignature.close();
    }
}

تصديق ملف PDF باستخدام DocMDP

استخدم توقيع اكتشاف وتمنع تعديل المستند عندما تحتاج إلى قيود على مستوى الشهادة:

  1. أنشئ كائنًا من الفئة PdfFileSignature الواجهة وربط مستند PDF المصدر.
  2. أنشئ الكائن DocMDPSignature واضبط DocMDPAccessPermissions خيارات التوقيع.
  3. طبّق توقيع الشهادة واحفظ مستند PDF المحدث.
public static void certifyPdfWithMdpSignature(Path inputFile, Path certificateFile, Path outputFile) {
    PdfFileSignature pdfSignature = new PdfFileSignature();
    try {
        pdfSignature.bindPdf(inputFile.toString());
        DocMDPSignature signature = new DocMDPSignature(
                createPkcs7(certificateFile, "Certified for form filling and signing"),
                DocMDPAccessPermissions.FillingInForms);
        pdfSignature.certify(1, "Certified for form filling and signing", "security@example.com",
                "New York, USA", true, signatureRectangle(), signature);
        pdfSignature.save(outputFile.toString());
    } finally {
        pdfSignature.close();
    }
}