【问题标题】:Convert html page into pdf using php使用php将html页面转换为pdf
【发布时间】:2016-12-25 16:23:02
【问题描述】:

我有一个项目需要将 HTML-PAGE 转换为 PDF-FILE。

我找到了这个仓库:https://github.com/mpdf/mpdf。 我已经把它克隆到我的电脑里了,我不知道该怎么办。

在tutrial中,他们在下面给出了这个代码:

<?php

require_once __DIR__ . '/vendor/autoload.php';

$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML('<h1>Hello world!</h1>');
$mpdf->Output();

?>

我找不到名为“vendor”的目录。

感谢您的帮助。

【问题讨论】:

  • 您的本地开发进展如何?你用的是mac还是windows机器?你在本地服务器上使用 mamp/wamp 吗?
  • 嘿,我在 windows 上使用 wamp

标签: php pdf mpdf


【解决方案1】:

准备

为了完全清楚起见,我将向您介绍我使用 Wamp 在 Windows 上使用此功能的所有步骤。

当您在 Windows 上安装 Wamp 时,Apache 文档根目录默认设置为 c:/wamp64/www 或类似的东西。这是一件好事,因为您可以在 Windows 机器上设置虚拟主机,这将允许您访问浏览器中的实际 url(例如 dev.mpdftest.com),而不必访问 localhost/my-project-directory .

所以首先要做的是在 www 目录中创建一个文件夹,你可以随意调用它(我叫我的 mpdf_test)。

接下来,为该项目设置一个虚拟主机。为此:

  1. 左键单击系统托盘中的 Wamp 图标。
  2. 在“Apache”菜单项下,单击“httpd-vhosts.conf”文件 - 这将在您的文本编辑器中打开它。
  3. 如果您从未添加过虚拟主机,则此文件(对于 localhost)中只有一个条目如下所示:

  4. 复制整个条目并将其粘贴到下面,进行适当的更改以指向您的新项目目录。这是我的样子(你可以让你的一样,只需将项目文件夹名称更改为你的名称):

  5. 保存此文件。

  6. 在文本编辑器中打开“C:\Windows\System32\drivers\etc\hosts”。

  7. 使用虚拟主机条目中的 ServerName 直接在 localhost 条目下方为您的新站点创建一个条目,如下所示:

  8. 保存此文件。

  9. 通过左键单击系统托盘中的 Wamp 图标并单击“重新启动所有服务”来重新启动 Wamp 服务。

  10. 您现在应该可以在浏览器中访问 dev.yourprojectname.com。您可以将一个简单的 index.php 文件添加到您的项目中,该文件只打印“Hello World”来测试它。

安装 Composer

要在 Windows 上安装 composer,您应该能够下载并执行(双击)this file。只需接受所有默认值即可。

在您的项目中安装 Mpdf

  1. 在终端窗口(Windows 上的命令提示符)中切换到您的项目目录并执行以下命令:

    • 作曲家需要 mpdf/mpdf
  2. 这会将供应商目录(包括 mpdf)添加到您的项目中。您的项目结构将如下所示:

  3. 您需要更改其中三个子目录的权限。如果您还没有,请安装Git for Windows

  4. 将要安装的程序之一是 Git BASH。它使您能够像在 Linux 或 Mac 上一样设置文件权限。运行此程序并 cd 进入您的项目目录:

    • cd /c/wamp64/www/your_project_directory/
  5. 执行以下命令:

    • chmod 775 供应商/mpdf/mpdf/ttfontdata
    • chmod 775 供应商/mpdf/mpdf/tmp
    • chmod 775 供应商/mpdf/mpdf/graph_cache

测试您的 Mpdf 安装

  1. 如果您还没有这样做,请使用以下代码在您的项目目录中创建一个 index.php 文件:

  2. 保存该文件并在浏览器中访问您的网站 (dev.yoursitename.com)。如果您已正确完成所有操作,则应立即将您重定向到 PDF。该 PDF 的唯一内容将是您在代码中定义的 h1。这是我的:

【讨论】:

  • 嘿,我已经完成了你所说的一切,但仍然出现同样的错误
  • @itzikb - 我在“在您的项目中安装 Mpdf”部分添加了步骤 3、4 和 5(这是我最初发布答案时唯一忘记添加的内容)。按照这些步骤操作并确保 index.php 文件中的 php 代码与我在“测试 Mpdf 安装”部分的第 1 步中显示的内容相匹配。此后,如果您完全按照我的指示进行操作,就没有理由不成功。
  • 谢谢你的工作。但它没有检测到语言Hebrew你知道如何解决它吗?
  • 嗯……我以前没有为此目的使用过这个库,但我相信它支持希伯来语。您可能会在 mPDF 手册的“字体和语言”部分找到所需的信息:mpdf.github.io。我很高兴你让事情顺利进行!祝语言问题好运。
【解决方案2】:

您必须通过 composer 安装该库,如文档所述:

Official installation method is via composer and its packagist package    mpdf/mpdf.
  composer require mpdf/mpdf

如果您的系统上没有 composer,请安装它:

https://getcomposer.org/download/

【讨论】:

  • 好的,我已经下载了composer并使用了这个命令$ composer require mpdf/mpdf接下来呢?文件在哪里?
  • 安装库的正确命令是composer require mpdf/mpdf
  • 没有$。它将创建供应商文件夹。
  • 好的,我找到了目录vendor并运行了php代码,我得到Fatal error: Class 'Mpdf\Mpdf' not found in D:\wamp64\www\mpdf\index.php这个错误
猜你喜欢
  • 1970-01-01
  • 2011-01-13
  • 1970-01-01
  • 2020-12-03
  • 2014-07-09
  • 2019-08-04
  • 2014-08-21
  • 1970-01-01
相关资源
最近更新 更多