2017-03-16 61 views
0

我在我的网站上有一个pdf链接我希望访问者能够查看 - 但点击时,它必须下载才能打开。只在线查看PDF文件

我怎样才能解决这个问题?

理想情况下,我想让潜在客户尽可能简单 - 当他们点击链接时 - 打开pdf打开另一个选项卡/窗口。

var pdf = new jsPDF('p', 'pt', 'letter'); 
    // source can be HTML-formatted string, or a reference 
    // to an actual DOM element from which the text will be scraped. 
    source = $('#customers')[0]; 

    // we support special element handlers. Register them with jQuery-style 
    // ID selector for either ID or node name. ("#iAmID", "div", "span" etc.) 
    // There is no support for any other type of selectors 
    // (class, of compound) at this time. 
    specialElementHandlers = { 
     // element with id of "bypass" - jQuery style selector 
     '#bypassme': function (element, renderer) { 
      // true = "handled elsewhere, bypass text extraction" 
      return true 
     } 
    }; 
    margins = { 
     top: 80, 
     bottom: 60, 
     left: 40, 
     width: 522 
    }; 
    // all coords and widths are in jsPDF instance's declared units 
    // 'inches' in this case 
    pdf.fromHTML(
    source, // HTML string or DOM elem ref. 
    margins.left, // x coord 
    margins.top, { // y coord 
     'width': margins.width, // max width of content on PDF 
     'elementHandlers': specialElementHandlers 
    }, 

    function (dispose) { 
     // dispose: object with X, Y of the last line add to the PDF 
     //   this allow the insertion of new lines after html 
     pdf.save('Test.pdf'); 
    }, margins); 

该代码的链接在这里jsfiddle文件是这里。

http://jsfiddle.net/xzZ7n/4861/

+1

它的工作完美无瑕的对我来说,尝试清除缓存。 –

+2

'pdf.output('dataurlnewwindow');'会工作。但jsFiddle有一些安全限制。在你的代码中尝试一下。 – Purushoth

+1

[jsPDF从.html创建PDF并在新窗口中打开]的可能重复(http://stackoverflow.com/questions/26221041/jspdf-create-pdf-from-html-and-open-in-new-window) – Purushoth

回答

1

使用这一个doc.output('dataurlnewwindow');

,而不是pdf.save('Test.pdf');