#node.js #web-scraping #puppeteer
#node.js #очистка веб-страниц #кукловод
Вопрос:
Надеюсь, вы в безопасности.
Я создаю один скрипт, который выполняет некоторую очистку сайта. Теперь проблема в том, что у меня есть один сайт, на котором есть pdf. Итак, я не могу прочитать этот PDF-файл, используя puppeteer
и Node.js
.
Я могу читать другой текст из других ссылок.
Что я пробовал
const puppeteer = require('puppeteer')
async function printPDF() {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://blog.risingstack.com', {waitUntil: 'networkidle0'});
const pdf = await page.pdf({ format: 'A4' });
await browser.close();
return pdf
})
Это будет работать для добавления текста в pdf, но мне нужен pdf для текста.
Может кто-нибудь помочь мне с этим?
Ответ №1:
Существует модуль npm с именем «pdfreader». Вы можете это проверить.
Комментарии:
1. Спасибо за ваш ответ. Вы уверены, что этот npm сможет прочитать pdf из Live link? Ссылка может быть любой. Поскольку я проверил этот npm, это будет использоваться для чтения pdf из локального пути. В моем случае: URL-адрес может быть таким: htttps://anyhost.com/any/path/of/pdf/sample.pdf
2. О, теперь я понял, с какой проблемой вы столкнулись. Согласно моим исследованиям, безголовый режим puppeteer пока не поддерживает чтение PDF-файлов онлайн. Но должен быть способ развернуться. Я нашел эти 2 статьи, которые могут вам помочь. 1-) github.com/puppeteer/puppeteer/issues /… 2-) github.com/puppeteer/puppeteer/issues /… Первый из них предназначен для просмотра на Google Диске, чтобы иметь возможность читать PDF-файлы. Второй — сначала загрузить файл PDF, а затем делать то, что вы хотите. Вы также можете использовать модуль ‘pdfreader’ для 2. alternatife.
Ответ №2:
К вашему сведению, это было возможно в Playwright с помощью Firefox и перехода к файлу PDF, который будет открыт с помощью PDF.js . Однако последние версии Playwright нарушили эту функциональность: