我有这个代码:
private static byte[] ConvertPdfDocument(Document document, PdfPTable headerTable, PdfPTable affidavitsTable)
{
byte[] b;
using (MemoryStream ms = new MemoryStream())
{
PdfWriter writer = PdfWriter.GetInstance(document, ms);
if (document.IsOpen() == false)
{
document.Open();
}
document.Add(headerTable);
document.Add(affidavitsTable);
document.Close();
writer.Close();
b = ms.ToArray();
}
return b;
}
Run Code Online (Sandbox Code Playgroud)
打开"document"对象(document.Open()在此方法之外使用,然后传入.
条件document.IsOpen()评估为True.通过查看调试器中"document"对象的私有属性,我进一步确认文档实际上是打开的; 它表明"开放"是"真实的".
因此,执行移动到该document.Add(headerTable)行.
并且在那时抛出异常:"文档未打开." 虽然调试器已停止(由于抛出异常),但使用上述相同的两种方法,我仍然可以看到文档是打开的.
怎么会这样?
我已经谷歌搜索了一段时间但找不到任何东西,除了这里发布的相同问题没有答案...
任何帮助将不胜感激.
非常感谢,Eliezer
| 归档时间: |
|
| 查看次数: |
7943 次 |
| 最近记录: |