插入一些文本后,iTextSharp上的错误结束文本丢失

时间:2016-02-22 11:56:58

标签: pdf itextsharp

我试图用iTextSharp创建一个pdf,但是在我在pdf上插入一些文本后,pdf被破坏并在Pdf Reader上显示这个讨厌的弹出窗口(见链接)

Img Error

我还使用了另一个程序来查看错误问题,并且当插入新文本时,iText库似乎停止添加开始/结束块

Error description

我使用的是最新版本的iTextSharp(v.5.5.8.0) 这是我使用的简单代码

Sub Main()
    Dim objPageSize As iTextSharp.text.Rectangle
    Dim objDocument As Document
    Dim objWriter As pdf.PdfWriter

    objPageSize = New Rectangle(842, 595)
    objDocument = New Document(objPageSize, 50, 50, 50, 50)
    objWriter = PdfWriter.GetInstance(objDocument, New System.IO.FileStream("test.pdf", System.IO.FileMode.Create, System.IO.FileAccess.Write))
    Call objDocument.Open()
    objWriter.Open()
    objWriter.DirectContent.BeginText()

    For i As Integer = 0 To 85
        Dim ct As ColumnText = New ColumnText(objWriter.DirectContent)
        ct.SetSimpleColumn(1, i * 5, 100, 100, 0, Element.ALIGN_LEFT)
        Dim phrase As Phrase = New Phrase("hello", FontFactory.GetFont(BaseFont.TIMES_ROMAN, BaseFont.CP1250, False, 4))
        ct.SetText(phrase)
        ct.Go()
    Next


    objWriter.DirectContent.EndText()
    objDocument.Close()
    objWriter.Close()


End Sub

它看起来像是图书馆的一个错误。

任何帮助将不胜感激

谢谢!

1 个答案:

答案 0 :(得分:2)

好的,我自己就找到了答案。

我会在这里发布,以供其他人使用。

你不需要打电话 objWriter.DirectContent.BeginText() 和 objWriter.DirectContent.EndText()

ColumnText类为您完成