我正在研究一个Symfony项目,该项目使用Browsershot将页面导出为PDF。导出在服务器上工作正常,但是当我尝试使其在Docker容器内本地工作时,PDF中缺少许多资源(图像,CSS等),因此布局不正确。
因此,要对其进行故障排除,我想访问控制台日志和无头chrome实例的错误,该实例由puppeteer创建并由Browsershot调用。 有人对这个有经验么?是否有可能,或者无头的Chrome只是没有这样的开发工具?我在网上找不到任何东西,但也许有人以前尝试过。
非常感谢!
这是在项目内部调用Browsershot的方式:
Browsershot::html($htmlContent)
->noSandbox()
->showBrowserHeaderAndFooter()
->waitUntilNetworkIdle()
->headerHtml('<p></p>')
->footerHtml($this->getFooter())
->showBackground()
->emulateMedia('screen')
->landscape()
->paperSize(210, 297)
->margins(10, 10, 10, 10)
->windowSize(1200, 850)
->save($temp);
,然后像这样在Dockerfile中安装puppeteer:
RUN curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - && \
sudo apt-get install -y nodejs gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget && \
sudo npm install --global --unsafe-perm puppeteer && \
sudo chmod -R o+rx /usr/lib/node_modules/puppeteer/.local-chromium