如何使用 php 从 HTML 创建 pdf 文件,然后将其保存在服务器上

2024-02-15

我有一个项目来保存用 php 动态创建的页面并将它们存储在服务器上。

我计划将该页面的副本存储为 pdf 格式;以及他们所有的图像、表格和布局。

我尝试使用这些工具:

  • DOMPDF http://eclecticgeek.com/dompdf/docs/index.php
  • FPDF http://www.fpdf.org/?lang=en

但老实说我不认为它走在正确的轨道上

有什么解决方案或者这些工具可以解决这个问题吗?


我最近遇到了同样的问题,发现当 HTML 包含格式化文本和图像时,fpdf 太复杂。我让服务器管理员将 Webkit HTML 安装为 PDF。效果很好。

该包将解析 HTML 文档中的样式表、图像、表格和任何其他元素,就像您使用 webkit 打开 Web 浏览器并将网页保存为 PDF 一样。

http://code.google.com/p/wkhtmltopdf/ http://code.google.com/p/wkhtmltopdf/

/**
* Use wkhtmltopdf to convert an HTML file to PDF
*
* @param    string          URL to web page
* @param    string          Path to PDF file to be written
*
* @return   boolean         True if the command succeeded; false otherwise
*/
function htmlToPdf($source, $dest)
{
    // Build command
    $command = "/usr/bin/wkhtmltopdf $source $dest 2>&1";
    exec($command, $output);

    $s = sizeof($output) - 1;

    if (substr($output[$s], -4, 4) == 'Done')
    {
        return true;
    }

    return false;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 php 从 HTML 创建 pdf 文件,然后将其保存在服务器上 的相关文章

  • PHP:让用户仅下载购买的文件

    我预见到允许客户通过 PayPal 向我购买某些内容会出现问题 我将提供多种无形商品 当有人完成对其中一种商品的购买时 他们将被重定向到一个登陆页面 让我们称之为 thank you php 该页面将自动排队下载 并允许链接排队下载 以防万
  • CodeIgniter 项目给出 303/压缩错误

    尝试设置一个基于 CodeIgniter 的项目进行本地开发 LAMP 堆栈 并且一旦更新了所有配置文件 这意味着我成功地为 CodeIgniter 生成了有意义的引导错误 我在浏览器中收到此错误 Chrome Error 330 net
  • 无法连接到 SMTP 服务器

    我有一个支持邮件的服务器 比如说example com 我配置了服务器并通过cpanel添加了MX记录 这样我就可以通过outlook com有地址 email protected cdn cgi l email protection MX
  • dayname(curdate()) 不适用于 codeigniter php

    此 sql 在 phpmyadmin 中有效 但在 codeigniter php 中无效 function getProgramsHomepage data array this gt db gt select p name p star
  • PHP 不使用“json_decode()”转换 JSON

    我有一段非常简单的代码 pc1 POST post code1 pc2 POST post code2 url http maps google com maps nav q from pc1 20to pc2 url data file
  • 用教义 2 DBAL 连接子查询

    我正在重构 Zend 框架2应用程序使用学说 2 5 DBAL 而不是 Zend DB ZF1 我有以下 Zend Db 查询 subSelect db gt select gt from user survey status entrie
  • Laravel 异常队列最大尝试次数超出

    我创建了一个应用程序来向多个用户发送电子邮件 但在处理大量收件人时遇到问题 该错误出现在failed jobs table Illuminate Queue MaxAttemptsExceededException App Jobs ESe
  • 在 Woocommerce 存档页面中显示产品星级评定和价格下方的计数 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在 woocommerce 存档页面中 我想将评级移至价格下方 那可能吗 我怎样才能做到呢 这是我想要的 任何帮助表示赞赏 My 网站
  • WSDL PHP 函数返回 null,而其他函数返回预期结果

    Summary 在这里 我将列出我解决此问题所采取的所有步骤 以供其他人参考 1 PHP 很愚蠢地 监听 函数的输入消息来定义它应该使用哪个函数 因此 为每个函数提供不同的输入消息 即使它使用相同的类型或元素 您可能认为这对您来说是一项艰巨
  • json_encode 返回 200 且未定义

    我想要一个代码来添加或删除数据库书签 代码已准备就绪 它可以正确地从数据库书签中添加和删除书签 但是当我调用该函数时 它会不断返回json error反而json success即使代码有效 我想知道代码 我从其他地方获得并改编的 有什么问
  • Laravel-5 如何使用 id 值和名称值从数据库填充选择框

    我想创建一个如下所示的选择框照亮 html https github com illuminate html
  • md5() 是做什么用的?

    我正在阅读本教程简单的PHP登录系统 http www phpeasystep com workshopview php id 6 最后它建议你应该使用 md5 加密您的密码 http www phpeasystep com worksho
  • PHP 是否有可重用的路由器/调度程序?

    我正在使用一个简单的框架 它根据查询参数处理请求 http example com index php event listPage http example com index php event itemView id 1234 我想将
  • 用于验证网络路径的正则表达式 PHP、jQuery、JavaScript、Ruby

    尝试找出用于验证网络路径的正则表达式 即 comp xyz or comp or comp x y z storage或者所有部分都更长的东西 但希望能够传达其要点 我目前拥有的是一个简单的输入字段 用户可以通过它传递信息 事情是我不希望他
  • Twitter API 响应并不总是按预期返回实体媒体

    考虑使用以下命令检索 Twitter 用户的收藏夹列表 abraham twitteroauth PHP 库 https github com abraham twitteroauth https api twitter com 1 1 f
  • 多维数组将每个列表数组存储在另一个数组中

    我嵌套了可能有 2 或 3 层深度的多维数组 在它里面我可能有也可能没有列表数组 我需要循环数组 Array 0 gt Array id gt 1 name gt cat name 1 list gt Array 1 gt swgdgbdg
  • 当我尝试计算 mysqli 结果时,为什么会收到警告?

    下面的代码会导致此警告 警告 count 参数必须是数组或实现 Countable 的对象 为什么要这样做 如何防止出现警告 if isset GET edit sonum GET edit update true result mysql
  • 将日期时间舍入到最后一小时

    我试图寻找这个 但我找不到我想做的事情的好例子 我在 MySQL 数据库中得到了日期时间值 当使用该值时必须向下舍入 例如 所有这些值 2013 04 20 07 14 422013 04 20 07 19 512013 04 20 07
  • php laravel Blade 模板不渲染

    我正在尝试使用 Laravel 和 twitter bootstrap 设置一个基本页面 我安装了 Laravel 并获得了通用的 你在这里 或 w e 图像 这样看起来很闪亮 对于 twitter bootstrap 我在 public
  • 将 #RRGGBB 十六进制值转换为 #AARRGGBB

    414141 与 AARRGGBB 的值是什么 52b531 又如何 我如何使用 PHP 转换它 Regards 奔腾10 AA 是 Alpha 通道 直接转换是将 AA 设置为 FF 以使其完全不透明 414141 becomes FF4

随机推荐

  • 如何完全关闭 TBB 代码中的线程

    注意 这不是重复的这个问题 https stackoverflow com questions 3786408 number of threads used by intel tbb 给定一个与 TBB 并行的复杂软件 我如何完全关闭线程
  • VS2010中的vcbuild在哪里?

    我已经升级到 VS2010 正在寻找 vbuild 可执行文件 对于 VS2008 它位于 C Program Files x86 Microsoft Visual Studio 9 0 VC vcpackages vcbuild exe
  • Git 说分支已合并,但显然不存在更改

    我已经让自己陷入了一种对我来说毫无意义的境地 我会尽力描述它 我有一个开发分支 我已通过以下方式将 master 合并到其中git checkout develpment git merge master 我在这里没有遇到任何合并冲突 有一
  • 用于查找最后一项小于或等于的函数,例如 lower_bound

    是否有一个使用二分搜索的函数 例如lower bound但这会返回last item 小于或等于根据给定的谓词 lower bound定义为 找到的位置first有序范围内具有值的元素大于或等于指定值 其中排序标准可以由二元谓词指定 and
  • 如何向 JavaFX 图表添加价值标记?

    我正在尝试使用 JavaFX 构建一个系列图表 其中数据是动态插入的 每次插入新值时 我想检查这是否是迄今为止的最高值 如果是 我想画一条水平线来显示这是最大值 在 JFree 图表中 我会使用 ValueMarker 但我正在尝试使用 J
  • Android 可以获取视频的分辨率吗?

    我正在寻找一种方法来获取 Android 中任何给定视频的分辨率 除了 Android 支持的格式之外 它不必支持其他格式 但如果能支持那就太好了 如果您不确定 Android 支持的格式 请参阅此页面 http developer and
  • Aerospike 中的关系

    我想知道如何表示关系Aerospike 我意识到这是一个键值存储 但是有一个可以给出的例子吗 例如 如果系统中有一个用户 并且我想获取与该用户关联的事物记录列表 几个简单的想法 1 让每个用户成为具有多个容器的记录 相当于传统 RDBMS
  • 使用 ios::binary 或 ios::out 或两者打开文件有什么区别?

    我试图找出打开文件之间的区别 例如 fstream fileName FILE dat ios binary or fstream fileName FILE dat ios out or fstream fileName FILE dat
  • CSS 模拟 Chrome 中的缩放

    我想模拟 Chrome 中的打印设置 比例 在 IE11 中 我添加了 css 这似乎修复了它 但在 Chrome 中却没有 page size A4 portrait margin 1mm 1mm 0 5mm 在 Chrome 中 我必须
  • ftplib连接SFTP服务器没有错误

    我前段时间创建了一个完整的FTP库 现在我想连接到 SFTP 服务器 据我在研究中发现 使用 ftplib 是不可能的 尽管如此 我尝试连接到仅限 SFTP 的服务器 它工作正常 没有任何问题 没有错误 也没有例外 现在我有点困惑 因为我不
  • data.table v1.9.5 (R) 中 shift() 函数的奇怪行为

    我正在使用当前的开发版本data table v1 9 5 很大程度上是因为它拥有出色的内置功能shift 功能 我注意到 当尝试将语句分组时data table呼叫 其中之一是呼叫shift 我从中得到了一些奇怪的行为 library d
  • 如果我在调用 JVM 时多次指定系统属性,则使用哪个值?

    如果我在调用 JVM 时多次指定系统属性 那么当我检索该属性时 我实际会得到哪个值 例如 java Dprop A Dprop B jar my jar 当我打电话时会得到什么结果System getProperty prop The Ja
  • 将字体大小应用于 img alt 属性而不影响图像大小

    您好 我正在尝试将字体大小设置为 img替代属性但它会影响图像大小 我正在 css 中做类似的事情 HTML Code img alt Some Text src http www someimage com img 010 jpg CSS
  • 我无法在命令窗口中创建 virtualenv 来运行 django 项目

    谁能帮我解决 Windows 10 64 位电脑上的 virtuaenv 问题 当我尝试使用 Windows Powershell 命令窗口创建虚拟环境来安装 Django 项目时 我反复收到此错误 错误消息 mkvirtualenv 术语
  • Redis Slave 无法与 Master 同步

    Redis 从站不会与主站同步 连接性 我发出去的时候可以连接到master HOST NAME fakehost redis cli h HOST NAME 并使用如下命令检查主状态INFO 因此连接性不是问题 设置 从奴隶箱中 我发出了
  • 使用 Espresso IdlingResource 进行 Android 测试

    我正在尝试测试AutoCompleteTextView将在输入一些单词后显示项目 但输入和显示弹出窗口之间存在延迟 首先我用的是Thread sleep 它工作得很好 但我知道这种方法并不明确 所以我试图用IdlingResource 但这
  • 在 NetBeans 中禁用自动构建

    我正在使用 Netbeans IDE 6 7 1 我希望禁用自动构建功能 或者以某种方式更改此自动构建线程的优先级 它总是在构建 并且大大减慢了我的计算机速度 我认为正因为如此 Netbeans 有时会占用我 80 左右的 CPU 我真的不
  • HTML/CSS:滚动条出现在 HTML 元素下方

    在 Chrome 和 Safari 中 垂直滚动条出现在页面上的 HTML 内容下方 如下所示 我摆弄着 webkit scrollbar 但我能得到的最接近的是将滚动条宽度更改为0px 该部分的 div 是 displayContent
  • 如何使用 php 获取 MySQL 数据库中的枚举可能值? [复制]

    这个问题在这里已经有答案了 可能的重复 Mysql 选择枚举值 https stackoverflow com questions 4644220 mysql select enum values 我已经设立了一个专栏Mysql type
  • 如何使用 php 从 HTML 创建 pdf 文件,然后将其保存在服务器上

    我有一个项目来保存用 php 动态创建的页面并将它们存储在服务器上 我计划将该页面的副本存储为 pdf 格式 以及他们所有的图像 表格和布局 我尝试使用这些工具 DOMPDF http eclecticgeek com dompdf doc