If you need to convert text files from one format to another, pandoc is your swiss-army knife. This package is a PHP wrapper for pandoc.
You can install the package via composer:
composer require ueberdosis/pandoc
This package is a wrapper for the command-line tool pandoc. Don’t forget to install pandoc. Here is an example for Ubuntu:
sudo apt-get update
sudo apt-get install -y wget
sudo mkdir -p /usr/src/pandoc
cd /usr/src/pandoc
sudo wget https://github.com/jgm/pandoc/releases/download/2.15/pandoc-2.15-1-amd64.deb
sudo dpkg -i pandoc-2.15-1-amd64.deb
More examples are available in the pandoc documentation
$output = (new \Pandoc\Pandoc)
->from('markdown')
->input('# Test')
->to('html')
->run();
(new \Pandoc\Pandoc)
->from('markdown')
->inputFile('tests/data/example.md')
->to('plain')
->output('tests/temp/example.txt')
->run();
new \Pandoc\Pandoc([
'command' => '/usr/local/bin/pandoc',
]);
(new \Pandoc\Pandoc)->cwd('/tmp/pandoc/');
(new \Pandoc\Pandoc)->listInputFormats();
(new \Pandoc\Pandoc)->listOutputFormats();
echo (new \Pandoc\Pandoc)
->from('markdown')
->input('# Markdown')
->to('html')
->log('log.txt')
->run();
echo (new \Pandoc\Pandoc)->version();
$output = (new \Pandoc\Pandoc)
->fromMarkdown('# Test')
->toHtml('tests/temp/example.txt')
->run();
echo (new \Pandoc\Pandoc)
->fromMarkdown('# Test')
->toHtml('tests/temp/example.txt')
->option('fail-if-warnings')
->option('data-dir', './tmp')
->run();
See https://pandoc.org/MANUAL.html for a full list of available options
This package includes a Laravel facade for people that like that little bit of syntactic sugar.
echo \Pandoc\Facades\Pandoc::version();
If something went wrong, the package throws a generic \Symfony\Component\Process\Exception\ProcessFailedException
. There are even a few specific exceptions.
- \Pandoc\Exceptions\PandocNotFound
- \Pandoc\Exceptions\InputFileNotFound
- \Pandoc\Exceptions\UnknownInputFormat
- \Pandoc\Exceptions\UnknownOutputFormat
- \Pandoc\Exceptions\LogFileNotWriteable
- \Pandoc\Exceptions\BadMethodCall
composer test
Please see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.