Доступ к закрытому файлу невозможен. iTextSharp - C#
Формулировка задачи:
Доброго дня. Возникла проблема с файлом и я не могу понять в чём соль. Такая фишка мне уже попадалась несколько раз, но я её каким-то чудесным образом исправлял. Не могу понять в чем проблема, что я могу делать не так и что мне так аукается?
студия показывает на строку с "doc.Close();" и ругается.
Вот сам код:
Что не так? Заранее спасибо.
string filePath = "Images.pdf"; iTextSharp.text.Rectangle rec = new iTextSharp.text.Rectangle(PageSize.A4); Document doc = new Document(rec, 72, 36, 50, 50); BaseFont baseFont = BaseFont.CreateFont(@"..\..\arial.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); iTextSharp.text.Font font = new iTextSharp.text.Font(baseFont, iTextSharp.text.Font.DEFAULTSIZE, iTextSharp.text.Font.NORMAL); try { using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None)) { PdfWriter writer = PdfWriter.GetInstance(doc, fs); PdfWriter.GetInstance(doc, fs); doc.Open(); iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(@"../../img/airplane.jpg"); img.ScaleToFit(120, 120); doc.Add(img); PdfContentByte cb = writer.DirectContent; cb.Rectangle(20f, 20f, doc.PageSize.Width - 40f, doc.PageSize.Height - 40f); cb.SetFontAndSize(baseFont, 10);//свой фонт cb.BeginText(); cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "**************", 300f, doc.PageSize.Height - 50f, 0); cb.ShowTextAligned(PdfContentByte.ALIGN_RIGHT, "*****************", 500f, doc.PageSize.Height - 50f, 0); cb.EndText(); cb.MoveTo(20, doc.Top - 30f); cb.LineTo(400, doc.Top - 30f); doc.Close(); Process.Start(filePath); } } catch (DocumentException ex) { Console.WriteLine(ex.Message); } catch (IOException ex) { Console.WriteLine(ex.Message); }
Решение задачи: «Доступ к закрытому файлу невозможен. iTextSharp»
textual
Листинг программы
PdfWriter.GetInstance(doc, fs);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д