Я попытался установить размер страницы PDF и сделать его альбомным, но не получилось. Что я должен изменить, чтобы сделать его эффективным?
Я пытался добавить page.setViewport & isLandscape много раз, но все еще не делал его эффективным.
browser = await puppeteer.launch({
executablePath: '/usr/bin/chromium-browser',
args: ['--no-sandbox', '--enable-font-antialiasing', '--font-render-hinting=medium'], //, '--window-size=1070x1514', '--disable-dev-shm-usage', '--disable-gpu', '--disable-software-rasterizer'
timeout: LOAD_TIMEOUT,
headless: true
,isLandscape: true
});
page = await browser.newPage();
await page.setViewport({
width: 1080,
height: 1600,
deviceScaleFactor: 1,
isLandscape: true
});
// local file
await page.goto(`file:///${ __dirname}/www/index.html`, {
waitUntil: 'domcontentloaded',
timeout: LOAD_TIMEOUT
});
await page.waitForFunction(() => !!(window.Ext && Ext.isReady && window.App && App.app), {
polling: LOAD_POLLING,
timeout: LOAD_TIMEOUT
});
await page.setViewport({
width: 1080,
height: 1600,
deviceScaleFactor: 1,
isLandscape: true
});
await page.evaluate(
App.pdf.Builder.create({
...
});
);
await page.waitForFunction(() => App.pdf.Builder.ready || App.pdf.Builder.error, {
polling: LOAD_POLLING,
timeout: PAGEBUILD_TIMEOUT
});
await page.pdf({
path: filePath,
format: 'A4',
margin: {
top: '0px',
right: '0px',
bottom: '0px',
left: '0px'
},
printBackground: true // required for photos otherwise blank
,scale: 0.5
});
Я пытался добавить width: '1920px', height: '1080px'
в page.pdf()
, но тоже не удалось. (только может сделать это в альбомной ориентации, если установлено в page.pdf()
)