如何在下載過程中在Puppeteer中設定固定的PDF檔名
P粉321584263
P粉321584263 2023-09-19 09:05:12

我嘗試了這個但是不起作用。我還添加了更多的方法。已經詢問了聊天GPT但是不起作用。

try {
// 从HTML生成PDF
const pdf = await page.pdf({path:'custom.pdf', format: 'A4', pageRanges: '1' });
await browser.close();
return pdf;
    } catch (error) {
      console.error('生成PDF时出错:', error);
    }

P粉321584263
P粉321584263

全部回覆(1)
P粉203648742

tHSIS程式碼將無法運作,因為pdf()方法中的路徑選項僅用於指定在PDF產生過程中建立的暫存檔案。實際的PDF檔案將保存在預設的下載目錄中。 要設定一個固定的PDF名稱,您需要攔截伺服器的回應並修改Content-Disposition頭。以下程式碼顯示如何做到這一點:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  await page.goto('https://example.com/pdf');

  // 拦截服务器的响应。
  page.on('response', response => {
    if (response.headers['content-type'] === 'application/pdf') {
      // 修改Content-Disposition头以设置固定的文件名。
      response.headers['content-disposition'] = 'attachment; filename="custom.pdf"';
    }
  });

  // 下载PDF文件。
  await page.pdf();

  await browser.close();
})();
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!