Javascript Jspdf对齐/布局不工作

Javascript Jspdf对齐/布局不工作,javascript,pdf-generation,jspdf,Javascript,Pdf Generation,Jspdf,我正在用jspdf进行HTML到pdf的转换 这是我的运行代码 您可以看到输出(如下)与PDF不同。没有边框和对齐 我无法实现简单的布局/对齐、填充/浮动等 这就是它的外观(您也可以在这里看到我的Html代码) 但是当我从jspdf得到这个的pdf时,它看起来是这样的 这是我的jspdf代码 var doc = $wnd.jsPDF('p', 'pt', 'a4', true); var source = $('#content').first(); var spec

我正在用jspdf进行HTML到pdf的转换

这是我的运行代码

您可以看到输出(如下)与PDF不同。没有边框和对齐

我无法实现简单的布局/对齐、填充/浮动等

这就是它的外观(您也可以在这里看到我的Html代码)

但是当我从jspdf得到这个的pdf时,它看起来是这样的

这是我的jspdf代码

     var doc = $wnd.jsPDF('p', 'pt', 'a4', true);
   var source = $('#content').first();
   var specialElementHandlers = {
      '#bypassme': function (element, renderer) {
          return true;
      }
  };
   doc.fromHTML(
      htmltest, 
     {
          'elementHandlers': specialElementHandlers
      });

  doc.save('Test.pdf');
这是我的头

           <script type="text/javascript" src="jspdf/jspdf.js"></script>
<script type="text/javascript" src="jspdf/FileSaver.js"></script>
<script type="text/javascript" src="jspdf/jspdf.min.js"></script> 


<script type="text/javascript" src="jspdf/jquery-1.11.2.min.js"></script>
 <script type="text/javascript" src="jspdf/libs/adler32cs.js"></script>
  <script type="text/javascript" src="jspdf/BlobBuilder.js"></script>
<script type="text/javascript" src="jspdf/jspdf.plugin.addimage.js"></script>
<script type="text/javascript" src="jspdf/jspdf.plugin.standard_fonts_metrics.js"></script>
<script type="text/javascript" src="jspdf/jspdf.plugin.split_text_to_size.js"></script>
<script type="text/javascript" src="jspdf/jspdf.plugin.from_html.js"></script>

jsPDF的html插件不支持大多数css。但不要绝望,这里有一个解决办法

试一试:

$('a').hide();
html2canvas(document.body,{onrendered:function(canvas){'use strict';
var pdf=new jsPDF(),border=10,width=210 border*2;
addImage(canvas.toDataURL('image/jpeg',0.98),'jpeg',
边框,边框,宽度,画布。高度*宽度/canvas.width);
//由于跨原点限制,pdf.save()不适用于StackOverflow
$('a').show()[0].href=pdf.output('dataurlstring');
//IE 11不允许datauri pdf,请改用save()
} } );
body{font:12px“Times New Roman”,衬线;}h1{font size:24px;行高:24px;字体重量:粗体;页边距顶部:0;文本对齐:右侧;页边距底部:5px;}渲染>div>div{float:right}渲染>div>div>div{边框底部:1px纯黑色;边框右侧:1px纯黑色;填充:3px;文本对齐:中心}.b#边框顶部:1px纯黑色;}.f_c_b_left:最后一个子项{左边框:1px纯黑;}

发票联
发票#00001-2
日期2015-02-05

感谢您在jspdf/javascript代码中提供的帮助。。我们在哪里告诉html的来源。。。。。。如果我用我的代码替换你的javascript/jspdf代码,它会说$isundefined@junaidp
$
来自jQuery<代码>$
未定义的
表示jQuery尚未加载。在代码片段中,JS在最后运行,在三个
之后运行,因此如果您更早地放置JS,您必须将
也向上移动。目前我得到的是“html2canvas未定义”。我已下载并将html2canvas.JS和html2canvas.min.JS放在我的war文件夹中,并在html中添加…@junaidp在JSFIDLE中更容易玩:(在IE 11、Chrome 40、Firefox 35上测试)。根据Codepen link的代码质量,您的代码可能存在其他错误,并且这些错误可能超出了此问题的范围。与您的操作完全相同,并添加了相同的libs..其意思是..未捕获的TypeError:无法读取null的属性“长度”:在这一行的“屏幕截图”中请看一下屏幕截图