Pandoc PHP Package

Fund package maintenance!

0.9.0 2023-02-28 08:00 UTC


Integrate Sponsor

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


Return the converted text as string

$output = (new \Pandoc\Pandoc)
    ->input('# Test')

Use a file as input and write a file as output

(new \Pandoc\Pandoc)

Change path to Pandoc

new \Pandoc\Pandoc([
    'command' => '/usr/local/bin/pandoc',

Change working directory

(new \Pandoc\Pandoc)->cwd('/tmp/pandoc/');

List available input formats

(new \Pandoc\Pandoc)->listInputFormats();

List available output formats

(new \Pandoc\Pandoc)->listOutputFormats();

Write a log file

echo (new \Pandoc\Pandoc)
    ->input('# Markdown')

Retrieve Pandoc version

echo (new \Pandoc\Pandoc)->version();

Use magic methods to make calls shorter

$output = (new \Pandoc\Pandoc)
    ->fromMarkdown('# Test')

Pass options to Pandoc

echo (new \Pandoc\Pandoc)
    ->fromMarkdown('# Test')
    ->option('data-dir', './tmp')

See https://pandoc.org/MANUAL.html for a full list of available options

Laravel Facade

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.