css - 导出为 PDF 时,Firefox 会剪辑底部 div,以便在每个页面上提供版权信息

标签 css printing

我需要输出此页面的 PDF – http://mpkb.org/doku.php/home:1 – 并在每页底部做出版权声明。问题是,当我从 Firefox for Mac 导出为 PDF 时,该语句被剪裁。 (我只需每月执行一次此操作,因此我不一定关心这是否在其他浏览器中不起作用。)

使用 Eric Meyer 的经典建议,这是我正在使用的 CSS:

#print-footer {display: block; position: fixed; bottom: -20px ; overflow: visible;}

我已经尝试过:

  • 将 Bottom: -20px 更改为 0px,并为包含内容的元素(即 .dokuwiki、.clearfix、#wrap、body、html)分配“padding: 50px”。
  • 在页面设置中更改 Firefox 的边距。
  • 尝试使用 Mac 版 Google Chrome 浏览器或 Mac 版 Safari 浏览器。
  • 将包含内容的元素的背景颜色更改为无或透明。
  • 将包含内容的元素的 z 索引更改为小于 #print-footer 的 z 索引

每当我更新此文档时,将其导入 Adob​​e Acrobat 实在是太痛苦了。

有什么想法吗?

谢谢, 保罗

最佳答案

感谢您抽出时间,UberNeet。

我实际上在这个问题上花了很多时间。这里的主要问题是 @page 不受几乎所有浏览器的支持(我认为 Opera 是一个异常(exception)),即使它是 CSS 2.X 规范: http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28Cascading_Style_Sheets%29#Grammar_and_rules

我正在研究 CSS 3 规范: http://www.w3.org/TR/css3-page/#page-size-prop

...还有一些更有用、适合打印的功能,我只能梦想浏览器会支持它们。

例如:

@page {
  @bottom-center {
    content: "Copyright 2003-2010 Autoimmunity Research Inc.";
    color: #b31b1b;
    font-size: 11px;
    font-family: verdana;
    margin-bottom: 10px;
  }
}

所以我最终做的是使用地球上为数不多的支持 CSS3 的程序之一:PrinceXML。

PrinceXML 太棒了!我所要做的就是在我的 Mac 上下载并安装它,然后在我的终端中输入:

/Users/myaccount/prince/bin/prince http://mpkb.org/doku.php/home:1 -o /Users/my account/Desktop/final.pdf

我得到了一个格式完美的 PDF。很酷,不是吗?

顺便说一句,对于想要做一些奇特的事情(例如目录)的人,您应该查看这篇文章: http://www.alistapart.com/articles/boom

好吧,无论如何,希望这对其他人有帮助。

保罗

关于css - 导出为 PDF 时,Firefox 会剪辑底部 div,以便在每个页面上提供版权信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2140560/

相关文章:

html - Mootools morph 问题 - div 覆盖图像

html - IE7 - 背景颜色太宽

jquery append() 和容器大小

wpf - 如何在WPF中打印长帐单

java - 打印 Java 数组的最简单方法是什么?

python - 如何防止 Python 打印添加换行符或空格?

html - max-height max-width 100% 但在调整浏览器大小时拉伸(stretch)图像

html - 边框不能覆盖两个div

java - 在Java中打印二维码

php mysql 打印月份和表内容