如何将PDF保存到服务器? css2pdf @ cloudformatter xeponline

时间:2017-09-30 13:36:43

标签: pdf save css-to-pdf

我想知道是否有人知道如何将生成的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);
    });
});

1 个答案:

答案 0 :(得分:0)

由于下面的评论是相关的,所以留下答案。最初的答案是如何获取源信息(使用“base64”选项),而不是最终的PDF。

所以要获取内存中的最终PDF,如果你检查Github中的代码:

https://github.com/Xportability/css-to-pdf/blob/master/js/xepOnline.jqPlugin.js

从第602行的“else”处开始...如果您强制下载以外的任何内容,则执行“else”。如果你选择“newwin”或“embed”作为方法浏览器嗅探JS并没有强制它重新下载(它在Safari,IE和移动浏览器上都有),那么这个“别的”被执行。

在成功的AJAX帖子上,执行函数“xepOnline.Formatter .__ postBackSuccess”。此函数从第863行开始。在第865行,加载实际PDF的base64编码字节。如果您调试站点并在该行代码上进行调试,则可以获得var“base64”的值,该值将是base64编码的字节。

所以,如果您只考虑Firefox和Chrome,那么您可以对代码执行一些操作,将结果发布回服务器而不显示它。如果您要考虑所有这些浏览器,则需要添加一些选项(比如说选项:'memory',它会跳过所有浏览器嗅探,运行AJAX版本但具有自己的成功功能。

我可以看一下将它添加到库中,但你可以自由地拉它并自己制作一些mod。