Maison > Questions et réponses > le corps du texte
J'ai essayé mais ça ne marche pas. J'ai également ajouté quelques méthodes supplémentaires. J'ai déjà posé des questions sur Chat GPT mais cela ne fonctionne pas.
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粉2036487422023-09-20 00:00:17
tLe code HSIS ne fonctionnera pas car l'option path dans la méthode pdf() n'est utilisée que pour spécifier le fichier temporaire créé lors de la génération PDF. Le fichier PDF réel sera enregistré dans le répertoire de téléchargement par défaut. Pour définir un nom PDF fixe, vous devez intercepter la réponse du serveur et modifier l'en-tête Content-Disposition. Le code suivant montre comment procéder :
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(); })();