• itextsharp display:none无效的bug


    在使用itextsharp实现 html 2 pdf时,发现display:none无效。如

    <div style="display: none">
    应该隐藏
    </div>
    结果转换出来的Pdf竟然显示出来了“应该隐藏”,很奇怪。
    在stackoverflow上查找到了类似问题,https://stackoverflow.com/questions/46612643/itextsharp-and-xmlworker-displaynone-is-not-working
    原因在于itextsharp和itextsharp对于css解析时存在bug。因此切换成htmlpdf实现方式,也是itext开发的,基本内容和原来的itextsharp差不多,不要顾忌。
    通过nuget安装htmlpdf,
    /// <summary>
            /// 通过Html来生成pdf,测试Html样式
            /// </summary>
            /// <param name="html">要转换成pdf的html</param>
            /// <returns></returns>
            [HttpGet]
            [Route("TestHtmlToPdf")]
            public HttpResponseMessage TestHtmlToPdf(string html)
            {
                // pdfHTML specific code
                using (var memberStream = new MemoryStream())
                {
                    ConverterProperties converterProperties = new ConverterProperties();
                    converterProperties.SetFontProvider(new DefaultFontProvider(true, true, true));
                    HtmlConverter.ConvertToPdf(html, memberStream, converterProperties);
                    byte[] pdfArray = memberStream.ToArray();
                    var response = new HttpResponseMessage();
                    response.StatusCode = System.Net.HttpStatusCode.OK;
                    response.Content = new ByteArrayContent(pdfArray);
                    response.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/pdf");
                    return response;
                }
            }
    

      





  • 相关阅读:
    ubuntu16.04下vim安装失败
    Sql Server函数全解(三)数据类型转换函数和文本图像函数
    Sql Server函数全解(二)数学函数
    Sql server 2008 中varbinary查询
    处理乱码问题
    快速排序
    《Java编程思想》笔记 第二章 一切都是对象
    1021: 组合数末尾的零
    11462
    The Bus Driver Problem
  • 原文地址:https://www.cnblogs.com/taoshengyujiu/p/8477997.html
Copyright © 2020-2023  润新知