次のコードを使用して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を使用するサーバーでのみ発生し、VisualStudioを使用するローカルで正常に機能します。
誰か助けてもらえますか..??