如何确保木偶的pdf生成器将正确呈现链接?

时间:2019-05-25 00:29:31

标签: pdf puppeteer google-chrome-headless

我编写了一个使用puppeteer加载网页并将其写入pdf的脚本。非常适合在没有链接的页面上使用。它也可以在https://nytimes.com上正常运行。生成的pdf具有作为可单击链接的链接,但是如果我在https://myballard.com(我的社区博客)上使用它,则所有链接都将显示为文本,后跟括号中的URL。例如

  

第34和市场的车辆爆炸和起火   (https://www.myballard.com/2019/05/24/vehicl e-explosion-and-re-at-34th-and-market /)

文章标题应该链接到该URL,并且该URL不应该显示。

MyBallard.com和NYTimes.com实际上不是我要打印为pdf的URL,但是它们是证明问题的公共新闻站点。

有一次,我认为这是关于HTTP vs 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网站上,我得到了链接标题,后跟括号中的a href中的URL,如上所示。

0 个答案:

没有答案