在显示之前,用JavaScript修改服务器上生成的PDF

在显示之前,用JavaScript修改服务器上生成的PDF,javascript,php,symfony,pdf,tcpdf,Javascript,Php,Symfony,Pdf,Tcpdf,我现在面临一个有趣的问题:我想在显示之前修改服务器上生成的PDF文件(使用TCPDF和Symfony2) 为什么??PDF将包含一些半敏感信息,我们的客户可能会很高兴听到这些信息从未离开他们的机器。(我知道HTTPS被认为是非常安全的,这更像是一个奢侈品问题,可以向我们的客户保证他们的数据是安全的。) 这就是我所做的:在PDF上使用占位符,将其保存为字符串并通过AJAX检索,用本地数据替换占位符,然后将字符串转换为Base64。真正的问题是如何将文件发送给用户 很多人建议使用HTML5的“下载”

我现在面临一个有趣的问题:我想在显示之前修改服务器上生成的PDF文件(使用TCPDF和Symfony2)

为什么??PDF将包含一些半敏感信息,我们的客户可能会很高兴听到这些信息从未离开他们的机器。(我知道HTTPS被认为是非常安全的,这更像是一个奢侈品问题,可以向我们的客户保证他们的数据是安全的。)

这就是我所做的:在PDF上使用占位符,将其保存为字符串并通过AJAX检索,用本地数据替换占位符,然后将字符串转换为Base64。真正的问题是如何将文件发送给用户

很多人建议使用HTML5的“下载”属性并点击一个隐藏的链接,但这种方法在Safari或旧版本的IE上不起作用。数据URI是另一种选择,但超出一定的复杂性,base64字符串变得太长,浏览器试图在地址字段中显示它时冻结。我还研究了Downloadify.js、FileSaver.js等库,但这些库似乎都不受广泛支持(或者依赖flash,我希望避免使用flash)


我对我能尝试的其他建议非常开放,甚至有人告诉我为什么我要做的是完全不必要的。

而不是生成一个PDF服务器端,把它放到客户端,修改它,等等,也许考虑把你想要的内容发送到一个PDF到客户端,让客户进行修改,然后使用类似jsPDF()的库在客户端创建PDF。