ItextSharp PDF转换
我在html编辑器中创建了一个带有输出的表ItextSharp PDF转换,itext,Itext,我在html编辑器中创建了一个带有输出的表 <table style="width: 100%;"> <tbody> <tr> <td style="width: 50.0000%;"><a href="http://www.google.com">sdfsdf</a><br></td> <td style="width:
<table style="width: 100%;">
<tbody>
<tr>
<td style="width: 50.0000%;"><a href="http://www.google.com">sdfsdf</a><br></td>
<td style="width: 50.0000%;"><br></td>
</tr>
<tr>
<td style="width: 50.0000%;"><br></td>
<td style="width: 50.0000%;"><br></td>
</tr>
</tbody>
</table>
并使用Itextsharp将html转换为PDF,如下所示
private List<IElement> GetXHtmlElementList(string html)
{
if (!string.IsNullOrEmpty(html) && html.Contains("<img"))
{
html = html.Replace("<img", "<br/><img");
}
List<IElement> list = new List<IElement>();
Dictionary<string, object> interfaceProps = new Dictionary<string, object>() {
{"img_provider", new CustomItextImageProvider()}
};
if (html != null)
{
var encodedHTML = HttpUtility.HtmlEncode(html);
if(encodedHTML != null)
using (StringReader sr = new StringReader(HttpUtility.HtmlDecode(encodedHTML)))
{
list = ParseToList(sr, null, interfaceProps);
}
}
return list;
}
private List GetXHtmlElementList(字符串html)
{
如果(.string)IsNullOrEmpty(HTML)和HTML包含(如果您习惯使用ItExt,考虑使用PDFHTML),它是一个ITXEX7插件,它提供了一种从HTML到PDF的转换方式,远远优于XMLeWorks.
小代码示例:
// IO
String htmlSource = "<p>Lorem Ipsum Dolor Sit Amet</p>";
File pdfDest = getOutputFile();
// pdfHTML specific code
ConverterProperties converterProperties = new ConverterProperties();
HtmlConverter.convertToPdf(
new FileInputStream(htmlSource),
new FileOutputStream(pdfDest),
converterProperties);
//IO
字符串htmlSource=“Lorem Ipsum door Sit Amet”;
File pdfDest=getOutputFile();
//pdfHTML特定代码
ConverterProperties ConverterProperties=新的ConverterProperties();
HtmlConverter.convertToPdf(
新文件输入流(htmlSource),
新文件输出流(pdfDest),
转炉房地产);
在了解更多信息,它看起来像iTextSharp代码,但不完全一样。这是什么parsetList()
您正在使用?另外,您确定您正在使用最新版本的iText吗?simpleparser
软件包很久以前就被弃用了,不是吗?是的,使用最新的XMLWorkerHelper会产生很好的效果。但是现在不知道我们如何将提供程序传递给XMLWorkerHelper.ParseToElementList(html,CSS);Dictionary interfaceProps=new Dictionary(){{“img_provider”,new CustomItextImageProvider()}的替代品是什么;在XMLWorkerHrlperSorry中,我帮不了你。看起来你是在为客户做有偿工作,但当Joris提供使用iText 7+pdfHTML时,你却惊讶地回应。你写道:这似乎是有偿的,这让你感到惊讶。请注意,使用iText的旧版本也需要付费许可证。如果你的客户想要使用iTextSharp,那么e很有可能需要购买商业许可证。在决定不使用最新的iText(夏普)之前,请咨询您的客户并讨论商业许可证价格版本。是的,我从你的观点理解…我会让客户购买许可证,因为我使用的是旧版本,我不知道同样的抱歉。现在我阅读并理解了,购买许可证不会有任何问题。但是如果你对如何解决上述问题有一些见解,我会更加自信,这似乎是付费的,客户希望在itextsharp中这样做,谢谢pdfHTML将是开源的。目前,您当然可以使用免费试用密钥。(如果您计划在商业环境中使用此密钥,则需要支付许可费。)那么,拥有每个项目的itextsharp和itext之间的区别是什么?对于每个许可证,我应该联系谁?