如此..我能找到的唯一可以在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);
我尝试过的任何Google搜索都具有相同的作用。
我正在创建和合并许多PDF页面。
上面的代码使我认为
{CrtPage}
和{PageCount}
由某些内部变量填充,但事实并非如此。与他们的客户服务部联系仅能获得我们演示项目的复印件,该演示项目的某个位置具有相同的代码。
更新:
我忘了提到HiQPdf“合并”示例,每个页面分别作为文件创建,然后重新打开并作为一个文档放在一起,但是我正在寻找动态生成的页码。
http://www.hiqpdf.com/demo/MergePdf.aspx
最佳答案
在花了几个小时解密他们的演示项目之后,这就是我能够想到的(有效的)。这是使页码出现所需的最艰苦的工作(并且由于问题是在一年前发布的,并且可能是关于较早版本的,所以这是在版本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进行学习并继续学习,因此可能尚有更好的方法,但我还没有找到-但是目前,这似乎是动态添加页数的方法。
关于c# - 如何在HiQPdf中设置页码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15169265/