PDFKit: Как отобразить сгенерированный PDF-файл в браузере?

#node.js #reactjs #express #pdfkit #node-pdfkit

Вопрос:

Здесь новичок. Как отобразить pdf-файл, созданный PDFKit, на другой вкладке с помощью React? Я попытался следовать инструкциям в их документах, но файл сохраняется локально, чего я не хотел бы достичь. Вот код, который я нашел в Интернете, и ответ, который получает интерфейс.

routes.js

 router.route("/generate-pdf")
  .get(checkIfAuthenticated, generatePDF);
 

api.js

   static async generatePDF(req, res) {
    const doc = new PDFDocument({bufferPages: true});

    let buffers = [];
    doc.on('data', buffers.push.bind(buffers));
    doc.on('end', () => {
        let pdfData = Buffer.concat(buffers);
        res.writeHead(200, {
        'Content-Length': Buffer.byteLength(pdfData),
        'Content-Type': 'application/pdf',
        'Content-disposition': 'attachment;filename=test.pdf',})
        .end(pdfData);
    
    });
    
    doc.font('Times-Roman')
         .fontSize(22)
         .text("TEST PDF FILE");
    doc.end();
  }
 

Ответ:

введите описание изображения здесь

Вызов API console.log в порядке, но я бы хотел, чтобы файл был открыт на другой вкладке. Я не понимаю, как добиться такой функции.

Любые зацепки/подсказки/предложения будут высоко оценены. Заранее спасибо!

Комментарии:

1. Попробуйте удалить заголовок 'Content-disposition': 'attachment;filename=test.pdf' . Он указывает браузеру выполнить загрузку вместо отображения файла.