相关疑难解决方法(0)

@page:Chrome中的第一个{margin:...}错误?

参考完整的小提琴:http://jsfiddle.net/XT92a/

@page {
    margin: 1in;
}

@page :first {
    margin: 2in 1in 3in 3in;
}
Run Code Online (Sandbox Code Playgroud)

我希望上面的规则可以使第一个打印页面具有一定的边距,而所有其他页面都有1英寸的边距.

相反,我在Chrome的打印预览中得到以下内容(准确到打印输出).保证金对非第一页不同,但它们都是不正确的.注释掉:first margin规则允许非首页以正确的布局打印,但当然,第一页也会受到影响.

在我看来,Mozilla的文档声称Chrome正确支持这一点.显然Chrome会做出反应,但不正确.如果可以的话,我会参考Chrome文档,但谷歌很糟糕的文档!(有没有谷歌相当于MDN?我找不到它.)

对我来说很奇怪,我在其他地方找不到这个问题,如果Chrome应该从版本2.0开始就支持这个问题,并且打印布局是如此庞大的PITA.

我做错了吗?有一个强大的解决方法吗?我试过@page:first(没有空格),独立设置边距值trbl样式和单独设置,并在样式声明中交换规则的顺序.没有效果.

在此输入图像描述

css printing google-chrome

12
推荐指数
1
解决办法
6352
查看次数

试图在 Puppeteer 生成的 PDF 上隐藏第一个页脚/页眉

我是使用 nodejs 函数和 puppeteer 的新手。以前我使用 wkhtmltopdf 但目前它的选项很差。

因此,我的想法是从带有第一个封面的 html 生成 pdf(具有完整 A4 宽度/高度的图像),因为页脚是从 index.js 生成的,因此无法将其隐藏在PDF。

//Imports
const puppeteer = require('puppeteer');
//Open browser
async function startBrowser() {
    const browser = await puppeteer.launch({headless: true, args:['--no-sandbox']});
    const page = await browser.newPage();
    return {browser, page};
}
//Close browser
async function closeBrowser(browser) {
    return browser.close();
}
//Html to pdf
async function html2pdf(url) {
    const {browser, page} = await startBrowser();
    await page.goto(url, {waitUntil: 'networkidle2'});
    await page.emulateMedia('screen');
    //Options
    await page.pdf({
        printBackground: true,
        path: 'result.pdf',
        displayHeaderFooter: true,
        footerTemplate: …
Run Code Online (Sandbox Code Playgroud)

pdf node.js puppeteer

8
推荐指数
1
解决办法
5786
查看次数

标签 统计

css ×1

google-chrome ×1

node.js ×1

pdf ×1

printing ×1

puppeteer ×1