首页 > Java > java教程 > iText 7 和 pdfHTML 如何通过 CSS 定位解决 HTML 到 PDF 转换问题?

iText 7 和 pdfHTML 如何通过 CSS 定位解决 HTML 到 PDF 转换问题?

DDD
发布: 2024-12-16 07:03:13
原创
568 人浏览过

How Can iText 7 and pdfHTML Solve HTML to PDF Conversion Problems with CSS Positioning?

使用 iText 将 HTML 转换为 PDF

问题:不遵守 CSS 定位

许多开发人员在使用 iText 将 HTML 转换为 PDF 时遇到困难,特别是关于使用 CSS 放置元素。

HTMLWorker 的限制

HTMLWorker 是 iText 的一个已弃用的组件,它有显着的缺点:

  • CSS 支持:它不支持真正的 CSS,需要显式的样式定义代码。
  • 已弃用: 中使用的许多类和方法HTMLWorker 已经过时了。

XMLWorker 的挑战

XMLWorker,旨在作为通用 XML 解析框架,面临类似的问题:

  • 图像丢失: 没有 ImageProvider 时图像丢失;即使这样,像 float 这样的 CSS 属性也会被忽略。
  • 部分 CSS 支持:不完全支持与定位相关的 CSS 样式。

iText 7 的解决方案和 pdfHTML

为了解决这些缺点,开发了 iText 7 及其 pdfHTML 插件。他们提供了一种简化的方法:

public static final String SRC = "src/main/resources/html/sample.html";
public static final String DEST = "target/results/sample.pdf";
public void createPdf(String src, String dest) throws IOException {
    HtmlConverter.convertToPdf(new File(src), new File(dest));
}
登录后复制

此代码生成所需的 PDF 输出,并尊重 float 等 CSS 属性。

其他注意事项

  • 许可: iText 7 在 AGPL 下发布,允许在开源项目中免费使用,但需要商业许可适用于闭源应用程序。
  • 旧系统:从较旧的 iText 版本迁移到 iText 7 有利于代码简化和面向未来。
  • 初学者指南: 对于 iText 7 的新手,建议放弃现有代码并重新开始,以简化转换过程。

以上是iText 7 和 pdfHTML 如何通过 CSS 定位解决 HTML 到 PDF 转换问题?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板