mprince2k18 / typesetter
电子书从Markdown生成PDF的主要排版服务。
资助包维护!
aaronsaray
dev-main
2024-02-10 16:41 UTC
Requires
- php: ^8.1
- ext-dom: *
- ext-libxml: *
- illuminate/collections: *
- illuminate/support: *
- league/commonmark: ^2.4
- mpdf/mpdf: ^8.1
- spatie/commonmark-highlighter: ^3.0
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.1
- roave/security-advisories: dev-latest
- slevomat/coding-standard: ^8.12
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2024-09-10 17:49:58 UTC
README
Typesetter
这是Typesetter的主要服务。如果您愿意,可以直接在自己的项目中使用。但您可能需要前往typesetter-cli。
安装
这需要PHP 8.1或更高版本。
composer require typesetterio/typesetter
用法
创建一个配置数组,并将其传递给配置生成器。然后创建Typesetter类的新实例。使用您的配置调用generate方法,从MPDF获取PDF二进制返回值。
示例
$config = [ 'title' => 'Benjamin Button', 'author' => 'F. Scott Fitzgerald', 'theme' => 'bb', 'toc-enabled' => true, 'toc-links' => true, 'toc-header' => 'Table of Contents', 'footer' => '{PAGENO}', 'markdown-extensions' => ['md', 'markdown'], 'observers' => [ new \Typesetterio\Typesetter\Observers\DefaultMarkdownConfiguration(), new \Typesetterio\TypesetterCLI\Observers\FirstElementInChapterCSSClass(), new \Typesetterio\TypesetterCLI\Observers\BreakToPageBreak(), new \Typesetterio\TypesetterCLI\Observers\Credits(), ], ]; $config = new \Typsetterio\Typesetter\Config($config); $service = new \Typesetterio\Typesetter\Typesetter(); $pdfContent = $service->generate($config); file_put_contents('my-pdf.pdf', $pdfContent);
要了解更多信息,请参阅文档。这包括配置、定制、主题和封面生成、观察者、监听器等内容。
致谢
该项目受到了Ibis项目的很大影响,但进行了完全的重写。
此包站在像MPDF、部分Laravel以及League Commonmark库这样的巨人的肩膀上。
Aaron Saray是主要作者和维护者。
