pypandoc provides a thin wrapper for pandoc, a universal document converter.
Usage
The basic invocation looks like this: pypandoc.convert('input', 'output format'). pypandoc tries to infer the type of the input automatically. If it’s a file, it will load it. In case you pass a string, you can define the format using the parameter. The example below should clarify the usage:
import pypandoc
output = pypandoc.convert('somefile.md', 'rst')
# alternatively you could just pass some string to it and define its format
output = pypandoc.convert('#some title', 'rst', format='md')
# output == 'some title\r\n==========\r\n\r\n'
In addition to format, it is possible to pass extra_args. That makes it possible to access various pandoc options easily.
output = pypandoc.convert('<h1>Primary Heading</h1>', 'md', format='html', extra_args=['--atx-headers'])
# output == '# Primary Heading\r\n'
output = pypandoc.convert('# Primary Heading', 'html', format='md', extra_args=['--base-header-level=2'])
# output == '<h2 id="primary-heading">Primary Heading</h2>\r\n'
Please refer to pandoc -h and the official documentation for further details.
See also pyandoc for an alternative implementation.
Django Service Example
See services.py at the project root for implementation. Use it like this:
from .services import PandocDocxService
service = PandocDocxService()
doc_file = service.generate(html='<html><body><h1>Heading 1</h1><p>testing testing 123</p></body></html>')
Contributors
Valentin Haenel - String conversion fix
Daniel Sanchez - Automatic parsing of input/output formats
Thomas G. - Python 3 support
Ben Jao Ming - Fail gracefully if pandoc is missing
Ross Crawford-d’Heureuse - Encode input in UTF-8 and add Django example
Michael Chow - Decode output in UTF-8
Janusz Skonieczny - Support Windows newlines and allow encoding to be specified.
gabeos - Fix help parsing
Marc Abramowitz - Make setup.py fail hard if pandoc is missing
Daniel L. - Add extra_args example to README
License
pypandoc is available under MIT license. See LICENSE for more details.
Metadata
Release files for pypandoc 0.8.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pypandoc-0.8.5.tar.gz | 4.0 kB | Details |
Release files / pypandoc-0.8.5.tar.gz
| Download URL | pypandoc-0.8.5.tar.gz |
|---|---|
| Size | 4.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c16975c21055e5a3b2eb16017aba8d9aef1f54ba79394e86eeaabbb381b53f4c
|
|
BLAKE2b-256 checksum How to use checksums |
29eb36bcc24c70ea9fe148e360f6542203f6b8f1afe37107f8f4c2fe7c5ad083
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |