ItextSharp PDF转换

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:

我在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: 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之间的区别是什么?对于每个许可证,我应该联系谁?