问题 使用php将网页打印为pdf文档


我可以看到有几个选项可以做到这一点。我的问题是,有没有人知道我可以简单地将一个php网页传递给一个pdf创建者,它的输出方式与通过浏览器查看完全相同?考虑到CSS,图像和php功能等。

谢谢


3122
2018-02-28 12:37


起源



答案:


认为 wkhtmltopdf 是你正在寻找的答案 WebKit的 像在浏览器中看到的那样呈现网页,然后将其转换为PDF。这样可以节省您编写大量PHP代码以组织PDF布局的过程。

他们网站的详细信息:

转换html的简单shell实用程序   使用webkit渲染来pdf   引擎和qt。

我发现,在网上搜索   几个允许的命令行工具   您要将HTML文档转换为   PDF文档,但他们似乎都是   用自己的,而不是不完整的   渲染引擎,导致效果不佳   质量。最近QT 4.4发布了   使用WebKit小部件(WebKit是   苹果Safari的引擎,这是一个   KDE KHtml的分支),并制作一个   好的工具变得非常容易。

  • 使用webkit将网页转换为PDF文档
  • 添加页眉和页脚(仅限静态版本)
  • TOC生成(仅限静态版本)
  • 批量模式转换
  • (Linux)不再需要运行XServer(不过X11   必须安装客户端库)

有关代码和更多信息 wkhtmltopdf 与PHP集成请参阅 https://github.com/aur1mas/Wkhtmltopdf


7
2018-02-28 12:59



谢谢,我将尝试一下。 - aHunter
除了渲染质量不是很好,这看起来像选项。非常感谢。 - aHunter


答案:


认为 wkhtmltopdf 是你正在寻找的答案 WebKit的 像在浏览器中看到的那样呈现网页,然后将其转换为PDF。这样可以节省您编写大量PHP代码以组织PDF布局的过程。

他们网站的详细信息:

转换html的简单shell实用程序   使用webkit渲染来pdf   引擎和qt。

我发现,在网上搜索   几个允许的命令行工具   您要将HTML文档转换为   PDF文档,但他们似乎都是   用自己的,而不是不完整的   渲染引擎,导致效果不佳   质量。最近QT 4.4发布了   使用WebKit小部件(WebKit是   苹果Safari的引擎,这是一个   KDE KHtml的分支),并制作一个   好的工具变得非常容易。

  • 使用webkit将网页转换为PDF文档
  • 添加页眉和页脚(仅限静态版本)
  • TOC生成(仅限静态版本)
  • 批量模式转换
  • (Linux)不再需要运行XServer(不过X11   必须安装客户端库)

有关代码和更多信息 wkhtmltopdf 与PHP集成请参阅 https://github.com/aur1mas/Wkhtmltopdf


7
2018-02-28 12:59



谢谢,我将尝试一下。 - aHunter
除了渲染质量不是很好,这看起来像选项。非常感谢。 - aHunter


这真是一个由两部分组成的问题。


2
2018-02-28 12:42



或者第三种选择是使用渲染引擎并将结果输出为像wkhtmlpdf这样的PDF,它使用WebKit来渲染页面。这样可以节省您编写大量PHP代码以组织PDF布局的过程。 code.google.com/p/wkhtmltopdf - Treffynnon
它搬到了 wkhtmltopdf.org - jason


你应该看看 这个 上课,我真的很喜欢。 它将HTML呈现为PDF(还包括CSS)

这里有一些 例子

编辑

由于以上链接自2016年3月16日起被破坏,因此这是libs主页的链接: MPDF


2
2018-02-28 12:47



这看起来非常有趣,直到我查看CSS支持并看到显示:允许值无。 - aHunter
试一试,它确实很好用。 - Tokk
感谢这个链接,它对我来说将非常有用:) - SoulieBaby
@Tokk链接坏了:( - Pathros
它现在在这里: mpdf.github.io - phpguru


事实上,它是一个PHP网页没有任何区别。为了创建看起来像网页应该看起来的PDF,您需要 给予 页面 - 这是Web浏览器访问时所执行的操作。

您需要使用Gecko等Web浏览器引擎生成页面布局,然后将其导出为图像并将其粘贴到PDF中。这可以以编程方式完成。


1
2018-02-28 12:39





有用于生成PDF的php模块/类,并且有一些方法可以使用CSS来更好地准备页面以进行打印(到pdf)。

PHP无法在浏览器看到它时“看到”该页面。


0
2018-02-28 12:39



我认为这正是我有一个应用程序站点,其中包括使用函数来打印方面,图像,高级CSS等的代码页面。我不想花费数月的时间来完成它以使其与PDF兼容或必须复制页面代码专门用于PDF的目的。 - aHunter