1
1
from sys import argv
2
- from PyPDF2 import PdfFileReader , PdfFileWriter , PdfWriter
2
+ from PyPDF2 import PdfMerger , PdfFileReader
3
3
from pip import main
4
4
import sys
5
5
6
- def get_pages (input_pdf : PdfFileReader ):
7
- return input_pdf .getNumPages ()
8
6
7
+ def add_pages (input_pdf_path : str , template_pdf_path : str ):
8
+ input_pdf = open (input_pdf_path , "rb" )
9
+ page_count : int = PdfFileReader (input_pdf_path ).getNumPages ()
10
+ template = open (template_pdf_path , "rb" )
11
+ merger = PdfMerger ()
9
12
10
- def add_pages (input_pdf_path : str , template_pdf_path : str ) -> PdfFileWriter :
11
- writer = PdfFileWriter ()
12
- input_reader = PdfFileReader (input_pdf_path )
13
- template_reader = PdfFileReader (template_pdf_path )
13
+ print ("original page count: " + str (page_count ))
14
+ for i in range (0 , page_count ):
15
+ print ("adding templatr page at " + str (2 * i + 1 ))
16
+ merger .append (fileobj = input_pdf , pages = (i , i + 1 ))
17
+ append_index = (2 * i ) + 1
18
+ merger .merge (position = append_index , fileobj = template , pages = (0 , 1 ))
14
19
15
- for i in range ( 0 , get_pages ( input_reader )):
16
- writer . addPage ( input_reader . getPage ( i ) )
17
- writer . addPage ( template_reader . getPage ( 0 ) )
20
+ template . close ()
21
+ input_pdf . close ( )
22
+ write_file ( input_pdf_path , merger )
18
23
19
- return writer
20
-
21
- def write_file (input_pdf_path : str , writer : PdfFileWriter ):
24
+ def write_file (input_pdf_path : str , merger : PdfMerger ):
22
25
with open (input_pdf_path + "merged.pdf" , "wb" ) as out :
23
- writer .write (out )
26
+ merger .write (out )
27
+ merger .close ()
24
28
25
29
def main ():
26
30
@@ -31,7 +35,7 @@ def main():
31
35
exit ()
32
36
input_pdf_path = sys .argv [1 ]
33
37
template_pdf_path = sys .argv [2 ]
34
- write_file ( input_pdf_path , add_pages (input_pdf_path , template_pdf_path ) )
38
+ add_pages (input_pdf_path , template_pdf_path )
35
39
36
40
if __name__ == "__main__" :
37
41
main ()
0 commit comments