リテラルにhtmlデータがあり、scan.pdf
を使用してそのhtmlからiTextsharp
pdfファイルを作成します。しかし、File.Delete()メソッドを使用して作成したpdfファイルを削除しようとすると、次のようなエラーが表示されます
D:\Hosting\filepath\scan.pdf' 別のプロセスで使用されているため
どうすれば解決できますか?
これは、html から pdf ファイルを作成し、添付ファイルとしていくつかの mailid に送信するためのコードです。
string MailFormat = searchDt.Rows[0][1].ToString();
EmalBody.Append(MailFormat);
EmalBody.Replace("[Date]", DateTime.Today.ToString());
string emailbody = EmalBody.ToString();
message.Body = EmalBody.ToString();
***HTMLToPdf(emailbody, "scan.pdf");***
System.Net.Mail.Attachment attachment;
attachment = new System.Net.Mail.Attachment(Server.MapPath("scan.pdf"));
message.Attachments.Add(attachment);
message.IsBodyHtml = true;
message.Subject = "";
smtpClient.Send(message);
File.Delete("D://filepath//scan.pdf");
public void HTMLToPdf(string HTML, string FilePath)
{
Document document = new Document();
PdfWriter.GetInstance(document, new FileStream("D:\\filepath\\scan.pdf",FileMode.Create));
document.Open();
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);
hw.Parse(new StringReader(HTML));
document.Close();
}