[英]Download PDF created by PHP using AJAX
我有一個PHP文件,可在其中創建PDF。 我使用AJAX調用此PHP,並提供一些視覺反饋(顯示然后隱藏微調器),因為我將創建一個500頁的PDF,此過程有點慢。
要創建PDF,我使用PDFMerger(因為我需要合並一些PDF)。 調用此PHP,我有一個帶有關聯的JavaScript函數的按鈕。
問題是,如何使用AJAX下載文件。 因為如果我不使用AJAX而使用PHP,則將下載文件,但是如果我使用AJAX而不是PHP,則成功時我將擁有所有的'PDF-data'( ...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,請使用此問題中描述的標頭: 通過PHP / Perl在用戶瀏覽器中顯示PDF文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.