所以..我能找到的唯一可用于HiQPdf编码页面的代码是:
// add page numbering
Font pageNumberingFont = new Font(new FontFamily("Times New Roman"), 8, GraphicsUnit.Point);
PdfText pageNumberingText = new PdfText(5, footerHeight - 12,
"Page {CrtPage} of {PageCount}",
pageNumberingFont);
我尝试过的任何谷歌搜索都会引发同样的事情。
我正在创建并合并多个PDF页面。
上面的代码让我认为{CrtPage}
和{PageCount}
由某个内部变量填充,但事实并非如此。
联系他们的客户服务部门只需获取他们的演示项目的复印件,其中包含相同的代码。
更新
我忘了提到HiQPdf“合并”示例将每个页面作为文件单独创建,然后打开备份并放在一起作为一个文档,但我正在考虑动态生成页码。 / p>
答案 0 :(得分:3)
在花了几个小时破解他们的演示项目之后,这就是我能够提出的(这是有效的)。这是获取页码所需的最基本的工作(因为问题是在一年前发布的,可能是关于早期版本,这是如何在版本8.1上执行)
var htmlToPdf = new HtmlToPdf();
htmlToPdf.Document.Foot.Enabled = true;
var pageNumberFont = new Font(new FontFamily("Arial"), 5, GraphicsUnit.Point); // 1
var pageNumberText = new PdfText(1, 25, "Page {CrtPage} of {PageCount}", pageNumberFont); // 2
htmlToPdf.Document.Footer.Layout(pageNumberText); // 3
打破步骤...
1:字体 - 在我看来,这是一个有用的选项,但据我所知,这是第2步的要求,这很糟糕。您必须在步骤2中的实例化期间将Font对象传递给PdfText对象。我从他们的演示中提取了GraphicsUnit.Point属性并且它可以正常工作,但我无法谈论此属性可用的其他选项以及它们如何执行(如果他们执行)。
2:文本 - 前两个数字用于位置,后面的字符串是您要显示的内容。 {CrtPage}和{PageCount}将自行更改为适当的值。作为最后一个参数,您传入在步骤1中创建的字体。
3:这是您将文本添加到页脚以使其显示的位置。
我仍然在通过HiQPdf进行学习,并在我学习的过程中学习,所以可能还有更好的方法可以做到这一点,我还没有找到 - 但在这一点上,这似乎是通往动态添加页数。