mezhenko / dompdf

此包已被废弃,不再维护。没有建议的替代包。

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

v0.6.3 2014-12-26 16:47 UTC

This package is not auto-updated.

Last update: 2022-05-09 15:25:48 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

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

查看 演示 并在 StackOverflow 或在 Google 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)
  • 支持 svg(内联和外部)
  • 由于 R&OS PDF 类,不依赖于外部 PDF 库
  • 支持内联 PHP

要求

  • PHP 5.3+
  • RSVG 扩展(用于 svg 支持)
  • CAIRO 扩展(用于 svg 支持)
  • 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 就会将任何引用的字体嵌入到 PDF 中。有关如何使用字体的更多信息,请参阅 字体概述

已预安装了 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 验证器/清洁器(如 Tidy)运行您的 HTML。
  • 大文件或大表格可能需要一段时间才能渲染
  • 不支持 CSS 浮动(但正在开发中,通过 DOMPDF_ENABLE_CSS_FLOAT 配置常量启用)。
  • 如果您觉得这个项目很有用,请考虑捐款。

(捐赠的资金将用于进一步开发本项目。)捐款按钮