由于最近找工作, 发现很多 PDF 转图片都是收费的, 要么就是打水印的, 那只能利用程序能力解决了!
下面代码使用 Python 将 PDF 文件转为图片
依赖库
- pillow
- pdf2image
requirements.txt
1
2
3
4
5
#
-i https://pypi.douban.com/simple
#
pdf2image
pillow
Demo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from PIL import Image
import sys
from pdf2image import convert_from_path
pages = convert_from_path("./我的PDF文件.pdf")
images = []
for index, page in enumerate(pages):
page.save(f"{index}.png", "png")
images.append(Image.open(f"{index}.png"))
widths, heights = zip(*(i.size for i in images))
total_height = sum(heights)
max_width = max(widths)
new_im = Image.new('RGB', (max_width, total_height))
y_offset = 0
for image in images:
new_im.paste(image, (0, y_offset))
y_offset += image.size[1] + 20 # 间隔 20 像素, 若不需要删除即可
new_im.save('我的PNG文件.png')
这里的 demo 是垂直拼接图片, 水平也很简单, 上面代码简单改改即可.
容器
使用容器开发, 用后即毁
1
2
# 如果更新不成功, 切换国内源
sudo apt update && sudo apt install poppler-utils -y