【问题标题】:PDF header doesnt get displayed ItextsharpPDF 标题不显示 Itextsharp
【发布时间】:2011-11-21 09:05:23
【问题描述】:

嗨,我正在通过使用 itextsharp 解析 html 来编写一些 pdf,它工作正常,但我想在 pdf 的每一页上添加页码。为此,我在其中添加带有虚拟文本的标题(稍后我将用页数替换它)并编写圆顶内容但不显示内容..

try
{
     Document oNewDocument = new Document(PageSize.A4, 20f, 20f, 30f, 10f);
     PdfWriter.GetInstance(oNewDocument, new FileStream(pdfpath + "/" + sSaleInvoicePdf, FileMode.Create)); 
     string content = "Some HTML Content";
     List<IElement> parsedHtmlElements = HTMLWorker.ParseToList(new StringReader(contents), styles);
     oNewDocument.AddHeader("text","text");

     foreach (var htmlElement in parsedHtmlElements)
     {
          oNewDocument.Add(htmlElement as IElement);
     }
}
catch (Exception ex)
{
     Response.Write(ex.Message);
}
finally
{
     oNewDocument.Close();
}

我穿着的地方。此代码生成所有 html 内容但不生成标题文本..??

【问题讨论】:

    标签: c# pdf itextsharp


    【解决方案1】:

    版本 5+ 你必须通过页面事件来做到这一点:

    Handling header footer page event, itextsharp 5+

    在第 5 版之前,它的工作方式如下:

    Document oNewDocument = new Document(PageSize.A4, 20f, 20f, 30f, 10f);
    PdfWriter.GetInstance(oNewDocument, new FileStream(pdfpath + "/" + sSaleInvoicePdf, FileMode.Create));  
    
    //Create some text to add to the header
    Chunk text= new Chunk("my text");
    Phrase phHeader = new Phrase();
    phHeader.Add(text);
    
    //Assign the Phrase to PDF Header
    HeaderFooter header = new HeaderFooter(phHeader, false);
    
    //Add the header to the document
    oNewDocument.Header = header;
    

    【讨论】:

    【解决方案2】:
      HeaderFooter hdr = new HeaderFooter(stringvalue, false);
      hdr.Border = Rectangle.NO_BORDER;
      hdr.Alignment = Element.ALIGN_LEFT;
      doc.Header = hdr;
    

    试试这个不确定你的版本是否支持这个..试试看

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-30
      • 2014-06-08
      • 1970-01-01
      • 1970-01-01
      • 2018-08-21
      相关资源
      最近更新 更多