我尝试用木偶器生成pdf文件。它对一个页面很好,但当我尝试生成多页pdf文档时,我有一个bug的分页符。HTML模板用于下面生成。拜托,能帮我就帮我。复制的前提条件:以100%的高度填充第一页,并为下面的块添加标题。
HTML模板
function getHTMLTemplate(
height = 'auto',
component = '<div></div>',
style = '<style></style>',
header = '<div></div>',
footer = '<div></div>',
) {
return `
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>HTML to PDF Example</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
* {margin: 0; padding: 0; border-spacing: 0;}
.page {
width: 210mm;
height: ${height};
overflow: hidden;
background: transparent;
margin-top: -1px !important;
margin-bottom: -1px !important;
}
body>div {
width: 100%;
position: fixed;
}
body>div:first-child {
top: 0;
}
body>div:nth-child(2) {
bottom: 0;
}
@page {
size: 'A4';
margin: 0;
}
@media print {
thead {display: table-header-group;}
tfoot {display: table-footer-group;}
html, body {
width: 210mm;
height: 297mm;
}
tbody::after {
content: '';
display: block;
page-break-after: always;
page-break-inside: avoid;
page-break-before: avoid;
}
}
.block {
top: 0;
width: 210mm;
height: 40px;
position: absolute;
background: #092a4e;
z-index: 1;
}
</style>
</head>
<body>
<div class="block"></div>
${header}
${footer}
<table>
<thead>
<tr>
<td>
${header}
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="page">
${component}
${style}
</div>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>
${footer}
</td>
</tr>
</tfoot>
</table>
</body>
</html>
`;
}
生成PDF
const browser = await puppeteer.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox'] });
const page = await browser.newPage();
await page.emulateMediaType('print');
await page.setContent(utils.getHTMLTemplate(`calc(891mm - 82px)`, component, sheet.getStyleTags(), template.header, template.footer));
const buffer = await page.pdf({
format: "A4",
margin: { top: 0, bottom: 0, right: 0, left: 0 },
printBackground: true,
});
Bug在此输入图像描述
为了避免一个div分成两个页面,在html中添加一个类(例如“mydiv”)到div中,并在页面CSS中包含下面的代码。
@media print {
.myDiv {
break-inside: avoid;
}
}
问题内容: 我有这样的代码和方法,并在此所有其他方法作品和我都找过我所能,该方法适用于这也是 但这给了我 到处都是的错误,我找不到任何解决方案。 问题答案: 从你的问题… 我认为这是你感到困惑的地方。“查询”是指SQLAlchemy 对象。是指对象,它是的子类。此子类包括诸如和的帮助器。但是,这意味着Query对象不具有该功能。实际构建对象的方式称为“查询”对象,这取决于你处理的是还是对象。 在此
对,第一次使用分页,无法使其在第一页之外工作(404错误)。这一切似乎都围绕着$offset变量展开,就好像我将offset的变量更改为整数(如15),它会在第一页上显示从第15行开始的结果-但是$offset- 控制器: 型号: URL(首页): URL(第二页): 我做错了什么? 虽然这与错误无关,但请查看:
我的页面正在成功加载智能表js,但是当我尝试使用分页功能(如留档所示)时,我收到以下错误 和 我不确定我做错了什么,但下面是我的代码。任何帮助都会很好!谢谢
我在Spring MongoRepository上有一个简单的分页请求,但MongoRepository显然在某个任意的高页面#之后开始发送不正确的结果。我在这里发帖是想知道我是否遗漏了什么,或者这可能是Spring MongoRepository的一个bug。 在我的测试中,我的测试mongo db中有14个元素,下面的分页请求工作良好(如果数据在那里,则检索数据):但是下面的PageReque
我使用了spring boot(1.3.5)、spring-data、spring-data-jpa、JPA(hibernate/hsqldb)。 代码: 控制器: 我试着 也是,但不起作用。 浏览器输出: SQL无效!额外的“:”和重复的“ASC ASC”。 控制台输出:
在我的Wordpress自定义主题中,一个分页,在加载上面1的页面时给出404错误。我已经检查了Permalink和其他东西,但没有scuccess。 请帮我脱掉。 这是我的密码。