0

我正在使用 SelectPDF for .NET 将 HTML 文档转换为 PDF。

我需要按照以下格式在每个页脚上添加页码:

"Page {page_number} of {total_pages}";

也就是说,PDF 是完美创建的。所以,我尝试使用以下链接中的说明,然后PdfTextElement库中没有可用的说明!?

SelectPdf for .NET - 页码 - C# / ASP.NET 示例

这里是链接中的代码,以防链接有一天失效。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SelectPdf;

namespace SelectPdf.Samples
{
    public partial class page_numbering : System.Web.UI.Page
    {
        protected void BtnCreatePdf_Click(object sender, EventArgs e)
        {
            // create a new pdf document
            PdfDocument doc = new PdfDocument();
            doc.Margins = new PdfMargins(10, 10, 0, 0);

            // create a new pdf font
            PdfFont font = doc.AddFont(PdfStandardFont.Helvetica);
            font.Size = 24;

            // add a new page to the document
            PdfPage page = doc.AddPage();

            // footer template (100 points in height) with text element
            doc.Footer = doc.AddTemplate(doc.Pages[0].ClientRectangle.Width, 100);
            PdfTextElement text1 = new PdfTextElement(0, 50, 
                "Page: {page_number} of {total_pages}.", font);
            text1.ForeColor = System.Drawing.Color.Blue;
            doc.Footer.Add(text1);

            // create a new text element and add it to the page
            // if page elements are added after header and footer is set, 
            // they will not be displayed in those areas.
            PdfTextElement text = new PdfTextElement(0, 0, Helper.SomeLongText(), font);
            page.Add(text);

            // save pdf document
            doc.Save(Response, false, "Sample.pdf");

            // close pdf document
            doc.Close();
        }
    }
}

如果真正的代码可以像这个示例代码那样工作,那就太棒了!但话又说回来,我发现没有PdfTextElement。我只能找到PdfTextSection

当前使用 SelectPdf 18.4.0.0。

SelectPDF v18.4.0.0 下载

4

1 回答 1

1

原来我没有使用完整的SelectPDF库,而只使用了它的轻量级 SelectHtmlToPdf。

PdfTextElement 对象不适用于 Select.HtmlToPdf。它仅在 Select.Pdf 库中。

于 2019-05-07T22:39:13.303 回答