使用javascript在pfd中打开HTML页面

使用javascript在pfd中打开HTML页面,javascript,html,pdf,Javascript,Html,Pdf,我正在尝试使用另一个HTML“Basic.htm”以pdf格式导出HTML文件“Load.htm”的内容,该HTML文件具有javascript Load.htm 函数sayHello(){ 写下“你好”; } Basic.htm jsPDF 函数demo4(){ var doc=new jsPDF(); var source=$('#divExport').htm(); 变量specialElementHandlers={ “#绕过我”:函数(元素、渲染器){ 返回true

我正在尝试使用另一个HTML“Basic.htm”以pdf格式导出HTML文件“Load.htm”的内容,该HTML文件具有javascript

Load.htm

函数sayHello(){
写下“你好”;
}       
Basic.htm

jsPDF
函数demo4(){
var doc=new jsPDF();
var source=$('#divExport').htm();
变量specialElementHandlers={
“#绕过我”:函数(元素、渲染器){
返回true;
}
};
doc.fromHTML(
source,//HTML字符串或DOM元素引用。
0.5,//x坐标
0.5,//y坐标
{
“宽度”:7.5,//PDF上内容的最大宽度
“elementHandlers”:specialElementHandlers
});
文档输出('dataurl')
}

但是在运行basic.html之后,我无法以pdf格式获得Load.htm的输出。我想我没有在basic.htm中包含HTML文件load.htm。这是正确的吗?我不知道为什么它没有以pdf格式显示:(.我需要添加什么吗?

jsPDF是一个开源库,只使用Javascript生成pdf文档。您可以在Firefox扩展、服务器端Javascript以及某些浏览器中的数据URI中使用它


http://jsfiddle.net/xzz7n/1/
您是否尝试在iframe元素(甚至是窗口)中打开“Load.htm”以查看是否可以作为第一步访问
#divExport'
的内容?否,但我尝试在“var source=$('#divExport').htm()”行后放置一个警报窗口但是它没有显示。我感觉load.htm文件不可访问。load.html被加载到Basic.htm中,而您通过$('#divExport')@Savaratkar访问它的元素:我无法在Basic.htm文件中加载load.htm文件:(然后使用ajax调用加载它,获取html内容并将其放入'doc.fromHTML'(source’谢谢你的回答,但我想加载一个HTML文件,它位于另一个HTML文件之外
<html>
   <head>  
      <script type="text/javascript">        
            function sayHello() {
               document.write("Hello");
            }       
      </script>     
   </head> 
   <body onload="sayHello()">
<div id="divExport">
</div>
</body>
</html>
<!doctype>
<html>
<head>
    <title>jsPDF</title>
    <script type="text/javascript" src="jspdf.js"></script>
    <script type="text/javascript" src="base64.js"></script>
    <script type="text/javascript" src="sprintf.js"></script>   
</head> 
<body>
<a href="javascript:demo4()">Run Code</a>
<script type="text/javascript">                 
function demo4() {

    var doc = new jsPDF();              
     var source = $('#divExport').htm();
            var specialElementHandlers = {
                '#bypassme': function (element, renderer) {
                    return true;
                }
            };
            doc.fromHTML(
                source, // HTML string or DOM elem ref.
                0.5,    // x coord
                0.5,    // y coord
                {
                    'width': 7.5, // max width of content on PDF
                    'elementHandlers': specialElementHandlers
                });
            doc.output('dataurl')
}
</script>
</body>
</html>