Rabu, 30 Oktober 2019

Split – Merge PDF file in python


Kadangkala ada kegiatan sehari-hari penanganan dokumen dikantor menggunakan file berbasis format pdf seperti split dan merge pdf. Biasanya penulis menggunakan layanan online seperti berikut
https://combinepdf.com/id/  dan https://www.ilovepdf.com/split_pdf

Tapi sekarang sudah tidak lagi, karena telah tersedianya library untuk hal diatas yaitu PyPDF2, kamu bisa install via pip (silahkan baca saja buku yang telah dibuat oleh penulis). Berikut saya buatkan 2 buah kode yang digunakan untuk split dan merge file pdf.




import os
from PyPDF2 import PdfFileReader, PdfFileWriter
 
 
def pdf_splitter(path):
    fname = os.path.splitext(os.path.basename(path))[0] #dapatkan nama file nya saja
 
    pdf = PdfFileReader(path) #baca file pdf nya
    for page in range(pdf.getNumPages()): #jumlah halaman
        pdf_writer = PdfFileWriter()
        pdf_writer.addPage(pdf.getPage(page))
 
        output_filename = '{}_page_{}.pdf'.format(fname, page+1) #generate nama file pdf
 
        with open(output_filename, 'wb') as out:
            pdf_writer.write(out)
 
        print('Created: {}'.format(output_filename))
 
if __name__ == '__main__':
    path = 'D:/F.135.14C00.28102019 Usulan Besaran Tarif Distribusi Retail Komoditas Komersial.pdf'
    pdf_splitter(path)


import glob
from PyPDF2 import PdfFileMerger
 
def merger(output_path, input_paths):
    pdf_merger = PdfFileMerger() 
    for path in input_paths:
        pdf_merger.append(path)
 
    with open(output_path, 'wb') as fileobj:
        pdf_merger.write(fileobj)
 
if __name__ == '__main__':
    paths = glob.glob('D:/pdf/*.pdf') #lokasi folder nya
    paths.sort()
    merger('pdf_merger2.pdf', paths) #nama file yang telah di merged


Penulis telah menggunakannya untuk kegiatan sehari-hari, sangat membantu sekali lho, silahkan kamu coba saja, silahkan untuk dibuat dalam bentuk versi GUI Tkinter bila perlu, seperti pada contoh dibawah ini agar user friendly




Tidak ada komentar: