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;
}
}
itextsharp display:none无效的bug的更多相关文章
- wxpython分割窗研究(解决sashPosition=0无效的BUG)
用wxpython开发一个简单的exe其实很简单的,但是在开发的过程中会遇到若干的坑.疑问.甚至bug,让人摸不清头脑!恰恰关于这方面的文档是少之又少,看来看去大家还是在官方的文档上加以引用说明,但是 ...
- display:inline-block的空白bug问题
产生原因:我们写代码的时候习惯在结束标签的后面添加换行符,这个时候就会产生空白符.但是不同浏览器对空白符的理解是不同的,IE6/7会忽略掉此空白符,正常显示内容:IE8以上的IE浏览器以及FF.chr ...
- IE6/7下Select控件Display属性无效解决办法
HTML的Select控件,C#的DropDownList服务器控件 设置父类型Display属性之后,在IE6/7上无效 直接将下段javascript脚本添加到页面中即可 <script t ...
- SlidingMenu addIgnoreView() 无效的bug解决方法
## 感谢大佬:https://blog.csdn.net/fuchaosz/article/details/51513288 1 简介 最近在做侧滑的时候用到了SlidingMenu,在MainAc ...
- IE8 td元素 width无效的bug;
不经意间做项目发现IE的td在某种情况下好奇怪,自己设置的width不起作用: 后经google大法,发现解决方案:已验证过完美解决bug; <table style="width: ...
- 解决Android5.0以后DatePicker选择时间无效的bug。
一.在布局中加上这句话. 加上了这句话后,就相当于强制用5.0以前的外观,所以外观会有所变化: 5.0以上没有这句话的外观: 加上之后的外观: 二.可以用DatePickerDialog代替
- ios 最新系统bug与解决——微信公众号中弹出键盘再收起时,原虚拟键盘位点击事件无效
最近ios发布新版本系统12.1,随着部分用户的系统更新,一些问题也渐渐暴露出来... 公司用户反映微信公众号出现了点击无效的bug!!测试调查发现,只有iphonex.iphone6,ihpone7 ...
- 转:移动开发中一些bug及解决方案
网页开发要面对各种各样的浏览器,让人很头疼,而移动开发中,你不但要面对浏览器,还要面对各种版本的手机,iOS好一点,而安卓就五花八门了,你可能在开发中也被它们折磨过,或者正在被它们折磨,我在这里说几个 ...
- IE常见BUG总结(持续更新)
ie6~7下display:inline-block无效 解决方案:需要hack触发hasLayout 1 //IE6.7中内联元素(如span)触发layout属性后, 它的行为和标准中的 inli ...
随机推荐
- python immutable and mutable
https://blog.csdn.net/hsuxu/article/details/7785835 python mutable as default parameter(NONONO) def ...
- [daily][samba] smbclient使用
用的也不是太明白,反正凑合用吧. 在用之前,只得到了两个信息,1:ip 192.168.30.9. 2:可以免密登录. 1. 用这个命令看一看,主要是找到这个目录:Anonymous ┬─[t ...
- 文件处理----Properties文件处理
properties是一种属性文件,这种文件以key=value格式存储内容,代码中可以使用Properties类来读取这个文件,然后得到数据. 当配置文件用,由于难以表达层次,复杂点可以使用xml做 ...
- 【Java】一台服务器配置多个Tomcat
需求缘由 最近接收了一个新的工具业务:ipublish发布系统,刚接手这个业务的时候,发现每次发布新的代码 需要到群里告知大家,我要停服务几分钟,准备更新代码啦.这尼玛 哪个公司都不敢这么牛逼的和用户 ...
- 命令行颜色换算器(基于python)
import sys print(hex(int(sys.argv[1])<<16|int(sys.argv[2])<<8|int(sys.argv[3]))) 就两行代码 在 ...
- 在asp.net中使用瀑布流,无限加载
页面中代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1 ...
- MyEclipse下创建的项目 导入eclipse
1.导入在MyEclipse下创建的项目 2.把项目变成Web项目,在项目上右键-->Properties-->选择Project Facets-->点击Convert to fac ...
- 基于fiddler实现本地代理完成脚本测试
配置好fiddler以后,具体操作流程如下: 1.找到后在右边点击AutoResponder,查看,默认情况如下 勾选 2.ctrl+F 搜索 app. 关键字 ,找到后拖到右侧 3.替换本地文件 4 ...
- 小程序-formdata传参
项目背景,后端接口要求formData传参: 在util.js文件中封装转化函数,代码如下: const formatTime = date => { const year = date.get ...
- 帝国cms建站总结-(分页)
帝国cms分页代码文件t_functions.php 代码为: <?php if(!defined('InEmpireCMS')) { exit(); } define('InEmpireCMS ...