方法一:使用虛擬列印機pdf factory即可,而且其他格式文件只要是能夠列印,選擇這個虛擬列印機,都可以做成PDF文件,很簡單實用;
方法二:用其他虛擬列印機轉成PDF文件。
方法三:使用專門的轉換軟體,把文件轉成PDF文件。
② python腳本 將DOC格式轉換成PDF 沒問題 但是將TXT格式轉換成PDF 會出現路亂碼,請大蝦指點下
用什麼 w32com啊。用python的一個開源包。或者是用apache的tika(java)版本。或者是你用openoffice。
用了python就和winows再見吧。因為只有linux上才是最好用的。然後就和開源結親了。各種包,基本上應有盡有。
你的這個問題其實挺簡單的。很可能是編碼的問題。建議你先將txt轉換成doc,再將doc轉換成pdf。這樣就繞過去了。問題不一定要強行解決。學著繞過去。
③ 如何使用python來獲取pdf文件里的文字,最好是不能亂碼
提取pdf文字可以推薦一個工具
第一種文字型PDF比較簡單,可以採用格式轉換的方式直接轉換PDF文件為文本。打開PDF文字識別軟體,執行「文件」-「打開圖像...」導入PDF文件,然後執行「輸出」-「PDF文件轉換為TXT文件」第二種圖像型PDF,有的PDF都是掃描圖片,這個就不能復制文字了,可以採用OCR識別的方式,將PDF文件轉換為可編輯文檔。這也是本文主要講的pdf文字識別方法。還是打開PDF文字提取軟體,執行「文件」-「打開圖像...」導入PDF文件。然後執行「識別」-「開始識別...」。
④ python下面有什麼生成pdf文件的庫
可以使用 pdfkit
功能:
1.wkhtmltopdf主要用於HTML生成PDF。
2.pdfkit是基於wkhtmltopdf的python封裝,支持URL,本地文件,文本內容到PDF的轉換,其最終還是調用wkhtmltopdf命令。是目前接觸到的python生成pdf效果較好的。
⑤ Python可以用來自動化辦公 實現批量Word轉pdf嗎
這里需要導入幾個模塊
from win32com.client import Dispatch # 沒有的話輸入pip install pywin32命令 即可安裝
from os import walk
import os
os是用於文件處理常用的模塊,至於Dispatch,它是提供了一個介面, win32提供了多種word轉換為其他文件的介面,其中FileFormat=17是轉換為pdf格式.
之後轉換文件邏輯也很簡單,首先需要提取出文件名,word文件的後綴是doc或docx,那麼將後綴名替換為pdf即可轉換,這里用到replace方法,即replace(『docx』,『pdf』).replace(『doc』,『pdf』)因為有可能後綴是doc,所以需要2次判斷。
值得注意的是,轉換的文件夾事先要存在,否則會報錯誤。
下面是項目的源代碼
復制代碼
from win32com.client import Dispatch # pip install pywin32
from os import walk
import os
wdFormatPDF = 17 # win32提供了多種word轉換為其他文件的介面,其中FileFormat=17是轉換為pdf
def doc2pdf(input_file, input_file_name, output_dir):
try:
word = Dispatch('Word.Application')
doc = word.Documents.Open(input_file)
except Exception as e:
print("word無法打開, 發生如下錯誤:\n{}".format(e))
try:
pdf_file_name = input_file_name.replace(".docx", ".pdf").replace(".doc", ".pdf")
pdf_file = os.path.join(output_dir, pdf_file_name)
doc.SaveAs(pdf_file, FileFormat=wdFormatPDF)
doc.Close()
word.Quit()
print("成功轉換\"{}\"".format(input_file_name))
print()
except Exception as e:
print("文件保存失敗, 發生如下錯誤:\n{}".format(e))
if __name__ == "__main__":
path_in=input("請輸入word文件夾的路徑(絕對路徑) 要保證存在 建議復制粘貼")
path_out=input("請輸入pdf文件夾的路徑(絕對路徑) 要保證存在 建議復制粘貼")
doc_files = []
directory = path_in# word文件夾
output_dir =path_out # pdf文件夾
for root, _, filenames in walk(directory): # 第2個返回值是dirs, 用不上使用_佔位
for file in filenames:
if file.endswith(".doc") or file.endswith(".docx"):
print("轉換{}中......".format(file))
doc2pdf(os.path.join(root, file), file, output_dir)
復制代碼