Source code for snowdrop.src.utils.merge
# -*- coding: utf-8 -*-
"""
Created on Tue Dec 12 19:30:31 2017
@author: agoumilevski
This module merges PDF files
Usage:
merge -output Output_File -files Comma_Separated_List
"""
import sys,os
import warnings
import argparse
from snowdrop.src.misc.termcolor import cprint
try:
from PyPDF2 import PdfMerger
except:
from PyPDF2 import PdfFileMerger as PdfMerger
path = os.path.dirname(os.path.abspath(__file__))
working_dir = os.path.abspath(path+"\\..\\..")
[docs]
def merge(output_file,pdf_files):
"""Merge several pdf files into one."""
reader = None
try:
merger = PdfMerger()
for pdf in pdf_files:
if not os.path.isfile(pdf):
cprint("File {} does not exist".format(pdf),"red")
reader = open(pdf, 'rb')
merger.append(reader)
with open(output_file, "wb") as fout:
merger.write(fout)
if not reader is None:
reader.close()
del reader
print('Generated report ' + output_file)
except:
msg = "Unable to generate report " + output_file + ' Error: ' + str(sys.exc_info()[0])
warnings.warn(msg)
[docs]
def main(argv):
"""This is a main function."""
parser = argparse.ArgumentParser(description='Merges PDF files')
parser.add_argument('-files', help="pdf files")
parser.add_argument('-output', help="output pdf")
args = parser.parse_args()
pdf_files = args.files.split(',')
output_file = args.output
merge(output_file,pdf_files)
if __name__ == "__main__":
main(sys.argv[1:])