将html文件另存为PDF

Cal*_*own 6 html php pdf

我正在使用PHP输出缓冲区创建动态"数据查看"页面的HTML文件,然后我将此输出作为HTML文件保存到服务器,并希望创建此HTML文件的PDF文件(存储在服务器)但我看过的每个解决方案都要求你将HTML代码放入变量中,但我有.HTML文件,我想自动转换为PDF但似乎无法找到解决方案.

这里的总体想法是通过电子邮件向用户提供数据审查的"副本",因此我假设PDF是最好的,但如果有任何其他建议,我会很乐意考虑其他事情.

任何帮助将不胜感激.

谢谢!

ctw*_*els 20

我已经深入研究了用PHP生成PDF,所以这是我几年来发现的......


PDF转换工具

  • FPDF

    • 如果你想使用PDF方法生成一个PDF文件,这个选项真的很好(我会把它硬币化,因为你逐字地生成PDF).

      • 功能包括:

        • 选择度量单位,页面格式和边距
        • 页眉和页脚管理
        • 自动分页
        • 自动换行和文本对齐
        • 图像支持(JPEG,PNG和GIF)
        • 颜色
        • 链接
        • TrueType,Type1和编码支持
        • 页面压缩
      • 笔记

        • 性能: Fast
        • 成本: Free
        • 便于使用: Difficult
          • 除非你玩很多东西,否则很难使用.
          • 好文档.
        • 其他:
          • 复制文件(如果需要生成PDF,需要有页面的HTML版本和页面的FPDF版本)
  • MPDF
    • 如果您想从HTML和CSS生成PDF文件并且仍然具有额外的和广泛的PDF自定义,则此选项非常好.
      • 功能包括:
        • 从UTF-8编码的HTML生成PDF
        • 它基于FPDF和HTML2FPDF,具有许多增强功能
      • 笔记
        • 性能: Mediocre
          • 不是最快但是能完成工作
        • 成本: Free
        • 便于使用: Easy
          • 最难的部分是知道MPDF的有效HTML和CSS是什么和不是什么
          • 很棒的文档.
        • 并非所有CSS都受支持,并且某些CSS被扩展导致一些混乱
  • PrinceXML
    • 如果您需要高性能和高可靠性,此选项可能是最佳选择.
      • 功能包括:
        • 强大的布局
          • 页眉和页脚
          • 页码,双面打印
          • 表,列表,列,浮点数
          • 脚注,交叉引用
        • 网络标准
          • HTML,XHTML,XML,SVG
          • 层叠样式表(CSS)
          • 的JavaScript/ECMAScript的
          • JPEG,PNG,GIF,TIFF
        • PDF输出
          • 书签,链接,元数据
          • 加密和文档安全
          • 字体嵌入和子集化
          • PDF附件
        • 易于集成
          • PHP和Ruby on Rails
          • servlet的Java类
          • .NET for C#和ASP
          • VB6的ActiveX/COM
        • 字体和Unicode
          • OpenType字体,TrueType和CFF
          • Kerning,Ligatures,Small Caps
          • 中文,日文,韩文,阿拉伯文,希伯来文,印地文等
        • 友好的支持
          • 提示电子邮件支持
          • 网络论坛,用户指南
          • 定期升级
      • 笔记
        • 性能: Fast
        • 价钱: $$$
          • 服务器许可
            • 1个许可证 - 3,800美元
            • 2个许可证 - 3,420美元
            • 3个许可证 - 3,040美元
            • 4个许可证 - 2,850美元
            • 5+许可证 - 2,800美元
          • OEM(最低承诺期为2年,可以在任意数量的服务器上运行;因此,如果您确实需要,可以创建服务器场)
            • 每月20,000份文件,5,000美元
            • 每月100,000份文件,7,500美元
            • 每月500,000份文件,10,000美元
          • 他们的学术折扣为50%,价格为1,900美元,桌面许可证为495美元,以及其他计划(请参阅此处查看完整列表)
        • 便于使用: Easy
        • 我没有直接使用PrinceXML(昂贵),但我们目前正在考虑将此作为我们业务的一个选项.
  • DocRaptor

    • 如果您需要高质量的API,此选项非常好.这是用于创建PDF和XLS文件的云托管选项.在后端使用PrinceXML.

      • 功能包括:

        • 您只需发送HTML,JS和CSS
        • 正常运行时间
        • 文档大小无限
        • 专家支持,包括文档调试
        • 几乎提供了PrinceXML所做的一切,但请仔细检查他们的支持或文档,了解您可能需要的任何具体内容.
        • 基于API:适用于PHP,NodeJS,Ruby,Python,Java,C#
      • 笔记
        • 性能: Fast
          • 取决于互联网连接,所以如果您的互联网出现故障,那么这部分代码也是如此.
        • 定价:$-$$$
          • 目前,他们的定价计划如下(摘自他们的网站):
            • 基本 - 125 docs/mo - $ 15 /月
            • 专业 - 325 docs/mo - $ 29 /月
            • 高级 - 1,250 docs/mo - $ 75 /月
            • 最高 - 5,000 docs/mo - $ 149 /月
            • 青铜 - 15,000 docs/mo - $ 399 /月
            • 白银 - 40,000 docs/mo - $ 1,000 /月
            • 黄金 - 100,000文件/月 - 2,250美元/月
            • 企业 - ∞docs/ mo - 不公开(联系他们)
        • 便于使用: Very easy
          • 可能是最简单的,因为您实际上并没有处理文档或设置等.您只需发送文件并获取PDF.
          • 很棒的文档
        • 我过去曾联系过他们的支持,实际上非常有帮助.
        • 他们使用专有的JavaScript引擎,允许您使用延迟或异步JavaScript
  • wkhtmltopdf
    • 如果你想要上面购买的选项(PrinceXML和DocRaptor)背后的最佳选择,这个选项真的很好.
      • 功能包括:
        • [使用] Qt WebKit渲染引擎
        • 创建要转换为PDF(或图像)的HTML文档.通过该工具运行HTML文档.
      • 笔记
        • 性能: Fast
        • 成本: Free
        • 便于使用: Easy
          • 除非使用MikeHaertl创建的库,否则使用命令行
        • 我们目前使用此选项并发现它的性能非常好,并且对HTML标记和CSS属性有很好的支持.
        • 如果需要将变量发送到需要生成的PDF页面,则不能使用$_SESSION变量,因为这是通过命令行运行并使用单独的浏览器.您需要通过$_GET变量传递所有变量.
  • 其他选择:很多都来自这个问题

其他选择

我们与许多供应商打交道.有些供应商向我们发送PDF文件用于发票或其他文件,而其他供应商向我们发送HTML电子邮件(包含我们的所有发票信息),还有一些供应商甚至向我们发送发票链接.

最简单的选择是以HTML格式创建文档,并向用户发送指向该文档的链接(显然是安全的).这将允许用户随时(以及从具有浏览器的任何设备)查看发票,并且还允许他们在需要时从浏览器打印.此方法还会为您的网站生成流量,这通常也有利于业务.

我们过去所做的是创建一个链接到网站上的文件(安全),以便他们可以在浏览器中查看它,然后有一个按钮来下载发票(只下载该网页的PDF版本)使用上面列出的PDF转换工具之一生成 - 目前为wkhtmltopdf).

在我看来,最好的方法是将所有交付方法合二为一.在电子邮件的HTML内容中发送包含文件信息的电子邮件,并附上该文件的PDF.在电子邮件内容的标题部分(位于电子邮件顶部)内,发送链接,使收件人可以直接访问包含所有信息的网页(位于其安全门户中的帐户中).这允许他们在浏览器中查看它,以防万一他们无法在他们的电子邮件中正确查看它以及他们没有PDF查看器(我知道现在很少见,但你会惊讶于有多少人那里有过时的系统 - 我们仍然需要向一些客户发送传真,因为他们仍然没有电子邮件;是的,现在仍然在2017年,叹息......).在您的网站上,还为他们提供了PDF文档的下载链接(这将再次访问他们当前所在的页面并将其转换为PDF并通过浏览器自动下载).

我希望这有帮助!