電腦語音朗讀PDF文檔(電腦上的文檔怎么語音朗讀)
“坊間”流傳過分析上市公司公告進行短線買賣股票的炒股戰法,本人生性懶惰不能堅持看當日的上市公司公告,大多數情況下都是買入股票(短線)后再去查找相關的資訊。既然學習了python編程,自己搞個每日定時播放上市公司公告的小程序,豈不美哉!
分析“東方財富”、“新浪財經”、“雪球”、“同花順”等幾個財經類門戶網站后,從“同花順”的公告速遞欄目中獲取上市公司公告數據較好,網站會將公告進行“利好”與”利空“的分類,至于把“利好”當“利好”用,還是當“利空”用,那就是個人對消息面理解的問題了。
上市公司的公告都是以PDF文檔類型發布的,因此我們還得通過一些手段將它轉變成文本文件,然后再通過windows的語音接口播放了來,本文主要是用“PDFplumber”模塊來實現PDF格式轉換的,它可以方便地獲取PDF的各種信息,包括文本、表格、圖表、尺寸等,但不支持修改或生成PDF。
一、pdfplumber安裝
pip install pdfplumber
二、pdfplumber讀取pdf
import pdfplumber
import win32com.client
with pdfplumber.open("../b9badee5f9c949b1.pdf") as p: # 打開文檔,注意存放的位置
注:怎樣獲取網站數據參考其它文章
三、生成page對象
page = p.pages[i]
四、對Page對象進行處理
textdata = page.extract_text() # 提取每頁的文字信息
五、完整代碼
# -*- coding: UTF-8 -*-
import pdfplumber
import win32com.client
with pdfplumber.open("../b9badee5f9c949b1.pdf") as p: # 打開文檔,注意存放的位置
page_count = len(p.pages) # 統計文檔的頁數
for i in range(0, page_count):
page = p.pages[i] # 提取每頁的對象并存儲
textdata = page.extract_text() # 提取每頁的文字信息
data = open('gongao.txt', 'a', encoding='utf-8') # 將文字存放到需要存儲的文檔里面
data.write(textdata) # 文檔寫入
data.close()
read_pdf = open("gongao.txt", 'r', encoding='utf-8')
str1 = read_pdf.read()
speak = win32com.client.Dispatch('SAPI.SpVoice')
speak.Speak(str1)
read_pdf.close()
PDF原稿
補充說明:
pdfplumber有兩種pdf表格提取函數,分別為.extract_tables( )及.extract_table( ),兩種函數提取結果存在差異。對PDF感興趣的朋友可以試用一下。
1).extract_tables( )
可輸出頁面中所有表格,并返回一個嵌套列表,其結構層次為table→row→cell。此時,頁面上的整個表格被放入一個大列表中,由原表格中的各行組成該大列表中的各個子列表。
2).extract_table( )
返回獨立列表,其結構層次為row→cell。若頁面中存在多個行數相同的表格,則默認輸出頂部表格;否則,僅是輸出行數最多的一個表格。此時,表格的每一行都作為一個單獨的列表,列表中每個元素即為原表格的各個單元格內容。