有没有人有一个文章的链接或专门从Chrome重复页面页眉/页脚的工作示例?
背景:
我花了好几天没有运气,有几个Stack提出的解决方案,但似乎没有工作(在Chrome中).由于我们在工作中使用Chrome,我只在那里测试过,所以下面有很多人说Chrome不能做到,但也许我忽略了一些东西?
我试过这些Stack链接(..还有更多):
如果我不能,请使用重复的页眉/页脚...然后我的下一个想法是计算我的克隆对象中的行并让它以最大数量打破,创建一个新页面(强制高度)并再次启动循环另一个div的另一页.
我非常感谢有关运行页眉/页脚解决方案的任何建议,因为我的应用程序的重点是完成的打印提案.
我正在尝试使用Google Chrome替代PhantomJS将HTML呈现为PDF.到目前为止,它对我来说一直很好.我唯一的问题是我没有找到任何方法来翻译以下PhantomJS代码:
page.paperSize = {
footer: {
contents: phantom.callback(function(pageNum, numPages) {
return "Power by MyWebsite. Created on "+formatDate(new Date())+"<span style='float:right'>" + pageNum + " / " + numPages + "</span>";
})
}
}
Run Code Online (Sandbox Code Playgroud)
格式化日期与问题中的函数相同如何格式化JavaScript日期
但是,我还没有找到一种方法来在谷歌Chrome中无头复制这种行为.我正在使用来自https://github.com/cyrus-and/chrome-remote-interface的 Chrome远程接口(CDP)
这是我的chrome远程接口代码的概述:
return new Promise(async function (resolve, reject) {
const url = "<MyURL here>";
const [tab] = await Cdp.List()
const client = await Cdp({ host: '127.0.0.1', target: tab });
await Promise.all([
Network.enable(),
Page.enable()
]);
Page.loadEventFired(function () {
setTimeout(function () {
resolve(Page.printToPDF({displayHeaderFooter:true}))); //https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-printToPDF
}, …Run Code Online (Sandbox Code Playgroud) 我正在努力为我们的Mediboard项目提供完整的HTML页眉/页脚打印功能.
从长远来看,我知道CSS3 Page Media模块将满足我的需求,但距离至少还有两三年的时间.
因此我尝试使用CSS2功能,它几乎可以在这个可打印的文档中看到.然而,我仍然在页脚下打印内容的页脚有限(参见第3-4页打印预览).
虽然我很确定div.body的填充底部曾经使它在Firefox 2中运行.
无论如何,有人有一个棘手的线索来帮助我解决这个问题吗?
编辑:为了让更多的细节,我们目前使用定位元素有页眉和页脚position: fixed,有top:0或bottom:0取决于它是否是一个页眉或页脚.这很有效,在打印时,这些元素会在每个页面的正确位置重复出现(请参阅"可打印文档"示例).唯一的问题是当发生分页时,文本会在这些元素后面绘制(参见第3/4页)
EDIT2:更新了文档的URL
HTML中的表可以有" 页脚 ":
<TABLE>
<THEAD><TR><TD>Your header goes here</TD></TR></THEAD>
<TFOOT><TR><TD>Your footer goes here</TD></TR></TFOOT>
<TBODY>
<TR><TD>
Page body in here -- as long as it needs to be
</TD></TR>
</TBODY>
</TABLE>
Run Code Online (Sandbox Code Playgroud)
通常,旧版Internet Explorer只显示TFOOT整个表格的底部.但是有一种风格可以应用于TFOOT(和THEAD)使其打印在由表格跨越的每个页面的底部.来自MSDN:
table-footer-group
对象呈现为tFoot.表格页脚始终显示
在所有其他行和行组之后,以及任何底部字幕之前.
页脚显示在由表格跨越的每个页面上.
添加table-footer-group为样式TFOOT使其(在Internet Explorer中)在表格跨越的每个页面的底部打印:
<STYLE type="text/css">
tfoot { display: table-footer-group; }
</STYLE>
Run Code Online (Sandbox Code Playgroud)
但如果IE9(候选版本)被置于标准模式:
<!DOCTYPE html>
Run Code Online (Sandbox Code Playgroud)
然后TFOOT不再呈现在跨越表的每个页面的底部,而是仅在整个表的末尾.
我查看了HTML规范以查看正确的行为是什么,并且它未定义!:
table-footer-group(在HTML:TFOOT中)
与'table-row-group'类似,但对于可视化格式,行组始终显示在所有其他行和行组之后以及任何底部标题之前.打印用户代理可能会在表格跨越的每个页面上重复页脚行.如果一个表包含多个带有'display:table-footer-group'的元素,则只有第一个元素呈现为页脚; 其他人被视为'display:table-row-group'.
注意:强调增加了效果.
在IE9 标准模式中有没有办法让我选择 …
我想在打印模式下将页眉和页脚放在每个页面中.我做了很多研究.
我找到了两个解决方案.但它们不是跨浏览器(我希望它能在IE,Firefox和Chrome中运行)
第一个解决方案:我在内容表的顶部和底部设置边距.然后我用固定位置写这个空间的页眉和页脚.它在Firefox中运行良好.但在IE和Chrome中并没有设定利润率.同样在Chrome中,它不会为每个页面编写页眉和页脚.
这是我的代码:
pagination.php
<!DOCTYPE HTL>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
<meta name="robots" content="noindex, nofollow">
<meta name="googlebot" content="noindex">
<meta http-equiv="cache-control" content="no-cache">
<title>Brove.NET ISO Yaz?l?m?</title>
<link rel="stylesheet" type="text/css" href="css/pagination.css" />
</head>
<body>
<table class="header" cellpadding="0" cellspacing="0">
<tr>
<td>header
</td>
</tr>
</table>
<table class="content" cellpadding="0" cellspacing="0">
<tr>
<td valign="top">
content
</td>
</tr>
</table>
<table class="footer" cellpadding="0" cellspacing="0">
<tr>
<td>footer
</td>
</tr>
</table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
pagination.css
@media screen{
.header{
width:768px;
height:100px;
border:2px solid #000;
}
.content{
width:768px;
margin-top:10px;
margin-bottom:10px;
height:1000px;
} …Run Code Online (Sandbox Code Playgroud) 我想通过 javascript 或 CSS 更改浏览器的打印设置。
具体来说,我需要清除Headers 和 Footers。
例如,在 GoogleChrome 中,当我按下Ctrl+p打印对话框时,会出现一个名为“页眉和页脚”的选项,默认情况下,该选项已在我的浏览器中进行了检查(Chrome 版本 30.0.1599.101 m)。
1 . 我不需要跨浏览器的解决方案。如果我能在 Google Chrome 或 firefox 或 IE 等浏览器中找到解决方案,就足够了。
2 . 我知道使用 ActiveX 可以做到这一点,但我不想使用 ActiveX。
是否可以使用XPAGE在每个打印页面上打印带有自定义页眉和页脚的HTML页面?
无论内容如何,我都想在每个打印页面的底部添加蓝色Arial,大小为8pt的"业务伙伴"一词.
请参阅我的样本作为附件:http://i1248.photobucket.com/albums/hh490/dannysumarnach/XPage/samplepagewithfooter.jpg
css ×5
html ×4
javascript ×4
footer ×2
header ×2
printing ×2
browser ×1
html-table ×1
jquery ×1
lotus-domino ×1
standards ×1
xpages ×1