我想知道是否有人知道将结果PDF文档保存到服务器的方法,而不是提示用户在本地下载它?
使用此信息:http://www.cloudformatter.com/css2pdf
非常感谢
编辑: 我正在使用以下JS启动PDF。
$(function(){
$('#generatePDF').click(function(e) {
e.preventDefault();
var pdfdata = xepOnline.Formatter.Format('printableInvoice',
{
pageWidth:'216mm',
pageHeight:'279mm',
render: 'base64'
}
);
console.log(pdfdata);
});
});
将答案放在适当的位置,因为以下评论是相关的。原始答案是如何获取源信息(使用" base64"选项),而不是最终的pdf。
因此,如果您在github中检查代码:
https://github.com/xportability/css-to-pdf/blob/master/js/xeponline.jqplugin.js
从第602行的" else"开始...如果您强迫下载以外的其他任何内容,则执行" else"。如果您选择" newwin"或"嵌入"作为方法和浏览器嗅探JS并没有迫使它返回下载(它可以在Safari,IE和移动浏览器上进行),则此"否则"被执行。
在成功的Ajax帖子中执行了" xeponline.formatter .__ postbacksuccess"函数。该功能从第863行开始。在第865行,加载了实际PDF的基本64字节。如果您在该代码线上进行调试并调试,则可以获得VAR" BASE64"的值,该值将是Base64编码字节。
因此,如果您只需要考虑Firefox和Chrome,则可以对代码进行一些mod,以将结果发布回服务器而不显示。如果您有所有这些浏览器要考虑,则需要添加一些选项(例如Say选项:"内存"跳过所有浏览器嗅探,运行Ajax版本,但具有其自己的成功功能。
我可以考虑将其添加到库中,但是您可以自由地拉动它并自己制作一些mod。