Python
pypdf Splitting, Merging, Cropping, and Transforming the Pages of PDF File 파이썬 PDF 파일 분할, 병합, 자르기, 회전(변형)
J-sean
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()
|
코드를 작성하고 실행한다.
※ 참고
반응형