我有一个通过javascript生成的复杂表,我希望将其保存为服务器上的PDF。我环顾了一下pdf生成库,它们似乎都在风格、字体等方面受到限制(这就是我所说的“复杂”)。该表可以下载客户端PDF或打印。
假设我生成要打印的表单的函数是reportBody(data);
--有什么方法可以使用AJAX
将文档作为PDF发送到php文件中,以保存服务器端而不是下载客户端?reportBody(data)
是其他变量、函数调用等的集合。
所以问题基本上是--既然我们可以生成PDF文件客户端,我们能通过ajax将它( pdf)发布到服务器上吗?
发布于 2018-05-09 07:17:50
简短的回答是肯定的。您提供的信息仍然是有限的,因为不清楚在reporBody(data)
中运行的是什么,但是客户端的大多数PDF库能够以字符串的形式将PDF文件作为base64编码的数据提供给您。然后,您只需将该字符串发送到服务器,并将其保存为PDF文件。一个简单的实现如下所示:
// I have used jQuery for convenience but you can use any lib or Vanilla JS
var saveData = $.ajax({
type: 'POST',
url: "url-to-the-php-script",
data: { pdfData: 'base64StringDataHere'},
dataType: "JSON",
success: function(resultData) { alert("Save Complete") }
});
然后在服务器端执行如下操作:
$pdfData= $_POST['pdfData'];
file_put_contents('filename.pdf', base64_decode($pdfData));
发布于 2018-05-09 07:15:43
是的,有很多种方法。其中之一是,如果您的reportBody(数据)中有html代码;您可以:
https://stackoverflow.com/questions/50256644
复制相似问题