0

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

...

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。我可以通过这样做来解决这个问题:

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

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

4

2 回答 2

0

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

于 2009-11-30T13:16:08.473 回答
0

当我打开所有异常时,我遇到了同样的问题,但您可以继续处理该异常。

于 2017-02-08T10:05:26.313 回答