org_heigl/html-to-pdflib

将HTML转换为PDFlib可用的格式

2.0.1 2021-05-19 12:03 UTC

This package is auto-updated.

Last update: 2024-09-19 19:48:07 UTC


README

一个可扩展的库,可以将HTML内容转换为可用于PDFlib 文本流的格式

安装

使用以下方法通过composer安装此包

composer require org_heigl/html-to-pdflib

使用方法

在您的PHP代码中,您可以使用此包如下所示

$converter = new Converter();
$pdflibtext = $converter->convert($htmlcontent);

// $pdflibtext now contains calls to macros.
// The macros themselves need to be prepend to the text though!!
$pdflibtext = '<macro {
    bold {fontname=Helvetica fontsize=12 encoding=winansi}
    bolditalic {fontname=Helvetica fontsize=8 encoding=winansi}
    italic {fontname=Helvetica fontsize=8 encoding=winansi}
}>' . $pdflibtext;

或者 – 为了获得最大灵活性 – 您可以像这样使用自己的ConverterList创建转换器

use Org_Heigl\HtmlToPdflib\Converter;
use Org_Heigl\HtmlToPdflib\ConverterList;
use Org_Heigl\HtmlToPdflib\Converter\Em;
use Org_Heigl\HtmlToPdflib\Converter\Li;
use Org_Heigl\HtmlToPdflib\Converter\Ol;
use Org_Heigl\HtmlToPdflib\Converter\P;
use Org_Heigl\HtmlToPdflib\Converter\Strong;
use Org_Heigl\HtmlToPdflib\Converter\Ul;
use Org_Heigl\HtmlToPdflib\Factory;

$converter = new Converter(Factory::fromConverterList(ConverterList::createViaReflection([
    'em' => Em::class,
    'li' => Li::class,
    'ol' => Ol::class,
    'p' => P::class,
    'strong' => Strong::class,
    'ul' => Ul::class,
])));

这允许您添加自己的Converter实现,只要它们实现了ConvertertInterface。

目前定义了以下宏

  • 粗体
  • 粗体斜体
  • 斜体

目前支持以下HTML标签

  • em
  • li
  • ol
  • p
  • strong
  • ul

可以添加更多标签。请自由地fork此存储库并提交PullRequest以添加更多标签。

贡献

欢迎贡献!

许可证

此包根据MIT许可证发布。