Jesus Cuadro
Con esta extension pueden visualizar PDF's en VSCODE 👌
Jesus Cuadro
Con esta extension pueden visualizar PDF's en VSCODE 👌
Laura Ivonne Moreno
gracias a todos los que comparten su codigo y anotaciones, los tqm
Luis Jhordy Mamani Arias
El tema de las comas si es mucho muy importante ya me comí 2 xd
Luis Jhordy Mamani Arias
Julianny Caicedo
GOOGLELANDSCAPE
jest.setTimeout(60000); // aumenta el timeout por si la página tarda en cargar
const puppeteer = require('puppeteer');
describe('Generar PDF con Puppeteer', () => {
let browser;
let page;
beforeAll(async () => {
browser = await puppeteer.launch({
headless: 'new', // usa el modo headless moderno
args: ['--no-sandbox', '--disable-setuid-sandbox']
});
page = await browser.newPage();
await page.setViewport({ width: 1280, height: 800 });
await page.goto('https://google.com', { waitUntil: 'networkidle2' });
});
afterAll(async () => {
if (page) await page.close();
if (browser) await browser.close();
});
test('PDF de pantalla completa en modo landscape', async () => {
await page.pdf({
path: './googleLandscape.pdf',
format: 'A4',
landscape: true,
printBackground: true,
displayHeaderFooter: true,
headerTemplate: `
<div style="font-size:12px; margin-left:30px;">
Mi primer PDF con Puppeteer
</div>`,
footerTemplate: `
<div style="font-size:12px; margin-left:30px;">
Page <span class="pageNumber"></span> of <span class="totalPages"></span>
</div>`,
margin: {
top: '100px',
bottom: '100px',
left: '30px',
right: '30px'
}
});
console.log('PDF generado: google.pdf');
});
});
Julianny Caicedo
codigo actualizado, Generando PDFs
jest.setTimeout(60000); // aumenta el timeout por si la página tarda en cargar
const puppeteer = require('puppeteer');
describe('Generar PDF con Puppeteer', () => {
let browser;
let page;
beforeAll(async () => {
browser = await puppeteer.launch({
headless: 'new', // usa el modo headless moderno
args: ['--no-sandbox', '--disable-setuid-sandbox']
});
page = await browser.newPage();
await page.setViewport({ width: 1280, height: 800 });
await page.goto('https://google.com', { waitUntil: 'networkidle2' });
});
afterAll(async () => {
if (page) await page.close();
if (browser) await browser.close();
});
test('Generar PDF de Google', async () => {
await page.pdf({
path: './google.pdf',
format: 'A4',
printBackground: true,
displayHeaderFooter: true,
headerTemplate: `
<div style="font-size:12px; margin-left:30px;">
Mi primer PDF con Puppeteer
</div>`,
footerTemplate: `
<div style="font-size:12px; margin-left:30px;">
Page <span class="pageNumber"></span> of <span class="totalPages"></span>
</div>`,
margin: {
top: '100px',
bottom: '100px',
left: '30px',
right: '30px'
}
});
console.log('PDF generado: google.pdf');
});
});
David steven Abril Pulecio
FYI intente usar rem pero puppeteer solo permite px
Jhon Carlos Romo Ramirez
Excelente curso!
Ismael David Angulo Andrade
será posible también imprimir en el pdf la consola o el network?
Jesus Cuadro
Interesante clase, muy funcional la verdad
Moises Abel Avila Garcia
gracias x la explicacion es de mucha ayuda
const puppeteer = require('puppeteer'); describe('Capturas de pantalla', () => { let browser; let page; beforeAll(async () => { browser = await puppeteer.launch({ headless: true, defaultViewport: null, }); const context = await browser.createIncognitoBrowserContext();//MODO INCOGNITO comportamiento evadir modo incognito page = await context.newPage() //Aqui apuntamos la pantalla de la cual queremos apuntar await page.goto('https://www.google.com/', { waitUntil: 'networkidle0' }); }, 10000); afterAll(async () => { await browser.close(); }); test('PDF de pantalla completa', async () => { let pdfCSS =[] pdfCSS.push('<style>') pdfCSS.push('h1{ font-size:10px; margin-left:30px;}') pdfCSS.push('</style>') const css = pdfCSS.join('') await page.pdf({ path:'./google.pdf', format:'A4', printBackground : true, displayHeaderFooter: true, headerTemplate: css + '<h2>' + 'Mira El Script que realice PDF con pupeteer' + '</h2>', footerTemplate: css + '<h2> page <span class="pageNumber"></span> of <span class="totalPages"></span></h2>', margin:{ top:'100px', botton:'200px', right:'30px', left: '30px' } }) }) test('PDF de pantalla completa en modo landscape', async () => { let pdfCSS =[] pdfCSS.push('<style>') pdfCSS.push('h1{ font-size:10px; margin-left:30px;}') pdfCSS.push('</style>') const css = pdfCSS.join('') await page.pdf({ path:'./googleLandscape.pdf', format:'A4', printBackground : true, displayHeaderFooter: true, headerTemplate: css + '<h2>' + 'Mira El Script que realice PDF con pupeteer' + '</h2>', footerTemplate: css + '<h2> page <span class="pageNumber"></span> of <span class="totalPages"></span></h2>', margin:{ top:'100px', botton:'200px', right:'30px', left: '30px' }, lanscape: true }) }) }, 350000)