cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk menetapkan nama fail PDF tetap dalam Puppeteer semasa muat turun

Saya dah cuba ni tapi tak berkesan. Saya juga telah menambah beberapa kaedah lagi. Sudah ditanya tentang Chat GPT tetapi tidak berfungsi.

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粉321584263P粉321584263464 hari yang lalu698

membalas semua(1)saya akan balas

  • P粉203648742

    P粉2036487422023-09-20 00:00:17

    tKod HSIS tidak akan berfungsi kerana pilihan laluan dalam kaedah pdf() hanya digunakan untuk menentukan fail sementara yang dibuat semasa penjanaan PDF. Fail PDF sebenar akan disimpan dalam direktori muat turun lalai. Untuk menetapkan nama PDF tetap, anda perlu memintas respons pelayan dan mengubah suai pengepala Pelupusan Kandungan. Kod berikut menunjukkan cara melakukannya:

    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();
    })();

    balas
    0
  • Batalbalas