Python自動化辦公之Word轉PDF的實現

該章節我們將要學習如何將 word 文件轉為 PDF文件,其實網上有很多種生成 PDF 的教程,不過絕大多數都是以 windows 為主的,並且兼容有很多的問題。windows、mac、linux 同時兼容的情況比較少,所以今天的章節我們就來學習一下如何在 windows、mac、linux 三種系統中都可以生成 PDF 的解決方案。

pdf 工具包 – pdfkit

pdfkit 包的安裝:

pip install pdfkit

依賴工具:

下載符合與自己當前系統的安裝包安裝完成之後就可以達到兼容的效果瞭。

html 轉 pdf

html 轉 pdf 方法:

pdfkit.from_file(html文件, 保存路徑) 利用 pdfkit.from_file() 函數傳入 "html" 文件與 pdf 的保存路徑

代碼示例如下:

# coding:utf-8
import pdfkit  # 需安裝 pdfkit 第三方包 "pip install pdfkit" 以及第三方依賴 "wkhtmltopdf"

pdfkit.from_file('html測試文件.html', 'html測試文件.pdf')

運行結果如下:

網址 轉 pdf

網址 轉 pdf 方法:

pdfkit.from_url(網址, 保存路徑) 利用 pdfkit.from_url() 函數傳入 "網址" 文件與 pdf 的保存路徑

“html” 文件與網址的區別在於實際上html文件有可能是我們本地開發生成的,也有可能是通過 “網頁另存為” 的方式存儲在本地的。所以 網址 與 html文件 還是有一點點區別的,但是它們的本質其實是一樣的。

代碼示例如下:

# coding:utf-8
import pdfkit  # 需安裝 pdfkit 第三方包 "pip install pdfkit" 以及第三方依賴 "wkhtmltopdf"

pdfkit.from_url('https://www.163.com', 'test1.pdf')

運行結果如下:

字符串生成pdf

網址 轉 pdf 方法:

pdfkit.from_string(基於html的字符串, 保存路徑) 利用 pdfkit.from_string() 函數傳入 "網址" 文件與 pdf 的保存路徑

基於html的字符串 其實就是前端的一種超文本文件格式,以這種前端規范生成的字符串其實就是 html 的字符串瞭

# coding:utf-8

import pdfkit  # 需安裝 pdfkit 第三方包 "pip install pdfkit" 以及第三方依賴 "wkhtmltopdf"

html = """
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
  <p>你好,這是一個html字符串轉為pdf的測試文件</p>
</body>
</html>
"""

pdfkit.from_string(html, 'html_string_test.pdf')

運行結果如下:

結合 pydocx 將 word 轉 html 再轉 pdf

首先需要安裝 pydocx 依賴包 —> pip install pydocx

導入 PyDocX 函數 —> from pydocx import PyDocX

利用 PyDocX 將 word 文件轉換為 html 格式(會生成一個 html 的字符串對象)

將 生成的 html 字符串 寫入到一個 html 文件中

然後利用 pdfkit 包的 pdfkit.from_file() 函數將其轉為 pdf 文件

代碼示例如下:

# coding:utf-8

import pdfkit  # pip install pdfkit
from pydocx import PyDocX  # pip install pydocx

html = PyDocX.to_html('簡歷1.docx')
f = open('簡歷1.html', 'w')
f.write(html)
f.close()

#pdfkit.from_file('html1.html', 'test3.pdf')
pdfkit.from_string(html, '簡歷1.pdf')

運行結果如下:

到此這篇關於Python自動化辦公之Word轉PDF的實現的文章就介紹到這瞭,更多相關Python Word轉PDF內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: