1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
# -*- coding: utf-8 -*-
import os
import pickle
import pdfplumber
from PyPDF2 import PdfFileWriter, PdfFileReader
from losfonctiones import *
path_pdf = "Test.pdf"
pdf = pdfplumber.open(path_pdf)
two_pages = []
matri = []
salaire = []
print(pdf.pages[0].width)
print(pdf.pages[0].height)
# On cherche si un nombre est affiché en bas de la page
for page in pdf.pages :
paid_crop = page.within_bbox((300, 400, page.width, page.height))
paid_chars = paid_crop.extract_text() # Trouve le texte du salaire à payer
print(paid_chars)
print(len(paid_chars))
print(type(paid_chars))
if len(paid_chars) == 1 : # S'il n'y a pas de salaire sur la page
two_pages.append(page) # Rajoute le numéro de la page dans la liste "two_pages"
else:
paid = paid_chars.strip() # Supprime les espaces avant et après
print(two_pages)
# Création de la liste des dernières pages
lstpages = list(pdf.pages)
lastPages = last_page(lstpages,two_pages)
# Création de la liste des premières pages
frstpages = list(pdf.pages)
firstPages = first_page(frstpages,two_pages)
print(lastPages)
print(firstPages)
for page in firstPages :
mat_crop = page.within_bbox((0, 0, 300, 400))
mat_chars = mat_crop.extract_text() # Trouve le texte du matricule
mat_double = mat_chars.strip() # Supprime les espaces avant et après
mat = mat_double[::2] # Supprime une lettre sur deux
mat_int = int(mat)
matri.append(mat_int) # Enregistre le matricule dans la liste matri
for page in lastPages :
paid_crop = page.within_bbox((300, 400, page.width, page.height))
paid_chars = paid_crop.extract_text() # Trouve le texte du salaire à payer
paid = paid_chars.strip()
paid_float = float((paid))
salaire.append(paid_float)
print(matri)
print(salaire)
inputpdf = PdfFileReader(open(path_pdf, "rb"))
try:
for i in firstPages :
if i in two_pages :
output = PdfFileWriter()
output.addPage(inputpdf.getPage(pdf.pages.index(i)))
output.addPage(inputpdf.getPage(pdf.pages.index(i)+1))
with open("document-page%s.pdf" % str(pdf.pages.index(i)), "wb") as outputStream:
output.write(outputStream)
except type_de_l_exception as exception_retournee:
print("Voici l'erreur :", exception_retournee)
os.system("pause") |
Partager