Ошибка ItextSharp: в документе нет страниц

Я использую itextsharp для преобразования моей страницы asp.net в pdf. при нажатии кнопки я пишу следующий код:

        Response.ContentType = "application/pdf";
    Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.pdf");
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    StringWriter sw = new StringWriter();
    HtmlTextWriter hw = new HtmlTextWriter(sw);
    //GridView1.AllowPaging = false;
    GridView1.DataBind();
    GridView1.RenderControl(hw);
    StringReader sr = new StringReader(sw.ToString());
    Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
    HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
    PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
    pdfDoc.Open();
    htmlparser.Parse(sr);
    pdfDoc.Close();
    Response.Write(pdfDoc);
    Response.End();

но я получаю сообщение об ошибке: «Документ не имеет страницы», пожалуйста, помогите мне избавиться от этой ошибки и создать PDF-файл.


person Hitesh Gawhade    schedule 28.08.2012    source источник
comment
Вы можете создать файл шаблона PDF?   -  person Umair Noor    schedule 28.08.2012
comment
По этой ссылке есть одно решение: velocityreviews.com/forums/ Однако содержимое страницы преобразуется в обычный формат в формате pdf. есть ли способ сохранить исходную разметку, как в pdf (цвета и т. д.)?   -  person Hitesh Gawhade    schedule 28.08.2012
comment
проверить sw.ToString() является string.Empty или нет.   -  person VahidN    schedule 28.08.2012
comment
@ketan Я думаю, что на этот вопрос нужен хорошо понятный ответ - сначала нужны дополнительные подробности, которые, скорее всего, не появятся, поскольку ОП не было здесь уже полгода.   -  person mkl    schedule 12.11.2013


Ответы (1)


Для этого нужно было сделать два шага:

1) Убедитесь, что ITextSharp dll является последней версией

и

2) Возьмите кнопку ссылки вместо кнопки и НЕ берите гиперссылку, так как это приведет к ошибке с кнопкой гиперссылки.

person Monika    schedule 14.11.2013