Я бы хотел создать PDF-документ с помощью iTextSharp и предварительно просмотреть его прямо в приложении. И это не только один раз, но так часто, как мне нравится, во время выполнения, когда пользователь вносит изменения в текстовый ввод.
Пока это работает, но, как я уже говорил, только один раз, когда программа запускается , Когда я пытаюсь сгенерировать файл PDF снова, я получаю сообщение об ошибке, что процесс не может получить доступ к сохраненному документу PDF, потому что он в настоящее время используется другим процессом.
Я уже пытался запретить доступ, но пока безуспешно.
private void CreateDocument()
{
//my attempt to stop the browser from blocking the file acces
if (browser.IsBusy())
{
browser.Stop();
}
doc = new Document(PageSize.A4);
writer = PdfWriter.GetInstance(doc, new FileStream("document.pdf", FileMode.Create));
doc.Open();
cb = writer.DirectContent;
//here is the actual pdf generation
doc.Close();
//this is the part where I set the pdf document reference from the web browser
browser.Navigate(@"path\document.pdf");
}
Фактически ошибка возникает, когда я устанавливаю экземпляр PDFwriter.
Я нашел компонент предварительного просмотра страницы в наборе инструментов из iTextSharp, но, к сожалению, нет ссылки на как это использовать. Использование этого может сработать проще, чем использование веб-браузера.