Client for using an md2pdf server to render Markdown text into a pretty PDF
pip install md2pdf-client==1.3.3
md2pdf is a little project that aims to make it easy to produce professional-looking PDF documents from Markdown files via a LaTeX template and the help of Pandoc.
There are several motivations for this:
With with an appropriate template, LaTeX PDF output is undeniably the prettiest- looking way to create documents. But, learning LaTeX is hard. Markdown is much easier to use, and when used with Pandoc can still produce superb PDF documents. md2pdf makes it simple to manage having the right LaTeX templates and configuration across a whole team, by using a central server to do the PDF generation and then share the result with those who need it.
This simple Python program is the md2pdf client application. It is intended to
be used with an md2pdf-webserver
instance, running locally or remotely.
See the md2pdf-webserver hompage for more information
Usage is quite simple, run md2pdf-client -h
for more information:
md2pdf client v1.3.0 - connect to an md2pdf server and create a PDF file
positional arguments:
FILEPATH Input Markdown file to be converted
optional arguments:
-h, --help show this help message and exit
-c FILEPATH, --compare FILEPATH
Activates 'compare' mode. Specify the file to compare
changes with, e.g.: 'md2pdf-client --compare
path/file-old.md path/file-new.md'
--set-default OPTION VALUE
Change a default value for an option. Use the full
argument name, separated by a space, e.g.: '--set-
default proto https' or '--set-default server
192.168.1.1:9090'
-s ADDRESS[:PORT], --server ADDRESS[:PORT]
Server address to request PDF generation from. Use
hostname or IP address, and port number if required
(i.e. '127.0.0.1:9090', or 'my-host.com:8888'). If
port is not specified, port 80 will be used
--proto {http,https} Protocol to use
-t TEMPLATE, --template TEMPLATE
Template to use, instead of the server default
(include the file extension)
md2pdf-client --set-default server 1.2.3.4:9090
or md2pdf-client --set-default server hostname.tld:9090
. Don't include the protocol here.md2pdf-webserver
by default doesn't do HTTPS - but it would be possible to put it behind a HTTPS reverse proxy. If that is the case, don't forget to set the default protocol with md2pdf-client --set-default proto https
--template
option, don't forget that the template must also exist in the server - you can't use a local template (at least not yet)..log
file in the same directory as your input Markdown file - take a look in there for more information.md2pdf-client
from the command line to check the output.--compare
followed by the path to the old version, then the path to the new version. The output PDF will be in the location of the new Markdown version. Images are removed in compare mode.md2pdf-client
is available through the Python Package Index (PyPi), it can be installed through pip
:
$ python3 -m pip install md2pdf-client
This should work on Linux, Windows, and OS X (and really anywhere that Python 3 can run)
md2pdf-client
is available as an Ubuntu Snap package. You can install it with :
$ sudo snap install md2pdf-client
The packaging is done automatically by Launchpad, based on the Snapcraft config in this repo.
md2pdf-client
can also be run as a Python script (typically only needed during development):
python3 -m md2pdf_client.md2pdf_client -f <file>
This project is released under the terms of the GNU Affero GPL version 3 (or later). Please see LICENSE for details.
The base of my (very crappy) icon is from the standard GNOME icons. These are GPL licensed.