Skip to main content

使用 md2pdf 服务器将 Markdown 文本呈现为漂亮 PDF 的客户端

项目描述

md2pdf 客户端

md2pdf 图标

介绍

md2pdf 是一个小项目,旨在通过 LaTeX 模板和 Pandoc 的帮助,轻松地从 Markdown 文件生成具有专业外观的 PDF 文档。

这样做有几个动机:

  • 文字处理器软件不能很好地与版本控制配合使用,纯文本 Markdown 文件可以
  • 协作处理单个 ODT/DOC 文件很容易覆盖其他人的工作
  • LibreOffice 和 Word 在长文件上的自动图形和表格编号以及 TOC 等方面都很糟糕
  • 在与 ODT/DOC 文件协作时,试图让每个人都使用正确的字体、间距、格式等是很痛苦的
  • LibreOffice 和 Word 的 PDF 输出通常看起来很一般
  • 写作时担心格式化会让人分心——Markdown 去掉了除最基本的格式化选项之外的所有选项,让你专注于写作

使用适当的模板,LaTeX PDF 输出无疑是创建文档的最漂亮的方式。但是,学习 LaTeX 很难。Markdown 更容易使用,与 Pandoc 一起使用时仍然可以生成出色的 PDF 文档。md2pdf 通过使用中央服务器进行 PDF 生成,然后与需要它的人共享结果,使管理整个团队中正确的 LaTeX 模板和配置变得简单。

客户端应用

这个简单的 Python 程序是 md2pdf 客户端应用程序。它旨在与md2pdf-webserver实例一起使用,在本地或远程运行。有关更多信息,请参阅md2pdf-webserver 主页

用法

用法很简单,运行md2pdf-client -h了解更多信息:

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)

使用提示

  • 设置默认服务器时不要忘记设置默认端口!您可能不会使用端口 80,因此请确保正确设置它,例如使用md2pdf-client --set-default server 1.2.3.4:9090or md2pdf-client --set-default server hostname.tld:9090。不要在此处包含协议。
  • md2pdf-webserver默认情况下不执行 HTTPS - 但可以将其放在 HTTPS 反向代理后面。如果是这种情况,请不要忘记将默认协议设置为md2pdf-client --set-default proto https
  • 如果您使用该--template选项,请不要忘记模板也必须存在于服务器中 - 您不能使用本地模板(至少现在还没有)。
  • 如果某些东西在服务器端不起作用,您应该.log在与输入 Markdown 文件相同的目录中获取一个文件 - 在那里查看更多信息。
  • 如果某些东西在客户端不起作用,md2pdf-client从命令行运行以检查输出会很有帮助。
  • 比较模式只能从命令行使用,它不会显示在“打开方式”菜单中。使用标志--compare,后跟版本的路径,然后是版本的路径。输出 PDF 将位于新 Markdown 版本的位置。图像在比较模式下被删除。

安装

派皮

md2pdf-client可通过Python 包索引(PyPi) 获得,它可以通过以下方式安装pip

$ python3 -m pip install md2pdf-client

这应该适用于 Linux、Windows 和 OS X(以及 Python 3 可以运行的任何地方)

快照包

md2pdf-client可作为 Ubuntu Snap 软件包使用。您可以使用以下方式安装它:

$ sudo snap install md2pdf-client

Launchpad 会根据此 repo 中的 Snapcraft 配置自动完成打包。

直接 Python 脚本

md2pdf-client也可以作为 Python 脚本运行(通常仅在开发期间需要):

python3 -m md2pdf_client.md2pdf_client -f <file>

执照

该项目是根据 GNU Affero GPL 版本 3(或更高版本)的条款发布的。有关详细信息,请参阅许可证

谢谢

我的(非常糟糕的)图标的基础来自标准GNOME 图标。这些是 GPL 许可的。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

md2pdf_client-1.3.3.tar.gz (10.2 kB 查看哈希

已上传 source

内置分布

md2pdf_client-1.3.3-py3-none-any.whl (23.3 kB 查看哈希

已上传 py3