簡體   English   中英

將文本文件打印為 PDF,無需手動保存

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM