You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量将文件夹中的TXT文档转换为PDF并保留原文件名?

批量将文件夹内所有TXT文件转换为PDF格式

实现思路

用os模块遍历目标文件夹下的所有.txt文件,对每个文件复用你原来的转换逻辑,输出的PDF文件自动沿用原TXT文件名,后缀改为.pdf。

完整代码

from fpdf import FPDF
import os

# 替换成你的目标文件夹路径,注意用原始字符串(加r)或者双反斜杠
TARGET_FOLDER = r"C:\Users\rc06587\Desktop\Text Doc\Sample\New folder (2)"

def txt_to_pdf(txt_path, output_path):
    pdf = FPDF()
    pdf.add_page()
    pdf.set_font("Arial", size=8)
    
    # 打开TXT文件时建议指定编码,避免中文乱码,根据你的文件编码选utf-8或gbk
    with open(txt_path, "r", encoding="utf-8") as f:
        for line in f:
            # 原代码的cell宽度10过窄会截断文字,改成190适配A4页面有效宽度
            pdf.cell(190, 4, txt=line, ln=1, align='L')
    
    pdf.output(output_path)

# 遍历文件夹下所有TXT文件
for filename in os.listdir(TARGET_FOLDER):
    if filename.lower().endswith(".txt"):
        txt_full_path = os.path.join(TARGET_FOLDER, filename)
        # 生成PDF文件名:原文件名直接追加.pdf后缀
        pdf_full_path = os.path.join(TARGET_FOLDER, f"{filename}.pdf")
        txt_to_pdf(txt_full_path, pdf_full_path)
        print(f"已转换:{filename} -> {filename}.pdf")

注意事项

  • 路径设置:把TARGET_FOLDER替换成你的实际文件夹路径,用原始字符串(前面加r)可以避免转义字符报错
  • 编码适配:如果你的TXT文件是中文GBK编码,把encoding="utf-8"改成encoding="gbk"即可解决乱码
  • 自动分页优化:如果TXT内容太长超出单页,原代码不会自动分页,可将pdf.cell替换为pdf.multi_cell,自动处理换行和分页:
    # 替换原cell代码,自动适配长文本分页
    pdf.multi_cell(190, 4, txt=line, align='L')
    

内容的提问来源于stack exchange,提问作者Sai Teja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 10:25:21