Ciao a tutti,
chiedo un supporto per una parte mancante di uno script fatto in Python utilizzando il modulo PyPDF2 molto comodo.

Ho provato a fare la stessa cosa in PHP, ma molto più difficile e non ne sono venuto a campo.

Spiego la necessità: il mio ufficio personale riceve dalla società che ci fa le buste paga un file unico in PDF con tutti i cedolini dei dipententi.
L'impiegata ad oggi non fa altro che stampare tutto il malloppone del PDF e suddivide i fogli per consegnarli a mano ad ogni interessato.

Trovo che per un'azienda sia oneroso e non pratico un lavoro del genere, per cui ho pensato di splittare tutte le pagine del PDF ( e fin qui ci sono riuscito) ma devo leggere almeno il nome nell'intestazione di ogni pagina creata.

Se riesco ad identificare almeno il nome mi permetterebbe di creare un secondo step in cui sposto i file nelle cartelle di rete di ogni utente ed ho il prodotto finito.

Addirittura potrei creare delle mail e mandarle in automatico.

La prima parte molto semplice in PYTHON è:

codice:
# pdf_splitting.py

from PyPDF2 import PdfFileReader, PdfFileWriter


def split(path, name_of_split):
    pdf = PdfFileReader(path)
    for page in range(pdf.getNumPages()):
        pdf_writer = PdfFileWriter()
        pdf_writer.addPage(pdf.getPage(page))


        output = f'{name_of_split}{page}.pdf'
        with open(output, 'wb') as output_pdf:
            pdf_writer.write(output_pdf)


if __name__ == '__main__':
    path = 'prova.pdf'
    split(path, 'jupyter_page')
Ho anche il codice per fare la lettura del contenuto:

codice:
from PyPDF2 import PdfFileReader

def estraiTesto(path, pagina):
    with open(path, 'rb') as file:
        pdf = PdfFileReader(file)
        page = pdf.getPage(pagina)
        testo = page.extractText()


        print(page)
        print(testo)

filePdf = '/var/www/html/PDF/Giugno2019.pdf'
getInfos(filePdf)
estraiTesto(filePdf, 1)
estraiTesto(filePdf, 2)
Essendo dei moduli fissi avrei modo di capire in quale posizione sia il nome del dipendente, ma non ho idea di come recepirlo.

Qualche spunto?

Grazie.