[英]Print text files as PDFs without manual saving
我需要將大量文本文件轉換為 PDF。它們的問題是,它們使用一些舊的編碼和格式,因此不可能使用一些 pdf 創建或轉換包而不損壞它們,例如 FPDF。 唯一可行的是打印到 pdf,但為此我每次都需要選擇名稱和保存位置。
那么有沒有辦法自動選擇pdf的保存位置?
我嘗試使用的代碼:
from win32 import win32print as wp
from win32 import win32api
wp.SetDefaultPrinter('Microsoft Print to PDF')
win32api.ShellExecute(0, 'print', 'test.txt', None, '.', 0)
我也嘗試在 Powershell 中編寫腳本,但找不到保存它們的方法。
此處更新是文件示例: https://transfer.sh/knuSnM/test.TXT
您需要在打印機設置中設置默認布局,可以通過程序命令完成,但通過普通 windows GUI 更簡單,在縱向和橫向之間進行選擇。 你的樣本很窄,所以我選擇了肖像。
在運行測試文件的工作文件夾中的標准控制台命令行中
write /pt Test.txt "Microsoft Print to PDF" "Microsoft Print to PDF" test.pdf
結果應該是可接受的 Ansi2PDF 轉換。
現在您可以在 python shell 中運行可變文件名,或者更簡單地使用文件快捷方式或文件夾使用一行控制台命令
for /f %a in ('dir /b *.txt') do write /pt "%~dpna.txt" "Microsoft Print to PDF" "Microsoft Print to PDF" "%~dpna.pdf"
然而,正如在我的奇怪測試文件上測試的那樣,這並不可靠,有一些失敗,但你得到了 python 中需要的東西。
我個人使用更復雜的批處理文件,請參閱https://github.com/GitHubRulesOK/MyNotes/raw/master/AppNotes/Doc2PDF.cmd
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.