Javascript JS AJAX将生成的文件以PDF格式发布到服务器目录
我有一个通过javascript生成的复杂表,我想在服务器上保存为PDF。我环顾了一下pdf生成库,它们似乎都在样式、字体等方面受到限制(这就是我所说的“复杂”的意思)。该表可以在客户端下载为PDF或打印 假设我生成要打印的表单的函数是Javascript JS AJAX将生成的文件以PDF格式发布到服务器目录,javascript,ajax,pdf,Javascript,Ajax,Pdf,我有一个通过javascript生成的复杂表,我想在服务器上保存为PDF。我环顾了一下pdf生成库,它们似乎都在样式、字体等方面受到限制(这就是我所说的“复杂”的意思)。该表可以在客户端下载为PDF或打印 假设我生成要打印的表单的函数是reportBody(data)-是否有一种方法可以使用AJAX将文档以PDF格式发送到php文件,该文件将在服务器端保存而不是在客户端下载?reportBody(data)是其他变量、函数调用等的集合 所以基本上问题是——既然我们可以在客户端生成PDF文件,我们
reportBody(data)代码>-是否有一种方法可以使用AJAX
将文档以PDF格式发送到php文件,该文件将在服务器端保存而不是在客户端下载?reportBody(data)
是其他变量、函数调用等的集合
所以基本上问题是——既然我们可以在客户端生成PDF文件,我们可以通过ajax将其(PDF)发布到服务器吗?是的,有很多方法。一种是,如果报告体(数据)中有html代码;你可以:
- 通过ajax将html发送到php文件
- 在这个php中,您可以使用它生成一个pdf文件
- 在客户端,您可以指向生成的pdf
是的,有很多方法。一种是,如果报告体(数据)中有html代码;你可以:
- 通过ajax将html发送到php文件
- 在这个php中,您可以使用它生成一个pdf文件
- 在客户端,您可以指向生成的pdf
简短的回答是肯定的。您提供的信息仍然有限,因为不清楚在
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));
然后在服务器端,执行如下操作:
// 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));
简而言之,答案是肯定的。您提供的信息仍然有限,因为不清楚在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));
然后在服务器端,执行如下操作:
// 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));
你还不明白什么?您是否在询问是否可以向服务器发送字节?您是在问服务器端代码是否可以保存文件?我是在问是否可以通过ajax将生成的文件以PDF格式发布到服务器。您可以通过ajax发布数据,而不管它是PDF还是其他格式。你不明白什么?我知道你可以通过ajax发布数据-我想知道如何发布已经是PDF或PDF格式的数据,以避免在后端进行转换-从而避免使用php PDF库。也许你从来都不明白这个问题。你不明白什么?您是否在询问是否可以向服务器发送字节?您是在问服务器端代码是否可以保存文件?我是在问是否可以通过ajax将生成的文件以PDF格式发布到服务器。您可以通过ajax发布数据,而不管它是PDF还是其他格式。你不明白什么?我知道你可以通过ajax发布数据-我想知道如何发布已经是PDF或PDF格式的数据,以避免在后端进行转换-从而避免使用php PDF库。也许您从未理解过这个问题。reportBody(data)
纯粹是js变量、对象和函数-在运行时调用并生成formOk,然后您需要将这些信息转换为html。您可以传递此信息并在作为wkhtmltopdf参数的html中构建html,因为该scritp执行javascritp,或者您可以在客户端构建html并将其作为php脚本中的参数传递,以生成html文件,该文件将作为wkhtmltopdf的参数。wkhtmltopdf的工作原理与wkhtmltopdf google.pdf类似reportBody(data)
纯粹是js变量、对象和函数-在运行时调用并生成formOk,然后需要将该信息转换为html。您可以传递此信息并在作为wkhtmltopdf参数的html中构建html,因为该scritp执行javascritp,或者您可以在客户端构建html并将其作为php脚本中的参数传递,以生成html文件,该文件将作为wkhtmltopdf的参数。wkhtmltopdf的工作原理与wkhtmltopdf google.pdfThanks类似,这种解决方案似乎很有前途。reportBody(data)
基本上更多的是js变量、对象和函数调用。我以前为图像实现过这一点——我从未想过我也可以拥有base64字符串PDF。我肯定会实现这一点。您可以通过base64对几乎任何文件/数据进行编码/解码。祝你好运谢谢,这个解决方案看起来很有希望。reportBody(data)
基本上更多的是js变量、对象和函数调用。我以前为图像实现过这一点——我从未想过我也可以拥有base64字符串PDF。我肯定会实现这一点。您可以通过base64对几乎任何文件/数据进行编码/解码。祝你好运