首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用MvcRazorToPdf显示页码

用MvcRazorToPdf显示页码
EN

Stack Overflow用户
提问于 2015-11-09 19:27:13
回答 1查看 720关注 0票数 2

我试图在我的一个项目中使用软件包,并希望显示页码。文档对象上有一个属性,它具有PageNumber,但是。我不知道如何从视野中访问它。

当前代码:

代码语言:javascript
复制
PrintManager prntManager = new PrintManager();
var data = prntManager.ObjectToPdf(item, para);
byte[] pdf = null;

pdf = ControllerContext.GeneratePdf(prntManager.CreateController<PrintingController>(), data, prntManager.ReportToView(para.Export.Report.Code));   

HttpContext.Current.Response.AppendHeader("Export-Location", prntManager.GeneratePdf(pdf));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-09 19:56:47

如果有人有同样的问题,这里是我的解决方案:

代码语言:javascript
复制
PrintManager prntManager = new PrintManager();
var data = prntManager.ObjectToPdf(item, para);
byte[] pdf = null;
var cfg = new Action<iTextSharp.text.pdf.PdfWriter,iTextSharp.text.Document>((writer, document) =>
{
    writer.PageEvent = new StandardPrintHelper();
    document.NewPage();
});

pdf = ControllerContext.GeneratePdf(prntManager.CreateController<PrintingController>(), data, prntManager.ReportToView(para.Export.Report.Code), cfg);   

HttpContext.Current.Response.AppendHeader("Export-Location",
    prntManager.GeneratePdf(pdf));

StandardPrintHelper:

代码语言:javascript
复制
public class StandardPrintHelper : iTextSharp.text.pdf.PdfPageEventHelper
{
    public override void OnEndPage(PdfWriter writer, Document document)
    {
        ColumnText.ShowTextAligned(writer.DirectContent, Element.ALIGN_CENTER, new Phrase(writer.PageNumber.ToString()), 500, 140, 0);
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33616662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档