您引用了一个(基本上正确的)CSS sn-p 来从 HTML 输入创建 PDF 和打印输出(“分页媒体”),但您说:“它似乎不是工作”。
然后,再往下两句,你说:“我想在页面的任何位置显示页码”。
首先,第二点。
没有办法将页码放入 HTML 网站本身。此功能仅适用于分页媒体,例如 PDF 或从 HTML 创建的打印输出。
所以,它只适用于 PDF 或打印输出。但即使在那里:也无法将页码放在 PDF 上或在任意位置打印页面。您唯一的选择是顶部和底部-left/-right/-center 边距框,在主页上没有。
第二点,第一点。
现在将页码信息放在可能的位置...
由于您没有详细说明究竟是什么不适用于您的设置,所以让我给您简要介绍一下:
创建一个文件my.css 并将以下内容放入其中(这不是您的问题要求的最低要求,但添加了更多好东西供您试验)。
另外,首先我会解释如何在 PrinceXML 中使用它。
@page { size: A4 landscape;
background: gray;
border: solid 1pt blue;
padding: 9pt;
margin: 18pt 18pt 18pt 18pt;
font-family: "Helvetica Narrow";
@top-left {
content: 'PrivateCopy';
color: red;
font-style: bolditalic;
}
@top {
content: string(doctitle);
}
@bottom-left {
content: 'My Super-Duper Manual';
font-style: bold;
}
@top-right {
content: "Page " counter(page) " of " counter(pages);
font-style: bold;
}
@bottom {
content: string(paratitle);
}
}
将文件保存在磁盘上的某个位置。
现在调用 PrinceXML 命令行并使用 -s my.css 应用样式表:
prince \
--verbose \
--javascript \
--style=/path/to/my.css \
http://stackoverflow.com/questions/12061835/css-page-counter \
--output=my-css-page-counter-question.pdf
(显然,您需要将路径调整为 my.css 样式表文件。但是...)瞧!,您在 PDF 中的 Stackoverflow 问题...
当然,您可以使用更多功能扩展 my.css。当然,您可以将它用于任何 HTML 文件的转换,甚至是本地文件与远程文件的混合:
prince \
--verbose \
--javascript \
-s /path/to/my.css \
/home/nada.adly/Documents/title.html \
/home/nada.adly/Documents/chapter_1.html \
/home/nada.adly/Documents/chapter_2.html \
http://en.wikipedia.org/wiki/Cascading_Style_Sheets \
http://stackoverflow.com/questions/tagged/css \
-o random.pdf
现在除了使用和不使用 PrinceXML 之外的 CSS,以及 直接打印输出。 (当然您可以随时打印 PrinceXML 生成的 PDF —— 但也许您根本不想使用 Prince?)
同样,您并不清楚您的问题的范围:
您作为浏览器用户是否希望将这些页码输入任何网站打印输出?
-
或者您作为负责网站的网站管理员是否希望确保这些页码进入您的网站访问者从您的内容中所做的打印输出中?
李>
我不会在这里详细说明这两点(因为我可能完全错过了你的观点),但是......