Как я могу гарантировать, что pdf генератор кукловода будет правильно отображать ссылки? - PullRequest
0 голосов
/ 25 мая 2019

Я написал скрипт, который использует puppeteer для загрузки веб-страницы и записи ее в pdf.Хорошо работает на страницах, на которых нет ссылок.Это также работает на https://nytimes.com просто отлично.В сгенерированном pdf есть ссылки в виде кликабельных ссылок. Но если я использую его на https://myballard.com (мой блог по соседству), все ссылки отображаются в виде текста, за которым следует URL в скобках.например,

Взрыв и пожар автомобиля на 34-й улице и Market (https: /www.myballard.com/2019/05/24/vehicl e-взрыв-и-re-at-34th-and-market/)

Название статьи должно содержать ссылку на этот URL, а URL не должен отображаться.

MyBallard.com и NYTimes.com на самом деле не те URL, которые я пытаюсь использоватьпечатать в pdf, но это публичные новостные сайты, которые демонстрируют проблему.

В какой-то момент я подумал, что речь идет о http против https, поскольку MyBallard разрешает http, но, похоже, это не проблема.Когда я гуглял о проблемах с кукловодом и ссылками, единственное, что я видел, это некоторые проблемы (которые кажутся решенными) о ссылках с # в них.

const puppeteer = require('puppeteer');

(async () => {
    const browser = await puppeteer.launch({headless: true});
    const page = await browser.newPage();
    var url = process.argv[2];
    var outputFile = process.argv[3];
    try {
        await page.goto(url);
        await page.pdf({path: outputFile,
                        width: "8.5in",
                        height: "11in"});
        }
     catch (error) {
         console.log(error)
        }
     await browser.close();
     }
)();

В этом сгенерированном PDF-файле отображаются плохие ссылки: nodejs simple-print-url-to-pdf.js https://www.myballard.com bad_link_example.pdf

В этом сгенерированном PDF-файле отображаются хорошие ссылки: nodejs simple-print-url-to-pdf.js https://www.nytimes.com good_link_example.pdf

Нет сообщений об ошибкахпоказано на рисунке.Но с помощью NYTimes PDF я могу нажимать на ссылки созданного PDF.Это также выглядит хорошо (или относительно хорошо, учитывая, что сайт NYTimes не настроен для печати на бумаге размером 8,5 x 11).На сайте MyBallard я получаю заголовок ссылки, за которым следует URL-адрес из ссылки в скобках, как показано выше.

...