導航:首頁 > 文檔加密 > pdf列印python

pdf列印python

發布時間:2023-02-27 17:12:23

python利器:如何處理pdf表格數據

大家好,我是Peter~

在很多情況下,我們都需要處理PDF格式的文件。尤其當我們遇到PDF表格數據需要進行提取,真的是一個令人頭疼的問題。

因為PDF文件不能像Word那樣直接復制,即使復制了再黏貼也可能會出現格式排版錯亂甚至亂碼問題。如何從一個PDF文件提取出表格數據?本文提供兩個解決方案:

首先提供的一種方法是從文字 PDF 中提取表格信息的工具:Camelot,它能夠直接將大部分表格轉換為 Pandas 的 Dataframe。

更多的詳細信息,請參考項目地址: https://github.com/camelot-dev/camelot

camelot的安裝有多種方式。如果有報錯,網上一般有解決方式:

1、通過conda安裝

2、使用pip進行安裝

3、通過GitHub進行安裝

首先將項目復制到本地:

然後進入文件中進行安裝:

下面通過一個案例來講解如何使用camelot。假設我們現在有一個只有一頁的PDF文件test.pdf:

1、先讀取文件

導出成csv格式的數據(方式1)

查看tables的相關信息:

導出方式2:

將數據轉換成DataFrame:

tabula的功能比camelot更加強大,可以同時對多個表格數據進行提取。項目的具體地址請參考: https://github.com/chezou/tabula-py

tabula的安裝是非常簡單的:

安裝之後檢驗這個庫是否安裝成功:

通過tabula這個庫來讀取PDF文件:

然後我們發現列表中唯一的一個元素就是dataframe:

將讀取到的數據輸出成CSV格式的文件:

上面讀取的PDF文件是比較簡單的,只有一頁,而且剛好是一個很標準的表格形式的數據,下面看一個比較復雜的例子:

下面是第一頁,第一列可以看成是索引:

在第二頁中有兩份表格,而且中間有很多的空白行:

第三頁的數據比較標准:

這3頁是在同一個PDF文件中,這3頁是在同一個PDF文件中,這3頁是在同一個PDF文件中

上面的紅色提示中我們看到:當沒有指定pages參數的時候,只會默認讀取第一頁的數據,所以列表的長度為1。

轉成dataframe後將原來的索引變成新的一列 (部分數據)

通過pages來讀取全部數據:

通過指定pages="all":

同時獲取兩個表格的數據:

通過area參數來指定:

刪除在讀取的表格中我們不需要的欄位信息

可以將得到的數據輸出成不同格式的文件,以json格式為例:

我們可以看到

Ⅱ python怎麼轉成pdf

方法一:使用虛擬列印機pdf factory即可,而且其他格式文件只要是能夠列印,選擇這個虛擬列印機,都可以做成PDF文件,很簡單實用;
方法二:用其他虛擬列印機轉成PDF文件。
方法三:使用專門的轉換軟體,把文件轉成PDF文件。

Ⅲ 如何用python寫虛擬列印機

1、虛擬列印機,顧名思義就是虛擬的列印機,它是一種軟體,能模擬實現列印機的功能,列印文件。2、虛擬列印機同真實列印機一樣,安裝完畢,打開「控制面板」中的「列印機和傳真」,會看到所安裝的虛擬列印機,可以像使用一台列印機一樣使用它們。滑鼠雙擊將其打開,可以對其「列印首選項」和「屬性」進行修改,從而設定是否共享、可使用時間、是否後台列印和優先順序,以及紙張大小、版式安排等。它們同樣能截獲所有Windows程序的列印操作,或模擬列印效果,或完成某一特殊功能。3、有些軟體自帶虛擬列印機,有些則是專門的虛擬列印機,利用這些虛擬列印機,可以幫助我們完成很多特殊的任務。虛擬列印機的列印文件是以某種特定的格式保存在電腦上。例如,安裝Acrobat會生成一個名為AdobePDF的虛擬列印機.而pdfFactoryPro也會生成同樣類似的虛擬列印機。虛擬列印機的使用和物理列印機相似,只是列印的結果是,在硬碟上生成一個PDF文件。

Ⅳ 怎麼用 Python 將 pdf,doc 等轉換成 jpg

1.PDFFactory Pro虛擬列印機,安裝後,在任何文檔中,選擇列印時,選擇列印機為pdfFactoryPro,就能生成PDF文件,並可以進行安全設置。
2.SmartPrinter(Doc Pdf xls to pdf/tiff/bmp/jpg/png)一款大家非常熟悉的經典產品,專為轉換文件而研發的高品質列印驅動,以運行穩定、轉換速度快和圖像質量高而著稱,通過虛擬列印技術可以完美的將任意可列印文檔轉換成 PDF、TIFF、JPEG,BMP、PNG、EMF、GIF、TXT格式。
3.雪瑩DocConvert虛擬列印轉換。雪瑩DocConvert是一款文檔轉化工具,它通過虛擬列印的技術將任何文檔轉化為PDF,JPG,BMP,TIFF,PCX,PNG等等文檔格式。
4.EasyPrint(虛擬列印機) V2.1,本軟體實現的功能是把指定文檔列印到文件,成為標準的BMP點陣圖,實現無紙列印的功能。主要應用在需要把一些文件列印後掃描再處理,或者一些需要列印效果的軟體的插件。例如:把WORD文件列印到BMP文件,然後進行處理

Ⅳ 如何按順序批量列印PDF\WORD\EXCEL格式的文件 混合列印500多個文件

有一批PDF文件,好幾百個,每個只列印第2,3頁,雙面列印。
網上搜索一波,方案如下:
安裝Ghostscript,GhostView,使用gsprint命令列印pdf文件。
gsprint命令參數說明:
"-dQUIET", 安靜的意思,指代執行過程中盡可能少的輸出日誌等信息。(也可以簡寫為「-q」)
"-dNOSAFER", 通過命令行運行
"-dBATCH", 執行到最後一頁後退出
"-dNOPAUSE", 每一頁轉換之間沒有停頓
"-dNOPROMPT", 沒有相關提示
"-dFirstPage=1", 從第幾頁開始
"-dLastPage=5", 到第幾頁結束
"-sDEVICE=pngalpha", 轉換輸出的文件類型裝置,默認值為x11alpha
"-g720x1280", 圖片像素(-gx),一般不指定,使用默認輸出
"-r300", 圖片解析度(即圖片解析度為300dpi),默認值好像是72(未測試證實)
"-sOutputFile=/opt/shanhy/error1png/%d.png", 圖片輸出路徑,使用%d或%ld輸出頁數
比如列印c.pdf第2,3頁,命令如下
gsprint -dFirstPage=2 -dLastPage=3 c.pdf
大部分pdf只列印第2,第3頁,雙面列印,所以用python控制批量列印所有pdf的第二頁,暫停,提示翻頁,然後批量列印第三頁。
完整代碼如下
#-*- coding: utf-8 -*-
importosimporttimedefprint_pdf(pdf_file_name, page):"""靜默列印pdf
:param pdf_file_name
:page 列印第幾頁
:return:"""cmd= 'gsprint -dFirstPage=%s -dLastPage=%s %s' %(page, page, pdf_file_name)print(cmd)
p=os.popen(cmd)
time.sleep(3)print(p.read())if __name__ == '__main__':
curr_path=os.getcwd()
fl=os.listdir(curr_path)for i in range(2,4):print(i)for f infl:if 'pdf' inf.lower():
print_pdf(f, i)

Ⅵ 如何用python打開excel,然後找到指定工作簿對裡面的內容列印成pdf

python讀寫excel 常用的倆個庫:xlrd、xlwt
python 處理pdf 文件庫:PyPDF2 (當然也有其他的庫,用最簡單的)

你的需求很簡單,隨便在網上找找這幾個庫的文檔很容易處理你的邏輯

閱讀全文

與pdf列印python相關的資料

熱點內容
有pdf卻打不開 瀏覽:460
七星彩軟體app怎麼下載 瀏覽:217
32單片機的重映射哪裡改 瀏覽:816
為什麼前端不用刷演算法題 瀏覽:708
對稱加密系統和公鑰加密系統 瀏覽:428
歷史地理pdf 瀏覽:606
物聯網雲伺服器框架 瀏覽:648
sybaseisql命令 瀏覽:183
android權威編程指南pdf 瀏覽:663
哪些軟體屬於加密軟體 瀏覽:646
文件夾75絲什麼意思 瀏覽:470
最便宜sop8單片機 瀏覽:966
圖解周易預測學pdf 瀏覽:420
c盤莫名奇妙多了幾個文件夾 瀏覽:171
貴州花溪門票優惠app哪個好 瀏覽:803
如何說話不會讓人有被命令的感覺 瀏覽:440
哪裡可下載湘工惠app 瀏覽:265
福特python 瀏覽:312
pdf轉換成word表格 瀏覽:353
無線遠端伺服器無響應是什麼意思 瀏覽:672