我有一个项目,需要打印一个包含许多行的HTML表.
我的问题是表格在多页上打印的方式.它有时会减少一半,使其无法读取,因为一半位于页面的边缘,其余部分打印在下一页的顶部.
我能想到的唯一合理的解决方案是使用堆叠的DIV而不是表格,并在需要时强制分页.但在完成整个更改之前,我认为我之前可以问过这个问题.
我使用window.print()打印页面,但我得到页眉和页脚包含页面标题,文件路径,页码和日期.如何删除它们?
我也试过打印样式表.
#header, #nav, .noprint
{
display: none;
}
Run Code Online (Sandbox Code Playgroud)
请帮忙.谢谢.
是否可以在CSS中使用@page内的属性来表示如果表格分布在多个页面上,则应在每个页面上重复表头(th)?
我正在使用Flying Saucer(将CSS/HTML转储到iText到PDF)创建PDF,我正在尝试使用CSS3将图像页眉和页脚应用到每个页面.
我基本上想把这个div放在每个页面的左上角:
<div id="pageHeader">
<img src="..." width="250" height="25"/>
</div>
Run Code Online (Sandbox Code Playgroud)
我的CSS看起来有点像这样:
@page {
size: 8.5in 11in;
margin: 0.5in;
@top-left {
content: "Hello";
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法让我把这个div放进去content?
有很多旧的文本,比如2002年的书,说明我们必须使用"CSS for Web"和"XSL-FO for print".我认为在现今(2012)我们最终可以使用CSS和渲染引擎来理解CSS2的分页媒体和CSS3的东西......但是"新文本",程序员的共识和软件的投资在哪里呢?
XSL-FO或"XSL格式化对象"(W3C标准)是从XML或XHTML内容生成PDF文档的最常用技术.XSL-FO 1.1版 于2006年发布,2001年发布1.0.
CSS2.1来自2011年,但CSS2.0是1998年的标准,2008年修订......我认为标准年龄不是问题.使用HTML,XHTML或XML的CSS具有"打印力":参见PrinceXML,WebKit打印模块(或wkhtmltopdf),ABCpdf等工具.
在CSS和XSL-FO之间进行选择:使用CSS2,您可以将文本完全适合纸质页面等.这不是分页,多列布局,放置脚注,运行页眉或页面边距......两者, CSS(分页媒体)和XSL-FO是做到这一点的好标准.
PS:关于这个上下文有一些相关的问题/答案,关于webkit转换,用PHP转换和关于HTML的Generation PDF.没有人对这个提出的问题有很好的答案.
<div id="header">header</div>
<div id="content">
content spanning several pages...
</div>
<div id="footer">Footer - Fixed at the bottom of each page</div>
Run Code Online (Sandbox Code Playgroud)
我想打印#header和#footer对每个打印模式页.我搜索了很多,但似乎没有任何工作,甚至position:fixed没有按预期工作.
有没有人有一个文章的链接或专门从Chrome重复页面页眉/页脚的工作示例?
背景:
我花了好几天没有运气,有几个Stack提出的解决方案,但似乎没有工作(在Chrome中).由于我们在工作中使用Chrome,我只在那里测试过,所以下面有很多人说Chrome不能做到,但也许我忽略了一些东西?
我试过这些Stack链接(..还有更多):
如果我不能,请使用重复的页眉/页脚...然后我的下一个想法是计算我的克隆对象中的行并让它以最大数量打破,创建一个新页面(强制高度)并再次启动循环另一个div的另一页.
我非常感谢有关运行页眉/页脚解决方案的任何建议,因为我的应用程序的重点是完成的打印提案.
我在页面上有很多内容,我无法控制它在哪里打破.我已经position:fixed在每个页面上使用了一些内容作为页眉/页脚,但它与文本重叠.我试图通过以下两种方式使用边距和填充来解决重叠问题.
当我使用@page添加保证金时
@page {
margin: 2cm;
}
Run Code Online (Sandbox Code Playgroud)
它可以在每个页面上工作,但是我的页眉和页脚也从边距中删除了.
所以我尝试使用body标签添加margin
body {
margin: 2cm;
/* padding: 2cm; */
}
Run Code Online (Sandbox Code Playgroud)
它的工作原理是在第一页上加2cm的上边距,在最后一页上加2cm的下边距.但不是在页面之间.
是否可以设置每页的边距/填充?
我有一个Web应用程序,它有一个可能超过一页的报告,我想在每个页面中打印页眉和页脚.我找到并试试这个: 在每个页面重复一个报告标题, 但它对我不起作用.我尝试使用Opera,IE9,Firefox,Google Chrome但是......没有.page-margin工作正常,但内容是我想要的,它不起作用.
我有三个单独的部分header,body并footer创建PDF格式.
标题部分将始终位于每个页面的顶部,它将被修复.
______________________
| header |
|______________________|
Run Code Online (Sandbox Code Playgroud)
问题在于身体内容,如果内容很大,则会转到第二页.
______________________
| |
| |
| body |
| |
| |
|______________________|
Run Code Online (Sandbox Code Playgroud)
页脚部分将始终位于每页的底部,它也将修复.
______________________
| footer |
|______________________|
Run Code Online (Sandbox Code Playgroud)
所以,如果内容很大,如果创建了两个页面,那么我应该得到两个页面:
______________________
| header |
|______________________|
| |
| |
| Body Part1 |
| |
| |
|______________________|
| footer |
|______________________|
Run Code Online (Sandbox Code Playgroud)
和
______________________
| header |
|______________________|
| |
| |
| Body part2 |
| |
| |
|______________________|
| footer |
|______________________|
Run Code Online (Sandbox Code Playgroud)
我尝试使用 …
css ×8
html ×5
printing ×3
pdf ×2
css-tables ×1
dompdf ×1
fixed ×1
html-table ×1
javascript ×1
jquery ×1
laravel ×1
pagination ×1
repeat ×1
xml ×1
xsl-fo ×1