重置每个记录iText的页面大小

时间:2016-01-15 16:18:33

标签: asp.net visual-studio itext

我正在尝试重置pdf中每个记录的页面大小,这是总页面

(1 of pagesize
 2 of pagesize.......)

第一个区块代码适用于1个单一记录但是当它出现在多个记录中时显示:

1 of 0     //1st record
2 of 0
1 of 0     //2nd record

.......

我认为与 document.setPageSize() 有关,但它是布尔值,属于Rectangle。

请帮我解决这个问题。 感谢。

Public Overrides Sub onEndPage(ByVal writer As PdfWriter, ByVal document As Document)

    Dim page As Rectangle = document.getPageSize()
    Dim cb As PdfContentByte = writer.getDirectContent()
    Dim arialbasefont As BaseFont = arial.getBaseFont
    Dim pg As Rectangle = document.getPageSize()

    Dim pageNumberText As String = "Page " & writer.getPageNumber() & " of "
    Dim timeStampText As String = Now.ToString
    Dim pageNumberTextLength As Double = arialbasefont.getWidthPoint(pageNumberText, footerFontSize)
    Dim timeStampTextLength As Double = arialbasefont.getWidthPoint(timeStampText, footerFontSize)
    Dim pageNumberTextLeft As Double = 20
    Dim templateLeft As Double = pageNumberTextLeft + pageNumberTextLength
    Dim pageNumberTextBottom As Double = 5 + footerFontSize

    cb.beginText()
    cb.setFontAndSize(arialbasefont, footerFontSize)
    cb.showTextAligned(PdfContentByte.ALIGN_LEFT, pageNumberText, pageNumberTextLeft, pageNumberTextBottom, 0)
    cb.showTextAligned(PdfContentByte.ALIGN_LEFT, Now, pg.urx - (timeStampTextLength + 20), pageNumberTextBottom, 0)
    cb.endText()
    cb.addTemplate(tpl, templateLeft, pageNumberTextBottom)

End Sub

对于数组中的每个ProjectID

                Dim rptRequestReportObj As New rptRequestReport2
                rptRequestReportObj.Report(document, ProjectID)

                document.newPage()
                document.setPageCount(1)

下一个ProjectID

0 个答案:

没有答案