Download the PHP package pandoc-php/pandoc without Composer

On this page you can find all versions of the php package pandoc-php/pandoc. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package pandoc

Pandoc PHP

A native PHP 8.4 port of the Pandoc document converter. This library converts documents between formats (Word .docx, Excel .xlsx, PowerPoint .pptx, HTML .html, Markdown .md, Jupyter .ipynb, BibTeX .bib → LaTeX) without requiring the system-level Pandoc binary.

Features

Installation

Requires PHP 8.4 or higher.

Basic Usage

Converting a Word Document to LaTeX

Word equations (Office Math/OMML, Insert → Equation) are converted to LaTeX automatically — no extra setup required. An inline equation becomes a Math AST node of type InlineMath ($…$), and a standalone equation paragraph becomes DisplayMath (\[…\]):

Superscripts/subscripts, fractions, radicals, n-ary operators (∫, ∑, ∏, ⋃, …), delimiters, functions (sin, log, lim, …), matrices, and common Greek letters/operator symbols are all supported. See SUPPORTED_STRUCTURES.md for the full list and known limitations.

Converting Markdown to a LaTeX Fragment

Converting HTML to LaTeX

Converting an Excel Spreadsheet to LaTeX

Each sheet produces a level-2 header followed by a booktabs table. If the spreadsheet contains embedded images or charts, use the ZIP output pattern below.

Note: Only .xlsx (OOXML) is supported. Legacy .xls files must be converted first (e.g. via LibreOffice).

Chart extraction: Charts are exported as two companion files added to the MediaBag:

chart1.json — Chart.js-ready metadata:

chart1.csv — the data (categories + one column per series):

A comment marker is inserted in the LaTeX at the chart's position:

Your app reads the marker → loads the JSON → finds dataFile → loads the CSV → renders with Chart.js.

Per-sheet CSV export: Each worksheet is also exported as a standalone CSV file (e.g. sheet-Sales.csv) added to the MediaBag. Trailing empty rows and columns are stripped automatically.

Locale detection: The reader inspects docProps/core.xml for a <dc:language> tag and selects separators accordingly:

Language group Decimal sep. Thousands sep. Column delim.
en, ja, zh, pt-BR, … . , ,
fr, de, it, es, nl, pl, ru, … , . ;

When no language tag is present the file falls back to en-US conventions.

metadata.json: Always added to the MediaBag alongside the CSVs:

Utility script: export_xlsx_media.php converts any .xlsx file to a ZIP containing its CSVs and metadata.json:

Converting a PowerPoint Presentation to LaTeX

Each slide is wrapped in a slide environment (with the slide title as argument), and all slides are enclosed in a slider environment:

These are custom environments — define them in your LaTeX preamble to control rendering. All images (including slide master/template graphics) are extracted into the MediaBag.

Embedded videos are exported as a video environment:

Embedded audio is exported as an audio environment:

All media files (images, video, audio) are included in the ZIP output alongside the .tex.

Converting BibTeX to LaTeX

The output is a self-contained thebibliography block:

Converting Jupyter Notebooks to LaTeX

Output: Plain .tex or .zip

When a document contains images, charts, or other media, you need to bundle them alongside the .tex file. The MediaBag tells you whether there are any attachments:

All media files (images, chart JSON/CSV) are stored at the root of the ZIP, so \includegraphics{image.png} and chart references resolve correctly when the .tex is compiled or processed from the same directory.

Web Interface

The project includes a web-based demonstration tool in web/.

  1. Point your web server to the php-pandoc/web/ folder.
  2. Open index.html in your browser.
  3. Upload a .docx, .xlsx, .pptx, .html, .ipynb, .md, or .bib file.
  4. Choose Standalone or Fragment output.
  5. Download the result — a plain .tex if the document has no media, or a .zip if it does.

Supported Structures

See SUPPORTED_STRUCTURES.md for a full feature list. Highlights:

Development and Testing

Credits

This project is a port of Pandoc, originally created by John MacFarlane.

License

GPL v2 or later, mirroring the original Pandoc license.


All versions of pandoc with dependencies

PHP Build Version
Package Version
Requires php Version >=8.4
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package pandoc-php/pandoc contains the following files

Loading the files please wait ...