我正在使用以下代码将 HTML 内容保存为 PDF:
public void SaveHTMLToPdf(string HTML, string FilePath)
{
Document document = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
PdfWriter.GetInstance(document, new FileStream(Request.PhysicalApplicationPath + "\\Invoice_Statement.pdf", FileMode.Create));
document.Open();
iTextSharp.text.Image pdfImage = iTextSharp.text.Image.GetInstance(Server.MapPath(ImgCom.ImageUrl.ToString()));
pdfImage.ScaleToFit(150, 100);
pdfImage.Alignment = iTextSharp.text.Image.UNDERLYING; pdfImage.SetAbsolutePosition(40, 770);
document.AddTitle("Invoice Details");
document.Add(pdfImage);
iTextSharp.text.html.simpleparser.StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet();
iTextSharp.text.html.simpleparser.HTMLWorker hw = new iTextSharp.text.html.simpleparser.HTMLWorker(document);
styles.LoadTagStyle("th", "color", "red");
styles.LoadTagStyle("th", "frontsize", "5");
document.Add(new Header(iTextSharp.text.html.Markup.HTML_ATTR_STYLESHEET, "Style.css"));
hw.Parse(new StringReader(HTML));
document.Close();
}
但它给出了这个错误:
该进程无法访问文件“C:\inetpub\wwwroot\abc\Invoice_Statement.pdf”,因为它正被另一个进程使用。
在这一行:
PdfWriter.GetInstance(document, new FileStream(Request.PhysicalApplicationPath +
"\\Invoice_Statement.pdf", FileMode.Create));
它只发生在使用 IIS-7 的服务器上,并且在本地使用 Visual Studio 时可以正常工作。
任何人都可以帮助..??