gpt4 book ai didi

javascript - 使用 AJAX 下载 PHP 创建的 PDF

转载 作者:行者123 更新时间:2023-11-28 06:21:33 24 4
gpt4 key购买 nike

我有一个 PHP 文件,可以在其中创建 PDF。我使用 AJAX 调用这个 PHP 并提供一些视觉反馈(我显示然后隐藏一个微调器),因为我将创建一个 500 页的 PDF,并且这个过程有点慢。

为了创建 PDF,我使用 PDFMerger(因为我需要合并几个 PDF)。为了调用这个 PHP,我有一个按钮,它有一个关联的 JavaScript 函数。

问题是,如何使用 AJAX 下载文件。因为如果我不使用 AJAX 而使用 PHP,则会下载该文件,但如果我使用 AJAX 而不是 PHP,我将成功获得所有“PDF 数据”( ...06�P��endstreamendobj965 0 obj<</Filter /FlateDecode /Type /XObject/Subtype /Form/FormType 1/BBox [0.00 0.00 595.28 841.89]/Resources <</ProcSet [/PDF /Text /ImageB /ImageC /ImageI ]/Font <</F1 960 0 R/F2 961 0 R>>/XObject <<>>/Properties... )。

我的问题并不完全像如何通过 AJAX 下载文件。我正在尝试找出如何结合 PDFMerger 和 AJAX 来获取 PDF。

JavaScript

showSpinner();
$.ajax({
url: 'downloadPDF.php',
success: function (data) {
//And now I want to download the PDF
},
complete: function () {
hideSpinner();
}
});

PHP (downloadPDF.php)

$pdf = new PDFMerger();
foreach ($arrayPDFs as $url) {
$pdf->addPDF($url, 'all');
}
$pdf->merge('download');

最佳答案

如果你使用ajax,你显然会得到PDF内容作为数据。

如果您希望用户单击链接并获得 PDF 作为结果,则不需要 ajax。用户单击浏览器中的链接,浏览器将下载 PDF 文件 - 无需其他选项卡等。

如果您出于某种原因无法提供此链接,您可以通过将原始数据传递到 JavaScript PDF 库(例如 jsPDF)来从 JavaScript 获取 PDF 内容。

要告诉浏览器通过 PHP 直接下载将文件显示为 PDF,请使用此问题中描述的 header :Show a PDF files in users browser via PHP/Perl

关于javascript - 使用 AJAX 下载 PHP 创建的 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35486920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com