3

我知道可以使用 C# API 在页眉/页脚中呈现“Y 页 X”,如下所示:

//write the page number
TextElement footerText = new TextElement(0, pdfConverter.PdfFooterOptions.FooterHeight - 15, "This is page &p; of &P;  ",
    new System.Drawing.Font(new System.Drawing.FontFamily("Times New Roman"), 10, System.Drawing.GraphicsUnit.Point));
footerText.EmbedSysFont = true;
footerText.TextAlign = HorizontalTextAlign.Right;
pdfConverter.PdfFooterOptions.AddElement(footerText);

..但我宁愿直接在html中定位和设置样式:

 HtmlToPdfElement footerHtml = new HtmlToPdfElement(pdfOptions.DocumentFooterHtmlString, pdfOptions.BaseUrl);
 footerHtml.FitHeight = true;
 pdfConverter.PdfFooterOptions.AddElement(footerHtml);

其中 pdfOptions.DocumentFooterHtmlString 看起来像这样:

<div class="clearfix">
    <span class="pull-right">This is page &p; of &P;</span>
</div>

这是可能的吗?如果我尝试这个,我会得到:这是页面 &p; &P; 在页脚中呈现。

4

2 回答 2

5

我为此短暂地挣扎过。为了其他通过搜索找到它的人,诀窍是当您添加 HTML 元素时,它必须是 HtmlToPdfVariableElement 而不是 HtmlToPdfElement。

HtmlToPdfVariableElement footerHtml = new    HtmlToPdfVariableElement(pdfOptions.DocumentFooterHtmlString, pdfOptions.BaseUrl);
footerHtml.FitHeight = true;
pdfConverter.PdfFooterOptions.AddElement(footerHtml);
于 2016-05-19T09:22:47.580 回答
3

看起来你可以做到这一点。请参阅http://www.evopdf.com/demo/PDF_Creator/Headers_and_Footers/Page_Numbers_in_HTML.aspx

在示例代码中 Evo 提供他们使用 HtmlToPdfVariableElement。

于 2014-12-01T18:36:01.517 回答