itextsharp意外错误

时间:2013-03-06 14:30:32

标签: c# pdf-generation itextsharp

我是使用这个库的新手,我找到了几个例子(我按页面拆分PDF):

但是当有人开始使用时会发生Filestream错误(Object reference not ...)。创建Filestream时,不会发生任何错误。怎么了?图书馆我已下载here

修改

   private static void Test()
    {
        Document pdfDocument = new Document( );
        PdfWriter.GetInstance(pdfDocument,
        new FileStream("D:\\WDPT.PDF", FileMode.Create));
        // here is eror
        pdfDocument.Open( );
        pdfDocument.Add(new Paragraph("Here is a test of creating a PDF"));
        pdfDocument.Close( );
    }

此代码在控制台应用程序中运行。当我们开始使用filestream时会出现错误(如在其他情况下)。

2 个答案:

答案 0 :(得分:0)

试试这个,你必须使用对象编写器

            Document pdfDocument= new Document(PageSize.A4);

            new PdfWriter.GetInstance(pdfDocument, new FileStream(OutPutFileNameFullPath+ ".pdf", FileMode.Create));

            pdfDocument.Open();
            pdfDocument.Add(new Paragraph("Here is a test of creating a PDF"));
            pdfDocument.Close( ); 

答案 1 :(得分:0)

你必须写这个来使用DLL引用(这里是VB的代码)

Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.text.html.simpleparser
Imports iTextSharp.text.html

然后传递您的流对象以生成PDF。

如果您收到错误:“对象引用集不是对象的实例”,即某处 在声明之后,将其设置为null(或者它将作为null传递)。 编写如下代码

    Dim pDoc As New Document(pRec)
    Dim pWriter As PdfWriter
    Response.AddHeader("Content-Disposition", "attachment;filename=" & Title & " .pdf")
    pWriter = PdfWriter.GetInstance(pDoc, Response.OutputStream)
    pRec.Border = 1
    pRec.BorderColor = BaseColor.MAGENTA
    pDoc.Open()
    'Add pdf Detail
    pDoc.AddTitle("REPORTS")
    pDoc.AddSubject(Title)
    pDoc.AddAuthor("ADMIN")
    pDoc.AddHeader("Company", "DK LTD")
    pDoc.AddHeader("PageSize", DocSize)

在此处添加您的流编写器对象, 然后循环直到EOF 然后

   pdoc.close()

我会尽力解释我所知道的最好的东西。