iTextSharp генерирует PDF, компилирует и запускает без ошибок, но PDF не появляется - PullRequest
0 голосов
/ 23 июня 2011

Я пробовал несколько разных вариантов, чтобы вывести очень простой PDF из памяти, но все, похоже, возвращают один и тот же результат, то есть фактически ничего не возвращает. Код компилируется и запускается без ошибок, но когда VS заканчивает обработку кода, ничего не происходит.

Я использую VS2008 и iTextSharp v5.1.1

У кого-нибудь есть предложения, пожалуйста?

Вот мой код в его текущем состоянии:

MemoryStream ms = new MemoryStream();           
Document doc = new Document();        
PdfWriter writer = PdfWriter.GetInstance(doc, ms);
writer.CloseStream = false;

doc.Open();
doc.Add(new Paragraph("Test Content"));
doc.Add(new Paragraph(DateTime.Now.ToString()));
doc.Close();

Response.ContentType = "application/pdf";
Response.OutputStream.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length);
Response.OutputStream.Flush();            
Response.OutputStream.Close();
ms.Close();

Ответы [ 2 ]

0 голосов
/ 24 июня 2011

Я обнаружил, что вызвало мою проблему, код был в событии button_click, где элемент управления кнопкой был внутри панели обновления ajax, как только я переместил кнопку за пределы панели обновления, она работала отлично.Не уверен, является ли это фундаментальной ошибкой с моей стороны или ошибкой с панелями обновления, так что я собираюсь прочитать о них.

@ Марк Сторер, теперь я ценю, что это не проблема ITextSharpОднако когда я писал это, я полагал, что это так, извиняюсь перед всеми за ошибку.

0 голосов
/ 23 июня 2011

Одна вещь, которую я изучил на ранней стадии, не используйте GetBuffer(), используйте ToArray().См. Этот пост:

Созданные iTextSharp PDF-файлы теперь вызывают диалоговое окно «Сохранить» в Adobe Reader X

...