0

こんにちは: 私は signaturePad [ http://thomasjbradley.ca/lab/signature-pad/] を使用しており、[ ] にある codeIgniter 2 で短い Web フォームを作成しましたhttp://gentest.lfwebz.com/crd/open_form3。このフォームでは、ユーザーが実際にフォームに署名する必要があります。私は mPDF と domPDF もインストールしました。

私が欲しい機能は次のとおりです。ユーザーは、上記の signPad を使用して Web フォームを開き、入力し、署名します。次に、 mPDF/domPDF を実行し、ページともちろん埋め込まれた署名をキャプチャするボタンをクリックします。

mpdf/domPDF を実行してフォームを格納するビューを渡すと、署名のない新しいビューを取得しているだけであることがわかりましたが、フォームのいくつかの部分が欠落しています。掘り下げた後、署名パッドの画像変換を使用する必要があると判断したと思います-これが私が立ち往生している場所です。ここの参照を使用してコードを持っています: Signature pad and dompdf、しかしそれは動作しません。

ここにある私のページにアクセスする場合:http://gentest.lfwebz.com/crd/open_form3ページに署名し、[同意する] ボタンをクリックします。

これが私の見解です

    <!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="../assets/jquery.signaturepad.css" media="screen">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript" src="../jquery.signaturepad.min.js"></script>
</head>
<body>
    <?php echo base_url(); ?>
    <form method="post" action="<?php echo base_url(); ?>pdf.php" class="sigPad">
  <label for="name">Print your name</label>
  <input type="text" name="name" id="name" class="name">
  <p class="typeItDesc">Review your signature</p>
  <p class="drawItDesc">Draw your signature</p>
  <ul class="sigNav">
    <li class="typeIt"><a href="#type-it" class="current">Type It</a></li>
    <li class="drawIt"><a href="#draw-it">Draw It</a></li>
    <li class="clearButton"><a href="#clear">Clear</a></li>
  </ul>
  <div class="sig sigWrapper">
    <div class="typed"></div>
    <canvas class="pad" width="198" height="55"></canvas>
    <input type="text" name="output" class="output">
    <input type="text" name="imgOutput" class="imgOutput">
  </div>
  <br /><br /><br />
  <button type="submit">I accept the terms of this agreement.</button>
</form>
<script>
  var sig;
  $( document ).ready( function ( ) {
    sig = $('.sigPad').signaturePad({defaultAction:'drawIt'});
  } );
  $( '.sigPad' ).submit( function ( evt ) {
    $( '.imgOutput' ).val( sig.getSignatureImage( ) );
  } );
</script>
</body>
</html>

上記のコントローラーまたは pdf.php は次のとおりです。

<?php
if(isset($_POST['imgOutput'])){$img_output = $_POST['imgOutput'];}

echo "position 1";
$bse = preg_replace('#^data:image/[^;]+;base64,#', '', $img_output );
echo "position 2";
echo $bse;
if ( base64_encode( base64_decode( $bse) ) === $bse ) {

  require_once 'dompdf/dompdf_config.inc.php';
  $html = '<!DOCTYPE html><html><head></head><body><p>Your signature:</p><br /><img src="'. $img_output .'"></body></html>';
  $dompdf = new DOMPDF;
  $dompdf->load_html( $html );
  $dompdf->render( );
  $dompdf->stream("test.pdf");
} 
        else{
                echo ("ERROR !");
            }
?>

ここで何が欠けていますか?誰かが私を正しい方向に向けることができますか?

さらに情報が必要な場合はお知らせください。

前もって感謝します。

4

0 に答える 0