shms_rony Ответов: 3

как экспортировать Datalist (включая изображения) В Pdf


Всем Привет ..

когда я пытаюсь экспортировать таблицы или таблицы в формат PDF..т. е. экспортируется без картинок !!!

это мой код :

Response.ContentType = "application/pdf";
        Response.AddHeader("content-disposition",
         "attachment;filename=Products.pdf");
        Response.ContentEncoding = System.Text.Encoding.UTF8;
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        StringWriter sw = new StringWriter();
        HtmlTextWriter hw = new HtmlTextWriter(sw);

        DataList1.DataBind();
        
        DataList1.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();

3 Ответов

Рейтинг:
1

Member 12652005

попробовать это:-

iTextSharp.text.Table table = new iTextSharp.text.Table(grdCust_accot_stmt.Columns.Count);
        table.Cellpadding = 2;
        table.Width = 100;
        grdCust_accot_stmt.AllowPaging = false;
        this.grd_Account_stmt();       
        //Transfer rows from GridView to table
        for (int i = 0; i < grdCust_accot_stmt.Columns.Count; i++)
        {
            string cellText = Server.HtmlDecode(grdCust_accot_stmt.Columns[i].HeaderText); 
            iTextSharp.text.Cell cell = new iTextSharp.text.Cell(cellText);
            cell.BackgroundColor = new iTextSharp.text.Color(System.Drawing.ColorTranslator.FromHtml("#e8eff3"));
            table.AddCell(cell);
        }
 
        for (int i = 0; i < grdCust_accot_stmt.Rows.Count; i++)
        {
            if (grdCust_accot_stmt.Rows[i].RowType == DataControlRowType.DataRow)
            {
                for (int j = 0; j < grdCust_accot_stmt.Columns.Count; j++)
                {
                    string cellText = Server.HtmlDecode
                                      (grdCust_accot_stmt.Rows[i].Cells[j].Text);
                    iTextSharp.text.Cell cell = new iTextSharp.text.Cell(cellText);
 
                    //Set Color of Alternating row
                    if (i % 2 != 0)
                    {
                        cell.BackgroundColor = new iTextSharp.text.Color(System.Drawing.ColorTranslator.FromHtml("#e8eff3"));
                    }
                    table.AddCell(cell);
                }
            }
        }
        Document pdfDoc = new Document(PageSize.A2, 10f, 10f, 10f, 10f);
        PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
        pdfDoc.Open();
        pdfDoc.Add(table);
        pdfDoc.Close();
        Response.ContentType = "application/pdf";
        Response.AddHeader("content-disposition", "attachment;" +"filename=Reports.pdf");
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Response.Write(pdfDoc);
        Response.End();


Рейтинг:
0

fjdiewornncalwe

Возможно, вам придется убедиться, что на ваши изображения ссылаются абсолютные, а не относительные пути в вашем html-коде. Это связано с тем, что большинство авторов pdf создают временную копию вашего html-ввода во временном каталоге перед синтаксическим анализом, что затем приводит к сбою относительных путей.


shms_rony

таблицы изображений добраться из путь в базе данных

Рейтинг:
0

Graeme_Grant

Вот статья, которая объясняет, как: iTextBox-преобразование datalist и изображения в PDF[^]