我的Web方法在我的%TEMP%文件夹中创建一个PDF文件,并且工作。 然后我要添加使用下面的代码一些自定义字段(元)到该文件。
类PdfStamper
产生IOException
,我是否使用其.Close()
方法或using
块刚刚结束。 这仍然是持有到文件句柄的进程是Webdev的Web服务器本身(我调试在VS2010 SP1)。
private string AddCustomMetaData(string guid, int companyID, string filePath)
{
try
{
PdfReader reader = new PdfReader(filePath);
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))
{
PdfStamper st = new PdfStamper(reader, fs);
Dictionary<string, string> info = reader.Info;
info.Add("Guid", guid);
info.Add("CompanyID", companyID.ToString());
st.MoreInfo = info;
st.Close();
}
reader.Close();
return guid;
}
catch (Exception e)
{
return e.Message;
}
}
不管我怎么努力,它保持在抛出异常st.Close();
,更精确地说:
该进程无法访问该文件“C:\用户[我的名] \ AppData \本地的\ Temp \ 53b96eaf-74a6-49d7-a715-6c2e866a63c3.pdf”,因为它正由另一个进程使用。
要么我俯瞰一些明显或有与问题PdfStamper
类,我还没有意识到的。 使用iTextSharp的版本是5.3.3.0和5.4.0.0,这个问题是一样的。
任何有识之士将不胜感激。
编辑:我目前“编码周围”的问题,但我还没有找到任何解决办法。