【问题标题】:PHP PDF creation A3, A4 and A5PHP PDF 创建 A3、A4 和 A5
【发布时间】:2013-01-02 01:25:14
【问题描述】:

我正在考虑使用 PHP 生成 PDF 以输出各种类型的文档大小,A3、A4、A5。

目前我有一个 div,该区域内有多个绝对定位的 div。

我想做的是让这个 div 有一个固定的高度和宽度,但是当我保存内容时,它可以用于 A4、A3 和 A5 打印尺寸。

实现这一目标的最佳方法是什么?

谢谢

编辑:

我也在尝试为每种类型添加全宽背景图片?

另外,div 是否需要特定的高度/宽度才能创建每个文档?

我想要一个可以查看文档 HTML 的“区域”。因此,如果我选择 A3,它会将 PDF 保存为 A3,背景图像全宽,所有定位的 div 都在正确的位置。

【问题讨论】:

  • 检查this
  • 您可以使用 PHP 的 mPDF 库 - 您只需将 HTML 源代码传递给它,它会生成 PDF 文件,而在 mpdf 构造函数中您可以设置所需的纸张格式。
  • 好的,背景图片呢?这些是否需要为每个页面大小指定一个特定的高度/宽度?​​

标签: php printing pdf-generation


【解决方案1】:

使用MPDF

mPDF 是一个 PHP 类,它从 UTF-8 编码的 HTML 生成 PDF 文件。它基于FPDFHTML2FPDF,并进行了许多增强。

我编写 mPDF 以从我的网站“即时”输出 PDF 文件,处理不同的语言。它比原始脚本慢,例如HTML2FPDF 并在使用 Unicode 字体时生成更大的文件,但对 CSS 样式等的支持已大大增强 - 请参阅 features

请查看examples,并随时download。 mPDF 有相当广泛的在线documentation manual

这是您可以传递给默认构造函数的参数列表。

$mpdf = new mPDF('',    // mode - default ''
 '',    // format - A4, for example, default ''
 0,     // font size - default 0
 '',    // default font family
 15,    // margin_left
 15,    // margin right
 16,     // margin top
 16,    // margin bottom
 9,     // margin header
 9,     // margin footer
 'L');  // L - landscape, P - portrait

【讨论】:

  • 谢谢。您是否使用此库创建了各种页面尺寸,A4、A3 和 A5?
  • 是的,您可以创建 A4 A5 A3 页面,您只需传递该参数即可。如果你看几个例子,它会有所帮助
  • 好的,所以如果我有一个包含要输出为 PDF 的 HTML 的主包装器 div,它是否必须是每个页面大小的特定高度/宽度?​​
  • 假设您要创建 A4 大小的 PDF,然后如果内容大于此,它将把其余内容带到下一页。你不必在这里做任何事情。
  • 好的,我有一个 800x600 的 div,里面有各种绝对位置的 div。如果输出为 A3 会怎样?
【解决方案2】:

尝试使用 wkhtmltopdf 我认为来自 google,它可以与 WebKit 一起使用,因此它具有巨大的 html 兼容性,并且还可以选择特定的页面大小输出,包括 A4、A3等或特定的自定义大小,问题是这是一个可执行的应用程序,这意味着您需要在 Linux/Windows 上运行它,并且在某些情况下,对于存档,您需要要求托管服务提供商授予您运行权限该应用程序

其他选项是http://pdfcrowd.com/html-to-pdf-api/,是一个 API,可让您创建 pdf,并且它与 HTML 具有巨大的兼容性,是一项付费服务​​,我认为他们有一些免费帐户,但您的 pdf 数量非常有限可以生成

强烈推荐wkhtmltopdf,html转换近乎完美且免费

【讨论】:

    【解决方案3】:

    您可以使用类似于 htm2pdf.co.uk 的 API

    【讨论】:

      【解决方案4】:

      FPDF 类 及其扩展TFPDF 带来了对 UTF8 的支持。

      Fpdf Homepage

      Tfpdf Script

      我有时用过,效果很好。

      【讨论】:

        猜你喜欢
        • 2020-07-09
        • 1970-01-01
        • 2019-06-24
        • 2012-09-04
        • 1970-01-01
        • 1970-01-01
        • 2016-07-17
        • 2016-03-05
        • 1970-01-01
        相关资源
        最近更新 更多