使用 php 将 html 页面转换为 pdf

Convert html page into pdf using php

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

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

在教程中,他们给出了以下代码:

<?php

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

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

?>

我找不到名为 "vendor" 的目录。

谢谢你的帮助。

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

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

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

https://getcomposer.org/download/

准备

为了完全清楚起见,我将带您完成使用 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. 如果您从未添加过虚拟主机,则此文件中只有一个条目(对于本地主机)如下所示:

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

  5. 保存此文件。

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

  7. 使用虚拟主机条目中的服务器名称,在本地主机条目的正下方为您的新站点创建一个条目,如下所示:

  8. 保存此文件。

  9. 通过左键单击系统托盘中的 Wamp 图标并单击 'Restart All Services' 重新启动 Wamp 服务。

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

正在安装 Composer

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

正在您的项目中安装 Mpdf

  1. 在终端 window 中切换到您的项目目录(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。这是我的: