如何在Windows 7操作系统的wamp上安装wkhtmltopdf

时间:2012-08-26 11:01:08

标签: php pdf wkhtmltopdf

正在此发票页面上处理文本框,用户在其中输入数字以获取订单。现在我在Windows 7操作系统上使用wamp,我试图在用户输入他们的数据到pdf之后转换页面并将其保存在文件夹中,然后将其输出到另一个窗口进行查看。

到目前为止,我无法做太多事情,这让我在过去的两周里疯狂了。拜托,我需要建议,真的很感激。

以下是我想要和需要做的事情:

  1. 将页面保存为html,包括文本框中的值。
  2. 将保存的页面转换为pdf并存储在目录中。
  3. 将pdf通过电子邮件发送给用户。
  4. 到目前为止的

    代码

    1. 保存页面html

      function printPDF() {
                var h = '<style></style>'+$('#article').html();
            var html = '<html><body><scr'+'ipt>';
            html += 'var form = document.createElement("form");';
            html += 'form.setAttribute("method","post");';
            html += 'form.setAttribute("action","/ajax/pdf/");';
            html += 'var h = document.createElement("input");';
            html += 'h.setAttribute("type","hidden");';
            html += 'h.setAttribute("name","html");';
            html += 'h.setAttribute("value","'+escape(h)+'");';
            html += 'form.appendChild(h);';
            html += 'document.body.appendChild(form);';
            html += 'form.submit();';
            html += '</sc'+'ript></body></html>';
            var w = window.open('','');
            w.document.write(html);
            w.document.close();
          }
      
    2. 但问题是它必须每次打开一个新窗口,我不希望我希望它通过ajax / jquery在后台提交,其次创建的html文档没有文本框中的值,它们都是cleard。

      1. 将页面转换为pdf并存储在目录

        $filepath = '/www/html/';
              $pdfpath = '/www/pdf/';
        $filename = date('YmdHisu');
        
         $html = urldecode($_POST['html']);
        
         file_put_contents($filepath.$filename.'.html',$html);
        
         $pdfcmd = 'wkhtmltopdf.sh '.$filepath.$filename.'.html '.$pdfpath.$filename.'.pdf 
        --disable-javascript';
        
             exec($pdfcmd);
        
            if ($fd = fopen($pdfpath.$filename.'.pdf','r')) {
        
             $fsize = filesize($pdfpath.$filename.'.pdf');
        
             header('Content-type: application/pdf');
        
            header('Content-length: '.$fsize);
        
             header('Cache-control: private');
        
             while(!feof($fd)) {
        
              $buffer = fread($fd, 2048);
        
             echo $buffer;
        
          }
        
              fclose($fd);
        
            }
        
           unlink($filepath.$filename.'.html');
        
      2. 还使用了我为wkhtmltopdf获得的包装,但似乎没有工作

1 个答案:

答案 0 :(得分:0)

至于问题的标题:从The wkhtmltopdf download site下载最新的Windows安装程序。

请问更多具体问题。对我来说,这看起来像是在寻找一个现成的解决方案来使用而不是一个特定问题的答案。尝试一步一步地解决您面临的问题,每次遇到问题时,请询问具体问题。

从类似的东西开始:你能安装wkhtmltopdf吗?你能从命令行调用它吗?你可以使用静态HTML文件从PHP调用它吗?等等。