amici/craft-super-pdf

从html创建PDF文件

安装次数: 11,616

依赖项: 0

建议者: 0

安全性: 0

星标: 5

关注者: 1

分叉: 0

类型:craft插件

5.0.1 2024-06-29 07:07 UTC

README

使用Super PDF创建PDF文件现在既简单又快捷。插件、Twig和游戏。Super PDF由DomPDF库支持,让您完全可以将twig模板转换为PDF。您可以使用外部CSS和HTML 4.0属性与之一起使用。DomPDF提供的功能都可以在Super PDF中轻松访问。

功能

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

要求

  • PHP版本7.2.5或更高
  • Craft CMS 3.6.0或更高版本
  • DOM扩展
  • MBString扩展
  • php-font-lib
  • php-svg-lib

注意,一些必需的依赖项可能有进一步的依赖项(特别是php-svg-lib需要sabberworm/php-css-parser)。

安装

打开您的终端并转到您的Craft项目

cd /path/to/project

运行此命令以加载插件

composer require amici/craft-super-pdf

在控制面板中,转到设置→插件,然后点击Super PDF的“安装”按钮。

使用方法

您可以使用此代码从HTML创建PDF

{% set html %}
    <h1>This is a basic example</h1>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod.</p>
{% endset %}

{% set settings = {
    filename: "My_PDF",
} %}

{{ craft.superpdf.html(html, settings) }}

您可以使用此代码从模板创建PDF

{% set settings = {
    filename: "My_PDF",
} %}

{% set vars = {
    entry : entry,
    data : data
} %}

{{ craft.superpdf.template("template/_pdf_template", settings, vars) }}

您还可以创建PDF,而不是预览它,而是显示一个要访问/下载的URL

{% set settings = {
    filename: "My_PDF",
    type: 'object',
} %}

{% set vars = {
    entry : entry,
    data : data
} %}

{% set object = craft.superpdf.template("template/_pdf_template", settings, vars) %}

// Default echo object will return URL
{{ object }}

{{ object.url }}
{{ object.getUrl() }}

{{ object.path }}
{{ object.getPath() }}

{{ object.filename }}
{{ object.getFilename() }}

{{ object.kind }}
{{ object.size }}
{{ object.dateModified|date("m/d/Y H:i:s") }}

// Returns craft assets element. Only if PDF is stored in craft assets volumes instead of storage folder.
{{ object.asset }}
{{ object.getAsset() }}

文档

访问Super PDF页面以获取所有文档、指南、定价和开发资源。

支持

通过Amici Infotech支持或通过创建Github问题与我们联系。