通过 C++ 向 PDF 添加数字签名

使用服务器端 Aspose.PDF 为 C++ API 生成和验证数字签名。原生和高性能库

如何使用 C++ 工具向 PDF 文件添加数字签名

為了在PDF檔中添加數位簽名,我們將使用[Aspose.PDF for C++](https://products.aspose.com/pdf/cpp)API,這是一個功能豐富,功能強大且易於使用的文檔操作API,適用於 cpp 平臺。打開 [NuGet](https://www.nuget.org/packages/aspose.pdf) 包管理器,搜索“.PDF”並安裝。您也可以從程式包管理器主控台使用以下命令。

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

通過C++將數位簽名添加到 PDF


您需要為[Aspose.PDF for C++](https://releases.aspose.com/pdf/cpp) 才能在您的環境中嘗試代碼。

  1. 使用 Document 實例載入 PDF。
  2. 載入所有 PDF 文件,並指定其完整路徑。
  3. 設定文字樣式,例如字體、字號、顏色等。
  4. 儲存 PDF 文件,您將獲得已插入簽署的文件。
  5. 使用 PdfFileSignature.VerifySigned() 方法驗證簽章的有效性。

使用-C++ 向 PDF 文件添加电子签名

此示例代码说明如何为 PDF 页面签名-C++

Input file:

File not added

Certificate file:

File not added

Output format:

Output file:

    // String for path name.
    String _dataDir("C:\\Samples\\");

    String inFile = _dataDir + u"DigitallySign.pdf";
    String outFile = _dataDir + u"DigitallySign_out.pdf";

    auto document = MakeObject<Document>(inFile);

    auto signature = MakeObject<PdfFileSignature>(document);

    auto pkcs = MakeObject<Aspose::Pdf::Forms::PKCS7>(_dataDir + u"test.pfx", u"Pa$$w0rd2022"); // Use PKCS7/PKCS7Detached objects
    System::Drawing::Rectangle rect(300, 100, 400, 200);
    signature->Sign(1, true, rect, pkcs);
    // Save output PDF file
    signature->Save(outFile);