[英]Convert all Text Documents from a folder to PDF
我的文件夾中有幾個文本文檔,想將它們轉換為 PDF 格式。 我可以使用以下代碼單獨完成。 有什么方法可以將文件夾中的所有文本文件 select 轉換並使用原始名稱保存(就像文本文檔一樣)? 下面是我用來轉換每個文件的代碼:
from fpdf import FPDF
pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size = 8)
f = open("C:\\Users\\rc06587\\Desktop\\Text Doc\\Sample\\New folder (2)\\exp_000004593_cn23rk__09042020000000_citrixsystemsinc_92080217mr_00384.TXT", "r")
for x in f:
pdf.cell(10, 4, txt = x, ln = 1, align = 'L')
pdf.output("exp_000004593_cn23rk__09042020000000_citrixsystemsinc_92080217mr_00384.TXT.pdf")
使用os.listdir()
獲取所需目錄中的文件,過濾文本文件,然后進行轉換。
from fpdf import FPDF
def convert_one_file(path):
pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size = 8)
f = open(path, "r")
for x in f:
pdf.cell(10, 4, txt = x, ln = 1, align = 'L')
pdf.output(path + ".PDF")
path = "..."
for f in os.listdir(path):
if os.path.isfile(os.sep.join((path, f))) and f.endswith(".txt"):
convert_one_file(os.sep.join((path, f)))
一個更優雅的解決方案可能是使用pathlib
來加入路徑。
在 windows 你不需要 python 或 fpdf 只需使用命令行
設置任何想要在文件列表中旋轉的命令行並將它們寫入 pdf 適應任何 cmd 以適應。 如果文本是純文本,它將成為可搜索的文本。pdf
全部TXT2PDF.cmd
FORFILES /M *.txt /C "cmd /c if @isdir==FALSE write.exe /pt @file \"Microsoft Print to PDF\" \"Microsoft Print to PDF\" \"@file.pdf\""
然而,作為純文本,它將保留默認大小的 courier 字體,因此對於 Arial 8 磅,您需要另存為富文本格式,如果您想要設置內容樣式以居中對齊顏色混合 fonts 等,這很容易。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.