2

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

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

编辑

   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( );
    }

此代码在控制台应用程序中运行。这里的错误发生在我们开始使用文件流时(与其他情况一样)。

4

2 回答 2

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()

我会尽量解释我所知道的。

于 2014-04-21T09:43:56.140 回答
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( ); 
于 2013-12-28T19:19:33.937 回答