gpt4 book ai didi

c# - 如何在 HiQPdf 中设置页码?

转载 作者:行者123 更新时间:2023-11-30 22:20:03 25 4
gpt4 key购买 nike

所以..我能找到的唯一可以在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com