代码之家  ›  专栏  ›  技术社区  ›  Mitchel Sellers

如何在将html转换为pdf时保留外观

  •  3
  • Mitchel Sellers  · 技术社区  · 16 年前

    我一直在使用itextsharp进行html到pdf的转换,总体来说它工作得很好,但它似乎不像大多数格式。

    粗体、斜体和下划线都可以工作,但是,没有一种字体大小、样式或其他信息是受尊重的,因此导出看起来根本不像用于创建格式的html。

    有人知道怎么做吗

    • 修复itextsharp导出的方式(下面是我的代码示例)
    • 或者知道有一种不同的产品提供了这种功能,不会让银行破产?

    这是我的代码:

    //Do the PDF thing
    Document document = new Document(PageSize.A4);
    using (Stream output = new FileStream(Server.MapPath(relDownloadDoc), FileMode.Create, FileAccess.Write, FileShare.None))
    using (Stream htmlStream = new FileStream(Server.MapPath(relProcessingDoc), FileMode.Open, FileAccess.Read, FileShare.Read))
    using (XmlTextReader reader = new XmlTextReader(htmlStream))
    {
        reader.WhitespaceHandling = WhitespaceHandling.None;
        PdfWriter.GetInstance(document, output);
        document.Open();
        Console.ReadLine();
        HtmlParser.Parse(document, reader);
        document.Close();
    }
    
    4 回复  |  直到 7 年前
        1
  •  3
  •   Mic    15 年前

    试试wkhtmltoppdf。

    它是webkit的开源实现。两者都是免费的。

    我们设置了一个小教程 here

        2
  •  1
  •   Community CDub    7 年前

    Convert HTML + CSS to PDF with PHP? 我发现了 Prince XML ,它有 clients for lots of languages 包括.net平台。

    这是一个特殊的转换器,虽然商业和不便宜。有一个 Google Tech Talk 关于它。据称, Google uses it for Google Docs . 它的渲染引擎也通过了acid2测试。

    如果您想要高质量的html到pdf转换,并且愿意花3800美元购买服务器许可证,那么就不要再看下去了。坦白地说,我认为普林斯做其他事情的时间成本将很快超过所涉及的成本。开发人员的时间是昂贵的。

        3
  •  0
  •   Matt MacLean    16 年前

    我已经用过 pd4ml 为了一些事情。看起来效果不错。

    下面是pd4ml支持的列表html标记/属性: http://pd4ml.com/html.htm

        4
  •  0
  •   Cᴏʀʏ bcherry    16 年前

    一个服务器许可证的activepdf是375美元,做得很好。我们以前在客户项目中使用过,这很好。

    http://www.activepdf.com/products/serverproducts/webgrabber/index.cfm

    编辑 :当然,这取决于他们的另一种产品,价格为1400美元。我想这会比其他建议更便宜。再进行几分钟的研究,得出了以下备选方案:

    低于500美元:

    http://www.websupergoo.com/abcpdf-1.htm (您需要专业版尽可能多地保留格式)。