2010-11-09 49 views
21

作爲標題,我想使用降價作爲我的主要寫入格式,我需要使用純Python生成降價的PDF文件。是否有任何直接的方式來由python生成pdf降價文件

+2

有一個LO圖書館已經做好了這些事情。一個快速的谷歌出現了pandoc(http://johnmacfarlane.net/pandoc/),看起來相當不錯,儘管它不在Python中。 https://github.com/n1k0/landslide是純Python。 – katrielalex 2010-11-09 15:34:00

+0

山體滑坡看起來不像與pdf或降價有關。我錯過了它可以做的事嗎? – TwentyMiles 2010-11-09 16:42:51

+1

它從Markdown(或ReStructured Text)創建幻燈片演示文稿,並可將它們導出爲PDF。也許有些專門針對被問到的問題。 – JasonFruit 2010-11-09 16:49:44

回答

15

我已經完成並且會分兩步進行。首先,我使用python-markdown將HTML製作出來,然後使用xhtml2pdf製作一個PDF文件。

編輯(2014):

如果我現在這樣做,我可能會選擇WeasyPrint作爲我的HTML到PDF的工具;它做了一件漂亮的工作,而且我最近在一些項目中使用了它。

+2

你的原始答案對這個問題更好,因爲WeasyPrint雖然可能更好,但不是「純Python」。或者,完全準確; WeasyPrint本身可能是純Python,但它依賴於其他不是的模塊。 – 2015-01-18 11:17:57

+0

我沒有想到通過。謝謝你的澄清。 – JasonFruit 2015-01-20 18:50:08

6

更新2015年:

我會使用的pdfkitPython-Markdown的組合。雖然這不是一個純Python的解決方案,但我發現它的效果最好,特別是如果你使用Python 3

首先,安裝一個前提條件(或從這裏下載:http://wkhtmltopdf.org/downloads.html):

# Ubuntu 
apt-get install wkhtmltopdf 

然後,必要的Python包:

pip install pdfkit 
pip install markdown 

然後,它是非常簡單的:

from markdown import markdown 
import pdfkit 

input_filename = 'README.md' 
output_filename = 'README.pdf' 

with open(input_filename, 'r') as f: 
    html_text = markdown(f.read(), output_format='html4') 

pdfkit.from_string(html_text, output_filename) 
+0

但wkhtmltopdf需要一個xserver:https://github.com/JazzCore/python-pdfkit/wiki/Using-wkhtmltopdf-without-X-server – Dirk 2016-02-21 10:56:41

+0

它的工作原理,但字體大小非常小,我如何配置它? – Humoyun 2017-01-26 02:46:18

+0

我有一個完整的教程與樣式示例在這裏:http://www.peregrinesalon.com/blog/2015/06/python-3-django-generating-a-pdf-from-markdown-or-html/ – FlipperPA 2017-01-26 03:54:13

相關問題