2016-10-02 146 views
1

问题:是否可以将PDF数据嵌入到HTML(5)页面而不链接到实际的服务器上的盘上PDF文件。将PDF嵌入到HTML中而不保存实际文件

背景: 我刚刚将我们的webshop/erp系统的文档切换为pdf文件,通常这些文件通过电子邮件发送发票,收据等。

现在我有这个可爱的预览/发送文档弹出窗口显示发票,订单确认等,并允许员工选择一个或多个发送给客户。以前我使用过html文件,这些文件很容易“嵌入”到弹出窗口中,但在通过电子邮件发送时,它们并不是一个很好的选择。

所以我现在把我们所有的文档都改成了PDF文件,它们都看起来更好,并且不会像HTML文件那样容易被垃圾过滤器捕获。

目前我将文件保存在我的服务器临时目录中,然后用此嵌入它作为我的弹出窗口的一部分:

<object width="100%" height="100%" type="application/pdf" data="http://dev.foo.bar/temp/<rm-var document_filename>"></object> 

这工作,但它创造了一个“临时”文件每次打开文档时在弹出窗口中。在我们的生产环境中,这可能会很快导致相当多的文件并开始占用空间。

TcPDF可以发送标题和数据,只在浏览器中查看pdf,而无需将文件保存在任何地方。这基本上是我想要的,但除pdf数据嵌入或服务器响应的一部分外。因为弹出窗口在我们的系统中被广泛使用,所以需要html,这对我们的工作人员来说是正确的文档,让正确的用户无忧无虑。

我真的不介意设置一个cronjob来删除超过一个小时左右的某些文件,但是如果可以包含来自tcpdf的PHP文件(或字符串数​​据)一些其他不需要的方式任何额外的清理,我宁愿它。如果别人用他们不知道的设置混乱,Cronjobs和其他“依赖”可能会在未来造成麻烦。

回答

0

Just Base64对PDF进行编码并将其设置为数据属性的值。

+0

是否还有其他的东西,因为我记得对象说明状态数据应该是一个URL,事实上我试图把PDF字符串放入数据属性,但只是得到一个空白页。我也尝试了普通mpdf-> output(null,'S')和base64编码,但没有运气。 –