bymayo/pdf-transform

将 PDF 页面转换为图像(JPEG,PNG)

安装次数: 9,531

依赖项: 0

建议者: 0

安全性: 0

星级: 12

关注者: 4

分支: 8

公开问题: 8

类型:craft-plugin

5.0.1 2024-05-30 12:49 UTC

This package is auto-updated.

Last update: 2024-08-30 13:21:00 UTC


README

适用于 Craft CMS 5 的 PDF 转换

PDF 转换是一个 Craft CMS 插件,可以将存储在资产中的 PDF 转换为图像。然后可以通过 Twig 在模板中输出。

这个用例是在用户下载特定文件之前显示 PDF 预览。

功能

  • 通过 Twig 将 PDF 转换为图像(文件需要是现有的资产元素)
  • 当通过资产或资产字段上传 PDF 时,将 PDF 转换为图像。
  • 转换后的 PDF 图像已索引并在资产中可用,就像所有其他资产元素一样。
  • 支持本地资产卷、Amazon S3 和 Servd。

安装

  • 通过在项目目录下运行 composer require bymayo/pdf-transform 使用 Composer 安装
  • 在 Craft 控制面板的 设置 > 插件 下启用/安装插件
  • 自定义插件设置,特别是 图像卷 选项。

您还可以通过在 Craft 管理控制面板的插件商店中搜索 PDF 转换 来安装插件。

要求

  • Craft CMS 5.x
  • Imagick / Ghostscript
  • MySQL(不支持 PostgreSQL)

配置

模板

要转换 PDF 为图像,请使用以下 Twig 标签

{% set pdfToTransform = entry.pdfAsset.one() %}

{% set transformedPdf = craft.pdfTransform.render(pdfToTransform) %}

{{ transformedPdf.one().url }}

转换后的 PDF(现在存储在资产中的图像)可以使用 {{ transformedPdf.one().url }} 输出。或者获取任何资产属性,例如 titleidfilename 等。

如果转换后的图像不存在,则 PDF 将通过模板进行转换。这可能会导致模板/页面在 PDF 转换期间变慢。

请注意,这也可能输出一个大型图像,因此我们建议运行图像转换。请参阅 尺寸

已知问题

Imagick / Ghostscript

该插件通过名为 pdf-to-image 的 PDF 库运行 PDF。它们在 Imagick 中存在已知问题,如果 Ghost Script 无法通过 Imagick 访问,转换可能会失败(非常容易解决)

有关此问题的更多信息 - https://github.com/spatie/pdf-to-image#issues-regarding-ghostscript

尺寸

PDF 转换的基本功能是将您的 PDF 转换为单个图像。它永远不会设置宽度和高度维度(除了图像分辨率)。

我建议运行 PDF 图像通过以下选项/插件之一,并设置尺寸(其中一些也处理图像缓存)

支持

如果您有任何问题(当然不会有!),我会尽快回复。如果这是一个网站崩溃-哦不-发生了什么事的时候,请通过 Craft CMS Discord - @bymayo 联系我。

路线图

  • 可选变量(例如页面、分辨率等)
  • 当 PDF 资产更新时,确保删除旧的转换图像。