itextsharp“对象引用未设置为对象的实例”错误

时间:2009-11-04 15:04:29

标签: c# c#-3.0 itextsharp itext

我有以下代码。在我的开发环境中,我没有得到任何错误,但在我的生产环境中,我做到了。

...

private Document _pdf;

public Report()
        {
            _pdf = new Document();
        }

public string GenerateReport(string reportType) {
        try {
            var fs = new FileStream("C:\\myfile.pdf", FileMode.Create);
           _pdfWriter = PdfWriter.GetInstance(_pdf, fs);


...

当代码运行时,我在 _pdfWriter = PdfWriter.GetInstance(_pdf,fs);

上收到以下错误
Object reference not set to an instance of an object.
    at iTextSharp.text.pdf.PdfWriter.GetInstance(Document document, Stream os)
    at Report.GenerateReport(String reportType)

你为什么这么想  我收到了错误?已创建文件流,并在构造函数中设置_pdf。

更新

问题是_pdf为null。我不知道为什么它在构造函数中设置为null。我可以通过这样做来解决这个问题:

if (_pdf == null) {
    _pdf = new Document();
}
_pdfWriter = PdfWriter.GetInstance(_pdf, fs);

我仍然想知道我做错了什么......

2 个答案:

答案 0 :(得分:0)

问题与生产中的超时问题有关,因为有更多数据。

答案 1 :(得分:0)

当我启用所有异常时,我遇到了同样的问题,但您可以继续执行该异常。