ramuluj Ответов: 1

Проблема с преобразованием HTML в PDF с помощью iTextSharp


protected void btnPdf_Click(object sender, EventArgs e)
        {
            string attachment = "attachment; filename=" + "D:\abc" + ".pdf";
            Response.ClearContent();
            Response.AddHeader("content-disposition", attachment);
            Response.ContentType = "application/pdf";
            StringWriter s_tw = new StringWriter();
            HtmlTextWriter h_textw = new HtmlTextWriter(s_tw);
            h_textw.AddStyleAttribute("font-size", "7pt");
            h_textw.AddStyleAttribute("color", "Black");
            Panel1.RenderControl(h_textw);//Name of the Panel
            Document doc = new Document();
            doc = new Document(PageSize.A4, 5, 5, 15, 5);
            FontFactory.GetFont("Verdana", 80, iTextSharp.text.Color.RED);
            PdfWriter.GetInstance(doc, Response.OutputStream);
            doc.Open();
            StringReader s_tr = new StringReader(s_tw.ToString());
            HTMLWorker html_worker = new HTMLWorker(doc);
            html_worker.Parse(s_tr);
            doc.Close();
            Response.Write(doc);
}


Я использовал следующие ссылки:

using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html;
using iTextSharp.text.html.simpleparser;
using System.Drawing;


В приведенном выше кодировании, чтобы преобразовать веб-страницу (вывод HTML) в PDF, я получаю ошибку в "html_worker.Синтаксический анализ(s_tr);" говоря, что "не найден сетевой путь."
Пожалуйста, помогите мне

1 Ответов

Рейтинг:
1

StM0n

Побег

string attachment = "attachment; filename=" + "D:\abc" + ".pdf";
к
string attachment = "attachment; filename=" + @"D:\abc" + ".pdf";
или
string attachment = "attachment; filename=" + "D:\\abc" + ".pdf";


ramuluj

Опять же это вызывает ту же ошибку:

Сетевой путь не был найден.
Описание: необработанное исключение возникло во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.IO.IOException: сетевой путь не найден.

StM0n

Не могли бы вы усечь< & lt;string attachment = "attachment; filename=" + "D:\abc" +". pdf";> & gt; to< & lt;string attachment = @"D:\abc" +". pdf";>> и попробовать еще раз?