laudis/pandoc

简单包装,便于处理pandoc

1.0.0 2020-12-12 14:04 UTC

This package is auto-updated.

Last update: 2024-09-22 00:02:37 UTC


README

Maintainability Test Coverage MIT License

安装

在您的系统上安装 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.