So legen Sie während des Downloads in Puppeteer einen festen PDF-Dateinamen fest
P粉321584263
P粉321584263 2023-09-19 09:05:12
0
1
701

Ich habe es versucht, aber es funktioniert nicht. Ich habe auch ein paar weitere Methoden hinzugefügt. Ich habe bereits nach Chat GPT gefragt, funktioniert aber nicht.

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

Antworte allen(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();
})();
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage