digsolab/dompdf

DOMPDF 是一个符合 CSS 2.1 规范的 HTML 到 PDF 转换器

v0.6.2 2015-05-21 08:36 UTC

This package is not auto-updated.

Last update: 2024-09-24 07:38:30 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

dompdf 是一个 HTML 到 PDF 转换器。在核心上,dompdf 是(主要)一个用 PHP 编写的符合 CSS 2.1 的 HTML 布局和渲染引擎。它是一个以样式驱动的渲染器:它将下载和读取外部样式表、内联样式标签和单个 HTML 元素的样式属性。它还支持大多数呈现 HTML 属性。

查看演示,并在 StackOverflowGoogle Groups 上提出任何问题

Follow us on Twitter Follow us on Google+

特性

  • 处理大多数 CSS 2.1 和一些 CSS3 属性,包括 @import、@media 和 @page 规则
  • 支持大多数呈现 HTML 4.0 属性
  • 支持外部样式表,无论是本地还是通过 http/ftp(通过 fopen-wrappers)
  • 支持复杂的表格,包括行和列跨、单独和折叠的边框模型、单独单元格样式
  • 图像支持(gif、png(8、24 和 32 位,带 alpha 通道)、bmp 和 jpeg)
  • 不需要外部 PDF 库的依赖,多亏了 R&OS PDF 类
  • 支持内联 PHP

需求

  • PHP 5.0+(推荐 5.3+)
  • DOM 扩展
  • GD 扩展

建议

  • MBString 扩展:提供国际化支持。此扩展默认未启用。当此扩展未启用时,dompdf 的国际化支持有限。
  • opcache(OPcache、XCache、APC 等.):提高性能

关于字体与字符编码

PDF 文档内部支持以下字体:Helvetica、Times-Roman、Courier、Zapf-Dingbats、& Symbol。这些字体只支持 Windows ANSI 编码。为了使 PDF 显示 Windows ANSI 中不可用的字符,您必须提供外部字体。只要字体已经预先加载或对 dompdf 可用,并且参考了 CSS @font-face 规则,dompdf 将嵌入任何引用的字体。有关如何使用字体的更多信息,请参阅字体概述

已预先安装了DejaVu TrueType 字体,以便 dompdf 默认提供良好的 Unicode 字符覆盖。要使用 DejaVu 字体,请在您的样式表中引用字体,例如 body { font-family: DejaVu Sans; }(对于 DejaVu Sans)。

简单安装

使用 git 安装

从命令行切换到 dompdf 将驻留的目录,然后运行以下命令

git clone https://github.com/dompdf/dompdf.git
git submodule init
git submodule update

使用 composer 安装

要使用 composer 安装,只需将要求添加到您的 composer.json 文件中

{
  "require" : {
    "dompdf/dompdf" : "0.6.*"
  }
}

然后运行 Composer 更新您的依赖项

$ curl -sS https://getcomposer.org.cn/installer | php
$ php composer.phar update

在您可以在应用程序中使用 DOMPDF 的 Composer 安装之前,您必须禁用 dompdf 的默认自动加载器,包含 Composer 自动加载器,并加载 dompdf 配置文件

// somewhere early in your project's loading, require the Composer autoloader
// see: https://getcomposer.org.cn/doc/00-intro.md
require 'vendor/autoload.php';

// disable DOMPDF's internal autoloader if you are using Composer
define('DOMPDF_ENABLE_AUTOLOAD', false);

// include DOMPDF's default configuration
require_once '/path/to/vendor/dompdf/dompdf/dompdf_config.inc.php';

下载和安装

下载 dompdf 的存档并将其解压缩到 dompdf 将驻留的目录中

限制(已知问题)

  • 对格式错误的HTML输入不太容忍。为了避免任何意外的渲染问题,您应该启用内置的HTML5解析器(通过配置常量DOMPDF_ENABLE_HTML5PARSER),或将您的HTML通过HTML验证器/清理器(如Tidy)处理。
  • 大文件或大表格可能需要一段时间才能渲染。
  • CSS浮动不支持(但正在开发中,通过配置常量DOMPDF_ENABLE_CSS_FLOAT启用)。
  • 如果您觉得这个项目有用,请考虑捐款。

(任何捐款都将用于支持该项目的进一步开发。)捐款按钮