linux一个文件夹txtfiles有200个txt文档,需要转化为pdf格式,保持文件名不变,保持文件内容不变,比如原来名为abwdf2e.txt文件转化为abwdf2e.pdf,其中的内容不变,请书写脚本来实现上述需求
时间: 2024-05-19 17:16:06 浏览: 12
#!/bin/bash
cd txtfiles
for file in *.txt
do
base=$(basename "$file" .txt)
echo "Converting ${base}.txt to ${base}.pdf"
pandoc "$file" -o "${base}.pdf"
done
echo "Conversion complete."
相关问题
有200个txt文档,需要转化为pdf格式,保持文件名不变,保持文件内容不变,比如原来名为abwdf2e.txt文件转化为abwdf2e.pdf,其中的内容不变,请书写脚本来实现上述需求。
以下是一个Python脚本,实现将200个txt文档转化为pdf格式的功能:
```python
import os
from fpdf import FPDF
# 读取文件名
files = os.listdir('.')
txt_files = [f for f in files if f.endswith('.txt')]
# 转化为pdf格式
for txt_file in txt_files:
# 获取文件名(不包括后缀)
file_name = os.path.splitext(txt_file)[0]
pdf_file = file_name + '.pdf'
# 读取txt文件内容
with open(txt_file, 'r') as f:
text = f.read()
# 创建pdf文件
pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size=12)
pdf.multi_cell(0, 5, text)
pdf.output(pdf_file)
print(f'{txt_file} 转化为 {pdf_file}')
```
在上述脚本中,我们首先使用`os`模块获取当前目录中所有的txt文件。然后,对于每个txt文件,我们使用`os.path.splitext()`函数获取文件名(不包括后缀),并添加.pdf后缀,以便创建一个新的pdf文件。
接下来,我们使用`with open()`语句读取txt文件的内容,并使用`fpdf`库创建一个新的pdf文件。我们使用`pdf.add_page()`方法添加一页,并使用`pdf.set_font()`方法设置字体和字号。使用`pdf.multi_cell()`方法将文本添加到pdf文件中。最后,使用`pdf.output()`方法保存pdf文件。
最后,我们将转化过程打印到控制台中。
假设你现在淘宝开了一个名为”批批办公“的店铺,专门为客户提供批量自动化办公服务,某日你接发送 到一个订单,客户有200个txt文档,需要转化为pdf格式,保持文件名不变,保持文件内容不变,比如原来名为abwdf2e.txt文件转化为abwdf2e.pdf,其中的内容不变,请书写脚本来实现上述需求。txt素材文件见文件夹txtfiles.
非常感谢您的提问,以下是实现批量txt文件转换为pdf文件的Python脚本:
```python
import os
from fpdf import FPDF
# 获取当前工作目录
current_dir = os.getcwd()
# 定义一个PDF文件生成类
class PDF(FPDF):
pass
# 创建PDF实例
pdf = PDF()
# 遍历txt文件夹中的所有txt文件
for file in os.listdir(os.path.join(current_dir, "txtfiles")):
if file.endswith(".txt"):
# 获取文件名(不含扩展名)
filename = os.path.splitext(file)[0]
# 读取txt文件中的内容
with open(os.path.join(current_dir, "txtfiles", file), "r") as f:
content = f.read()
# 设置PDF文件名
pdf_file = f"{filename}.pdf"
# 设置PDF文件路径
pdf_path = os.path.join(current_dir, "pdffiles", pdf_file)
# 将txt内容写入PDF文件中
pdf.add_page()
pdf.set_font("Arial", size=12)
pdf.cell(200, 10, txt=content, ln=1)
pdf.output(pdf_path)
print("转换完成!")
```
请将上述代码保存为`convert.py`文件,并将`txtfiles`文件夹中的200个txt文件放在与`convert.py`同级的目录下。执行脚本后,将在当前目录下的`pdffiles`文件夹中生成200个对应的pdf文件。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![cmd](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)