簡體   English   中英

使用AJAX下載PHP創建的PDF

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM