精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
文末福利|使用Python轉換PDF,Word/Excel/PPT/md/HTML都能轉!

往期精選

Python辦公自動化|從Word到Excel
Python辦公自動化|從Excel到Word
Python辦公自動化|對比文件,光速完成
Python辦公自動化|Excel表格,自動更新
同一個操作執行兩次,就要考慮自動化!

大家好,又到了Python辦公自動化專題。

今天講的是各位一定會接觸到的PDF轉換,關于各種格式的文件轉換為PDF有很多第三方工具與網站可以實現,但是使用Python的好處不僅可以批量轉換,同時一旦腳本寫完了以后就可以一鍵執行,徹底解放雙手,那么本文就來盤一盤如何使用Python來將Word/Excel/PPT/Markdown/Html等各種格式的文件轉換為PDF!

Word轉PDF

Word轉PDF應該是最常見的需求了,畢竟使用PDF格式可以更方便展示文檔,雖然在Word中可以直接導出為PDF格式,但是使用Python可以批量轉換,更加高效。

目前在Python中針對Word轉換為PDF的庫有很多,比如win32就可以調用word底層vba,將word轉成pdf,或者comtypes等,但是這些常用的庫僅能在Windows機器上運行,所以為了照顧mac用戶本文使用一個比較小眾的庫docx2pdf,看名字就能知道這是專門用于word轉pdf,安裝很簡單

pip install docx2pdf

使用也比win32等庫更簡潔,一行代碼導入一行代碼轉換即可

from docx2pdf import convert
convert('input.docx''output.pdf')

但是有人就會說雖然簡單,但是這個操作word本身就可以完成,好的接下來放大招,我們可以使用下面的代碼找到當前或者指定文件夾下的全部word文件

#查找當前目錄下的全部word文件
import os
import glob
from pathlib import Path

path = os.getcwd() + '/'
p = Path(path) #初始化構造Path對象
FileList=list(p.glob('**/*.docx')) 

接下來只要寫一個循環就可以將該目錄下的全部word一次性轉換為PDF

for file in FileList:
    convert(file,f'{file}.pdf')

就這樣,不到10行代碼,只要一秒,指定文件夾中5份Word就輕松轉換為PDF,現在還能使用我們之前自動化系列文章寫過的批量合并PDF結合一鍵合并這5份PDF!

Excel轉PDF

Excel轉PDF可能平時用的不多,但是作為Office全家桶中的重要工具,并且轉換完的表格可以復制所以我們也講一下。使用到的工具既不是常用的openpyxl也不是pandas,而是另一個專門用于處理PDF的庫fpdf

import pandas as pd
import numpy as np
df_1 = pd.DataFrame(np.random.randn(102), columns=list('AB'))

為了方便講解我們使用Pandas和NumPy來創建一個示例數據文件,當然也可以使用從本地讀取

現在可以使用下面的代碼將這個表格轉換為PDF

from fpdf import FPDF
pdf = FPDF()
pdf.add_page()
pdf.set_xy(00)
pdf.set_font('arial''B'14)
pdf.cell(60)
pdf.cell(7010'Excel to PDF'02'C')
pdf.cell(-40)
pdf.cell(5010'Index Column'10'C')
pdf.cell(4010'A'10'C')
pdf.cell(4010'B'12'C')
pdf.cell(-90)
pdf.set_font('arial'''12)
for i in range(0, len(df_1)):
    col_ind = str(i)
    col_a = str(df_1.A.iloc[i])
    col_b = str(df_1.B.iloc[i])
    pdf.cell(5010'%s' % (col_ind), 10'C')
    pdf.cell(4010'%s' % (col_a), 00'C')
    pdf.cell(4010'%s' % (col_b), 02'C')
    pdf.cell(-90)
pdf.output('Excel2PDF.pdf''F')


,其實思路和openpyxl類似,遍歷每一個單元格并寫入數據只不過現在是往PDF文件中寫入。

PPT轉PDF

本節介紹一下PPT如何轉換為PDF,但是我搜了一大圈都沒有MAC用戶可以實現的方法,所以只能針對Windows去操作,使用到的就是在word2pdf中講到的comtypes

import sys
import os
import comtypes.client
#設置路徑
input_file_path = sys.argv[1]
output_file_path = sys.argv[2]
input_file_path = os.path.abspath(input_file_path)
output_file_path = os.path.abspath(output_file_path)
#創建PDF
powerpoint = comtypes.client.CreateObject('Powerpoint.Application')
powerpoint.Visible = 1
slides = powerpoint.Presentations.Open(input_file_path)
#保存PDF
slides.SaveAs(output_file_path, 32)
slides.Close()

相關參數與細節可以查閱comtypes官方文檔,因為我是mac所以沒有過多研究,在成功轉換之后就可以和我們之前的批量操作與合并進行結合實現自動化了!

md轉pdf

關于markdown轉pdf,幾乎所有markdown編輯器都支持導出為pdf格式,本以為這個需求并不高,但是研究了一圈發現很多老外造了很多md轉pdf的輪子,比如md2pdfmarkdown2pdfmd2pdf-client等。因為大多數博客使用的是markdown格式,使用這些庫可以很好的將博客文章批量轉換為PDF文檔存儲。

早起都試了一圈,找到一個語法最簡單的markdown2pdf3,直接pip安裝即可,使用兩行代碼即可將一個md文件轉換為pdf

from markdown2pdf3 import *
convert_markdown_to_pdf('test.md'#你的markdown文件路徑

但是要注意的是如果有中文,還需要進行一些額外的設置,可以查閱官方文檔,不過現在就能和之前講的Word轉PDF結合,批量轉換指定路徑下的全部markdown文件為pdf,比如可以使用下面的代碼找到當前文件夾下的全部md文件

import os
import glob
from pathlib import Path

path = os.getcwd() + '/'
p = Path(path) #初始化構造Path對象
FileList=list(p.glob('**/*.md')) 

html轉pdf

關于html也就是網頁轉為PDF是來問我最多的問題,其實很簡單,之前在Selenium爬取公眾號全部文章這篇文章中就提到使用PDFKIT即可,但是并不是直接pip安裝pdfkit就行,我們需要提前進入下面的網站選擇自己電腦系統對應的wkhtmltopdf下載安裝

https://wkhtmltopdf.org/downloads.html

安裝完使用pip安裝pdfkit

pip install pdfkit

現在我們就能使用兩行代碼轉換指定網頁為PDF格式,比如將我的第一篇自動化文章轉為PDF

看起來效果還是非常好的,所有格式包括代碼都完整的保存了下來,接下來怎么做就不用我多說了,比如你想下載一個公眾號所有文章為PDF格式,那就先將歷史文章URL提取出來,接著使用pdfkit轉換即可,而這兩步驟我們都已經詳細講解過了!

文末說兩個福利

1.本周依舊給常讀與常分享用戶贈書,目前分享榜單已經送至第八名,也就是本周只要進入分享榜單即可獲得贈書,本周贈書與爬蟲相關,其中包括之前送過的反爬蟲原理與繞過實戰

2.當當網為早起Python讀者申請了一批優惠碼【QTX8B8】,使用該優惠碼購買當當網自營圖書可以120買300的書,相當于4折,如果使用了早起的優惠碼購書可以聯系早小起,將會在活動結束后進行單獨贈書與免單抽獎。使用方法與詳情可以點擊進入昨天的詳細推文

本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
辦公利器!用Python快速將任意文件轉為PDF
用python操作excel、word、pdf非常迅速方便,迅速教會你
Python實現Word文檔轉換Markdown的示例
使用思源筆記軟件實現word文內搜索功能
PDF免費轉Word。Excel。PPT
比PPT簡單炫酷關鍵還不要錢
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 南乐县| 安西县| 仪陇县| 中方县| 广州市| 淅川县| 吕梁市| 灵寿县| 改则县| 商河县| 四川省| 云和县| 玉山县| 柯坪县| 上犹县| 吴堡县| 桐庐县| 漳州市| 德江县| 麻栗坡县| 蕲春县| 托里县| 吉木萨尔县| 东海县| 宁安市| 镶黄旗| 桂东县| 泰安市| 隆尧县| 金乡县| 巫山县| 临朐县| 大荔县| 福泉市| 商丘市| 田阳县| 将乐县| 加查县| 嘉兴市| 湄潭县| 陆丰市|