我有以下代码。在我的开发环境中,我没有得到任何错误,但在我的生产环境中却有。
...
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);
我仍然想知道我做错了什么......