In riferimento a questa discussione https://www.forumexcel.it/forum/threads/estrarre-dati-da-pdf.72275/ propongo un metodo semplice con Python che è più ricco di librerie rispetto a Excel
Allego programmino in .Exe che fa quello richiesto da V @Vincent2023
Funziona cosi:si mettono tutti i files PDF in una cartella poi si avvia il programmino "PDF_To_ Excel" e con la finestra di dialgolo si seleziona la cartella.
CI si ritroverà con un file excel dentro la cartella in cui c'è per ciascun file PDF nella riga superiore il nome del file e in quella inferiore i dati estratti
Python:
import os
import tkinter as tk
from tkinter import filedialog
import fitz
import openpyxl
from tkinter import messagebox
#pip install PyMuPDF
#pip install openpyxl
def apri_cartella():
root = tk.Tk()
root.withdraw()
cartella = filedialog.askdirectory()
return cartella
def leggi_pdf(pdf_path):
testo_pdf_per_riga = []
pdf_document = fitz.open(pdf_path)
for pagina in pdf_document:
testo_pagina = pagina.get_text("text")
righe_pagina = testo_pagina.split('\n')
testo_pdf_per_riga.extend(righe_pagina)
pdf_document.close()
return testo_pdf_per_riga
def scrivi_excel(testo_totale_per_file, excel_path):
workbook = openpyxl.Workbook()
sheet = workbook.active
for nome_file, testo_per_riga in testo_totale_per_file:
sheet.append([nome_file])
sheet.append(testo_per_riga[73:79])
#print(testo_per_riga[73:79])
workbook.save(excel_path)
def main():
cartella = apri_cartella()
if cartella:
testo_totale_per_file = []
for nome_file in os.listdir(cartella):
if nome_file.endswith(".pdf"):
pdf_path = os.path.join(cartella, nome_file)
testo_per_riga = leggi_pdf(pdf_path)
testo_totale_per_file.append((nome_file, testo_per_riga))
excel_path = os.path.join(cartella, 'Dati estratti.xlsx')
scrivi_excel(testo_totale_per_file, excel_path)
#print(f"Testo estratto da tutti i PDF salvato in '{excel_path}'")
messagebox.showinfo("NOTIFICA", "Dati esportati da PDF in Exce!")
button = tk.Button(text="Mostra Messaggio")
button.pack(pady=20)
if __name__ == "__main__":
main()
Allego programmino in .Exe che fa quello richiesto da V @Vincent2023
Funziona cosi:si mettono tutti i files PDF in una cartella poi si avvia il programmino "PDF_To_ Excel" e con la finestra di dialgolo si seleziona la cartella.
CI si ritroverà con un file excel dentro la cartella in cui c'è per ciascun file PDF nella riga superiore il nome del file e in quella inferiore i dati estratti

Ultima modifica: