pypdf Splitting, Merging, Cropping, and Transforming the Pages of PDF File 파이썬 PDF 파일 분할, 병합, 자르기, 회전(변형)
Python 2024. 1. 6. 13:44 |반응형
Python pypdf를 이용해 PDF 파일을 조작해 보자.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
import os
from tkinter import filedialog
from pypdf import PdfWriter, PdfReader
filename = filedialog.askopenfilename(
filetypes = (("PDF 파일", "*.pdf"), ("모든 파일", "*.*")),
initialdir = os.getcwd())
reader = PdfReader(filename)
writer = PdfWriter()
newname = filename[0:-4]
ext = ".pdf"
try:
for index in range(len(reader.pages)):
writer.add_page(reader.pages[index])
with open(newname+str(index+1)+ext, "wb") as pf:
writer.write(pf)
writer = PdfWriter() # writer 초기화.
print(filename + " ===> " + newname+str(index+1)+ext)
except:
print("Error")
|
여러장의 PDF 파일을 각각 한 페이지로 분리하는 코드를 작성한다.
이번엔 여러개의 PDF 파일들을 하나로 합쳐보자.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import os
from tkinter import filedialog
from pypdf import PdfWriter
filenames = filedialog.askopenfilenames(
filetypes = (("PDF 파일", "*.pdf"), ("모든 파일", "*.*")),
initialdir = os.getcwd())
merger = PdfWriter()
newname = filenames[0][0:-4]
ext = "_merged.pdf"
try:
for pdf in filenames:
merger.append(pdf)
merger.write(newname+ext)
except:
print("Error")
finally:
print(filenames[0] + " ~ " + filenames[-1] + " merged.")
merger.close()
|
코드를 작성하고 실행한다.
※ 참고
반응형
'Python' 카테고리의 다른 글
[Pygame] Pygame GUI 파이게임 그래픽 유저 인터페이스 (0) | 2024.01.29 |
---|---|
[Pygame] Box2D 파이게임 물리 라이브러리 (0) | 2024.01.28 |
Pillow PDF Converter PDF 변환기 (2) | 2024.01.06 |
Python C/C++ Library Wrapper 파이썬 C/C++ 라이브러리 연동 (1) | 2023.12.17 |
Python SoundDevice 파이썬 사운드 디바이스 (0) | 2023.12.12 |