2013-03-02 55 views
2

所以..唯一的代碼,我能找到,你可以在HiQPdf使用編號的網頁是這樣的:如何在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「合併」的例子有每一頁單獨創建一個文件,然後打開備份和放在一起作爲一個文件,但我在看即時生成頁碼。

http://www.hiqpdf.com/demo/MergePdf.aspx

回答

1

花了幾個小時破譯他們的演示項目之後,這是我已經能夠拿出(的作品)。這是爲了讓頁碼出現所需要的最起碼的工作(而且由於這個問題是在一年前發佈的,並且很可能是關於早期版本,這是如何做到這一點的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和我一直在學習的過程中徘徊,因此可能有更好的方法來做到這一點,我還沒有找到 - 但在這一點上,這看起來是添加頁面動態計數。