laudis / pandoc
简单包装,便于处理pandoc
1.0.0
2020-12-12 14:04 UTC
Requires
- php-ds/php-ds: ^1.0
- symfony/process: ^5.0
- youngsource/typed-enum: ^1.1
Requires (Dev)
- phpunit/phpunit: ^9.5
README
安装
在您的系统上安装 pandoc。
使用 composer 安装 pandoc-php
composer require laudis/pandoc
快速使用
Pandoc 通过 convert 方法转换文本。
use Laudis\Pandoc\Pandoc; $pandoc = new Pandoc(); echo $pandoc->convert('#Hello Pandoc', 'html'); //outputs <h1 id="hello-pandoc">Hello Pandoc</h1>
Pandoc 通过 convertFile 方法转换文件。
$pandoc->convertFile(__DIR__.'/my-file.txt', 'html', 'text');
构建命令
Pandoc php 也通过接受命令处理更复杂的系统。一个构建模式创建了这些命令。
此示例构建了一个命令,该命令控制 pandoc 将 markdown 转换为临时 JSON 文件。
use Laudis\Pandoc\Commands\Command; use Laudis\Pandoc\Enums\Option; $command = Command::create() ->withContent('# H1') ->withOption(Option::OUTPUT_FILE(), sys_get_temp_dir() . '/tmp.json') // Use the option enumeration for easy ide integration and built in typo protection. ->withOption('-w', 'json'); // Strings can also describe an option $pandoc->run($command);
流和资源
Pandoc php 支持“资源”!
use Laudis\Pandoc\Commands\Command; use Laudis\Pandoc\Enums\Option; $command = Command::create() ->withResource(fopen('https://laudis.tech', 'rb')) ->withOption(Option::FROM_FORMAT(), 'html') ->withOption(Option::TO_FORMAT(), 'pdf'); echo $pandoc->run($command);
Pandoc 还可选地流式传输结果,以实现无缝体验。
foreach ($pandoc->stream($command) as $part) { echo $part; }
配置
Pandoc 构造函数接受 pandoc 可执行文件的位置。
$pandoc = new Pandoc(); // Defaults to "pandoc" as the executable, $pandoc = new Pandoc('/usr/bin/pandoc-beta'); // /usr/bin/pandoc-beta is now the location of the executable,
版本检测
Pandoc 也知道可执行文件的版本。版本可以通过 getVersion 方法访问。
$pandoc = new Pandoc(); echo $pandoc->getVersion(); // Echos the version provided in with the --version flag.