добавить цифровую подпись, используя объект mPDF

Я использую mPDF для создания PDF. Я хочу добавить цифровую подпись в документ PDF.

Я могу найти только онлайн-примеры добавления цифровой подписи к объекту tcPDF, а не к mPDF.

У кого-нибудь есть информация на эту тему, которая может мне помочь?

Это мой код PHP:

$pdf=new mPDF('en','A4','','DejaVuSansCondensed',$template->margin_left,$template->margin_right,$template->margin_top,$template->margin_bottom,$template->margin_header,$template->margin_footer);

$pdf->setAutoFont();
$pdf->SetHTMLHeader($header);
$pdf->SetHTMLFooter($footer);
$pdf->writeHTML($printable);

$pdf->Output($file_name, "D");

Спасибо вам большое!

1

Решение

Изменить (17.05.14):

Я нашел следующая библиотекаВот (прокрутите вниз) и использовали его, упаковав его с нужными библиотеками Zend, чтобы он работал из коробки.
Так что если вы хотите подписать PDF-файл с помощью PHP, вы можете использовать следующую библиотеку.
http://www.mediafire.com/download/181rgs86nvr4nd5/signPdf.zip

После нескольких недель поиска решения PHP для подписи уже сгенерированного файла PHP, это единственное решение с хорошей производительностью, которое я нашел, его можно использовать с любой библиотекой PDF.

Спасибо Дамиру за разработку этой библиотеки.


Старый устаревший ответ
Я тоже борюсь с той же проблемой.
Единственное решение, которое я нашел сейчас, — это создать PDF, а затем использовать https://www.setasign.com/products/fpdi/about/#p-510 импортировать PDF в TCPDF.

а затем подпишите его с помощью TCPDF.

сначала создайте класс потом наследуйте от fpdi и TCPDF

require_once('tcpdf.php');
require_once('fpdi.php');
class Signpdf_lib extends FPDI{}

затем сделать фактическое подписание

$pdfSigner = new Signpdf_lib();
$pageCount = $pdfSigner->setSourceFile($this->pdfFilePath);
// iterate through all pages
for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++) {
// import a page
$templateId = $pdfSigner->importPage($pageNo);
// get the size of the imported page
$size = $pdfSigner->getTemplateSize($templateId);
// create a page
$pdfSigner->AddPage('P', array($size['w'], $size['h']));
// use the imported page
$pdfSigner->useTemplate($templateId);
}
$info = array(
'Name' => "$documentName - $documentNumber",
'Location' => 'IL',
'Reason' => 'DOC SIGN',
'ContactInfo' => 'user details',
);
//load the certificate
$certificateStr = Signatures_lib::loadSignature();
// set document signature
$pdfSigner->setSignature($certificateStr, null, null, null, 1, $info);
// define active area for signature appearance
$pdfSigner->setSignatureAppearance(0, 5, 30, 30);
$pdfSigner->Output($this->pdfFilePath, 'F');

Я пытался использовать алгоритм подписи TCPDF и использовать его в mPdf, но не смог этого сделать, поэтому, если кому-то удастся, я буду рад узнать!

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector