我使用TCPDF在PDF文档上创建数字签名。 我几乎使用了这里提到的确切代码:
http://www.tcpdf.org/examples/example_052.phps
我在我的服务器(linux)上浏览时使用的是我用于服务器上的SSL的相同crt文件。 但无论文件是否存在,无论是哪条路径或服务器,我总是会得到同样的错误
我收到错误:
" BER解码时遇到错误"
我的服务器是Centos 6.3(64位),Apache / 2.2.15(CentOS),PHP版本5.3.3,MySQLi 5.1.67
我的代码是:
$pdf = new TCPDF();
// set document information
$pdf->SetCreator('DejaVuSansCondensed');
$pdf->SetAuthor('Soft1');
$pdf->SetTitle('Soft1 Verified');
$pdf->SetSubject('Soft1 Verified');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
// set font
$pdf->SetFont('DejaVuSansCondensed', '', 10);
// set certificate file
$certificatePath = 'file://home/tcpdf.crt';
// set additional information
$info = array
(
'Name' => 'Soft1',
'Location' => 'Server',
'Reason' => 'Signing Document',
'ContactInfo' => 'http://www.soft1.com',
);
// set document signature
$pdf->setSignature($certificatePath, $certificatePath, 'tcpdfdemo', '', 2, $info);
// add a page
$pdf->AddPage();
// set LTR direction for english translation
$pdf->setRTL(true);
// output the HTML content
$pdf->writeHTML($printable, true, 0, true, 0);
// create content for signature (image and/or text)
$pdf->Image('themes/default/images/digital_signature.png', 25, 11, 15, 15, 'PNG');
$pdf->setSignatureAppearance(25, 11, 15, 15);
if($task == 'pdf'){
//$GLOBALS['log']->fatal("file_name = " . $file_name);
//$file_name = "hello.pdf";
$pdf->Output($file_name, "D");
}
谁能告诉我有什么问题? 在网上搜索此错误。除旧论坛帖子外几乎没有任何内容。
答案 0 :(得分:0)
有同样的问题并通过替换来解决:
$certificatePath = 'file:///home/tcpdf.crt';
请注意路径中的额外“/”