Я новичок в NodeJs и Puppeteer.Я нахожусь в процессе обновления старого генератора отчетов PDF от PhantomJs.Рабочий процесс Phantom читает файл PDF следующим образом:
api.readPdf(result.file)
.then(function(data) {
return({ page: result.page,
file: result.file,
data: data
});
});
и загружает файл PDF, используя .data результата.
При использовании Puppeteer мне удалось сгенерировать файл PDF, используя следующиепример кода.
async function timeout(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
(async ()=>{
const browser = await puppeteer.launch();
const page = await browser.newPage();
var paramData = completeParamData(reportParam);
await page.goto(reportParam.templateUrl,{ waitUntil: 'networkidle2' });
await page.emulateMedia('screen');
await page.evaluate(doInjectParams, reportParam);
await timeout(5000);
var ts = new Date().getTime();
await page.evaluate(() => { window.scrollBy(0, window.innerHeight); })
await page.pdf({
path:`mydoc_${ts}.pdf`,
format: 'A4',
printBackground:true
});
//**this data I dont want to fetch using the PhantomJS api**
const data = await api.readPdf(`mydoc_${ts}.pdf`)
.then(function(data) {
console.log(data);
return data;
});
await workflowDone(null,
{ data: data,
filename: `mydoc_${ts}.pdf`,
download: sanitize(`mydoc_${ts}.pdf`)});
})();
Генерация PDF прошла успешно, и мой файл также загружается, можете ли вы посоветовать, если есть альтернатива моему api.readPdf () с использованием puppeteer или другого API?