Генерация PDF из HTML и сохранение оригинального дизайна элемента

Я практикую преобразование HTML в PDF. Для этой цели, во-первых, я попробовалHtmlWorker, но он не принимал мой CSS. Тогда я узнал о XMLWorkerHelper думал, что это решит проблему. Но это также не получение изображений и точный дизайн.

Здесь я использую 2 изображения: 1 как фоновое изображение, а другое как изображение человека

    <div class="col-md-4" id="div1" runat="server" style="background-color: White; height: 204px; width: 324px; border: 1px #DBF0EC solid; border-radius: 5%; color: black; padding: 0px; overflow: hidden;">
        <div class="col-md-12" style="margin: 0px; padding: 0px; width: 100%;">
            <div class="col-md-12" style="margin: 0px; padding: 0px; text-align: center; width: 100%;">
                <h4 style="background-color: #169F85; margin: 0px; padding: 2px; border-radius: 5%; color: white; font-size: 16px;">Vikarunnessa School And College</h4>
            </div>
            <div class="col-md-12" style="background-image: url(Images/IdcardDesign.jpg); background-repeat: no-repeat; background-size: 100%">
                <h2 class="text-center" style="margin: 0px; padding: 0px; padding-bottom: 2px; color: Blue; text-align: center">Student Identity Card</h2>
                <div class="col-md-5" style="margin: 0px; padding: 0px;">
                    <img class="img-preview" style="max-height: 100px; width: 100px; margin: 0px; padding: 0px;" src="Images\img.jpg" />
                </div>
                <div class="col-md-7" style="margin: 0px; padding: 0px;">
                    <h6 style="margin: 0px; padding: 0px; padding-top: 5px; letter-spacing: .04em; width: 100%;">
                    Fredrick Joe 
</h6>   
                </div>
            </div>
        </div>
    </div>

Это код, который генерирует PDF

 protected void btnCreatePDF_Click(object sender, EventArgs e)
        {
            using (StringWriter sw = new StringWriter())
            {
                using (HtmlTextWriter hw = new HtmlTextWriter(sw))
                {
                    div.RenderControl(hw);
                    StringReader sr = new StringReader(sw.ToString());
                    Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
                    PdfWriter writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
                    pdfDoc.Open();
                    XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr);
                    pdfDoc.Close();
                    Response.ContentType = "application/pdf";
                    Response.Cache.SetCacheability(HttpCacheability.NoCache);
                    Response.Write(pdfDoc);
                    Response.End();

                }
            }
        }

Содержание PDF должно быть таким же, как и разметка. С 2 изображениями и точным дизайном.

0 ответов

Другие вопросы по тегам