Создание .pdf с pdfkit без параметров сохранения - PullRequest
0 голосов
/ 02 марта 2020

В приложении, использующем nodejs, express и pdfkit, я пытаюсь создать pdf.

Код, который генерирует pdf:

exports.CreatePdfff = async function (req, res) {
    const doc = new PDFDocument;
    
    //doc.pipe(fs.createWriteStream('/path/to/file.pdf')); // write to PDF
    doc.pipe(res);                                       // HTTP response

    res.setHeader('Content-type', 'application/pdf');
    res.setHeader('Content-disposition', 'attachment');   // download file

    // add stuff to PDF here using methods described below...
    doc.text('Hello world!');

    // finalize the PDF and end the stream
    doc.end();
};

Это мой роутер

router.get('/createpdf', filter_controller.CreatePdfff);

Так что если в браузере я называю это

/ createpdf

Я получаю окно, которое спрашивает меня, где я хочу сохранить файл PDF, но если я позвоню тому же маршрутизатору отсюда

$('#filterCreatePdf').on('click', function(event) {
    $.get('/createpdf', function(data) {
        
    });   
});

Тогда у меня не появляется окно с вопросом, где сохранить файл.

Почему в одном случае я получаю желаемый вывод, а в другом - нет ? Как получить возможность для пользователя выбрать нужное место для сохранения документа?

Каков наилучший способ создания PDF-файла в nodejs и предоставления его клиенту?

ОБНОВЛЕНИЕ !

В ajax вызов $.get('/createpdf', function(data) } }); Я получаю этот поток PDF

%PDF-1.3
%����
7 0 obj
<<
/Type /Page
/Parent 1 0 R
/MediaBox [0 0 612 792]
/Contents 5 0 R
/Resources 6 0 R
>>
endobj
6 0 obj

Но я все еще не могу показать всплывающее окно, чтобы сохранить файл или даже показать данные PDF. Есть предложения?

...