我可以看到有一些选项可以做到这一点。我的问题是,有没有人知道我可以简单地将一个php网页传递给一个pdf创建者,它的输出方式与通过浏览器查看完全一样?考虑到CSS,图像和php等功能。
由于
答案 0 :(得分:7)
认为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
答案 1 :(得分:2)
这实际上是一个由两部分组成的问题。
将网站的屏幕截图设为图像has many good answers on SO
要生成PDF,请使用例如fpdf图书馆。
答案 2 :(得分:2)
你应该看一下this课程,我真的很喜欢。 它将HTML呈现为PDF(还包括CSS)
以下是一些Examples
修改强>
由于上面的链接自2016年3月16日起被破坏,因此这是libs主页的链接:mPDF。
答案 3 :(得分:1)
这是一个PHP网页没有任何区别。为了创建看起来像网页应该看起来的PDF,您需要呈现页面 - 这是Web浏览器在您访问时所执行的操作。
您需要使用Gecko等Web浏览器引擎生成页面布局,然后将其导出为图像并将其粘贴到PDF中。这可以以编程方式完成。
答案 4 :(得分:0)
有用于生成PDF的php模块/类,并且有一些方法可以使用CSS来更好地准备打印页面(到pdf)。
PHP无法在浏览器看到的情况下“看到”该页面。