Unire e dividere PDFSviluppo e personalizzazione

Uno script Python che unisce file PDF in uno solo o divide grandi PDF in parti per pagine o secondo regole

Di solito pronto in 15 minutiRevisioni incluseControllo di qualità
Pacchetti
Pagamento protettoDettagli
  • Le revisioni previste dal pacchetto sono gratuite.
  • Se non risponde entro 3 giorni dalla consegna, il lavoro viene accettato automaticamente.

Il denaro viene riservato al momento del pagamento e sbloccato solo quando accetta il lavoro.

Uno script Python che unisce file PDF in uno solo o divide grandi PDF in parti per pagine o secondo regole

Esempio di risultato

Esempio per il pacchetto Standard

Unire i file mensili delle vendite di 9 negozi in un unico report Excel

Come si esegue

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Cartella: sales/2026-10, 9 file trovati
2026-11-02 09:14:03 INFO  shop-01.csv: 1.284 righe
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 righe
2026-11-02 09:14:04 WARN  shop-07.csv: saltate 3 righe senza prezzo (righe 88, 412, 913)
2026-11-02 09:14:05 INFO  Fatto: 10.412 righe -> report-2026-10.xlsx (fogli "Vendite" e "Totali")

Impostazioni, non codice

I nomi delle colonne di ogni negozio si trovano in settings.ini, quindi un nuovo negozio o una colonna rinominata è una riga lì:

[columns]
date = Data, Data vendita, Giorno
product = Prodotto, Articolo, Descrizione
quantity = Q.tà, Quantità, Pz
price = Prezzo, Prezzo unitario

Una parte del codice

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Legge il file di un negozio e gli dà i nomi di colonna del report."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: nessuna colonna per '{name}' (cercate: {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

File: un archivio ZIP con merge_sales.py (310 righe), settings.ini, requirements.txt e un README su come installare Python, eseguire lo script e cosa significa ogni messaggio del registro. Il cliente lo esegue sul proprio computer.

Cliente: una piccola catena di 9 cartolerie; ogni negozio invia le vendite del mese in un file CSV o Excel, con nomi di colonna leggermente diversi. Compito: un unico script che legge tutti i file di una cartella, porta le colonne a una stessa forma e scrive un solo report Excel con tutte le vendite e un foglio di totali per negozio.

Il cliente e tutti i dati sono inventati.

Informazioni sul servizio

Contratti scansionati arrivati come un file per pagina, un estratto conto di 300 pagine da inviare cliente per cliente, una serie di documenti da spedire come un unico PDF: questo script Python fa questi lavori sui PDF in pochi secondi invece di cliccare in un editor. Unisce i file nell'ordine che imposta (per nome, per data o da un elenco), divide un PDF in pagine singole, intervalli fissi o parti che iniziano a ogni segnalibro, e nel Premium può tagliare dove una pagina contiene una parola che indica, come Fattura n. Le pagine mantengono la qualità perché vengono copiate, non ristampate. Ci invii il lavoro da fare e uno o due file di esempio senza nulla di privato. Lo esegue lei sul suo computer. Non modifica il testo e non legge le scansioni.

Cosa è incluso

  • Cosa riceveUn archivio ZIP con lo script Python, un README con le istruzioni passo passo e, dallo Standard, un file di impostazioni con ordine, intervalli e nomi; il codice è visibile anche nella pagina dell'ordine.
  • Unione nel suo ordinePer nome, data o un elenco che fornisce
  • Divisione a modo suoPagine singole, intervalli o segnalibri
  • Nessuna perdita di qualitàLe pagine vengono copiate così come sono
  • Nomi di file chiariNumeri, intervalli di pagine o nomi dal suo elenco
  • Codice leggibileCon commenti, facile cambiare una regola in seguito

Come funziona

  1. 1
    CompitoLei descrive il lavoro e invia uno o due PDF di esempio
  2. 2
    CodiceScriviamo lo script e la guida per eseguirlo
  3. 3
    Lo proviLo esegue su copie dei suoi file e controlla le pagine
  4. 4
    ModificheChiede modifiche nei limiti del pacchetto e invia eventuali messaggi di errore

Cosa ci serve da lei

Cosa le serve: quali file unire e in che ordine, oppure come dividere (ogni pagina, ogni N pagine, per intervalli, per segnalibri o per una parola sulla pagina), e come chiamare i risultati. Uno o due PDF di esempio senza nulla di privato, oppure con la stessa impaginazione e contenuto inventato; se la divisione dipende da una parola, una pagina che la mostri. Circa quanti file e pagine, e il suo sistema: Windows, macOS o Linux.

Le chiederemo:

  • Unire, dividere o una cosa dopo l'altra?
  • Come si capisce dove inizia ogni parte?
  • Come devono chiamarsi i file?
  • Dove verrà eseguito?

Confronto dei pacchetti

PacchettiBaseUnire o dividere15 €StandardPDF con impostazioni30 €PremiumStrumento PDF60 €
Tempi di consegna1 giorno2 giorni3 giorni
Revisioni123
Codicefino a 150 righefino a 400 righefino a 1.000 righe
File di codice1fino a 3fino a 8
File di impostazioniNoSìSì
Messaggi di errore chiari e un logNoSìSì
Opzioni di avvio e una guida per eseguirlo a orari programmatiNoNoSì
Guida all'installazione e all'avvio (README)SìSìSì
LinguaggioPythonPythonPython
Ordina BaseOrdina StandardOrdina Premium

Pagamento protetto

Paga al momento dell'ordine, ma il denaro viene sbloccato solo per un lavoro accettato.

  • Prezzo fissoIl prezzo del pacchetto non cambia dopo il pagamento.
  • Il denaro viene riservatoAl pagamento, l'importo viene solo riservato. Passa a Dleex quando accetta il lavoro.
  • Verificato prima della consegnaOgni risultato passa un controllo di qualità prima di arrivare a lei, e lo vede nella pagina dell'ordine prima di accettarlo.
  • Revisioni gratuiteRichieda revisioni nell'ambito del suo brief tante volte quante ne prevede il pacchetto.
  • Accettazione dopo 3 giorniSe entro 3 giorni dalla consegna non accetta il lavoro né richiede una revisione, il lavoro viene accettato automaticamente. Se scrive nella chat dell'ordine dopo la consegna, l'ordine resta in attesa; dopo la nostra risposta potremmo far ripartire i 3 giorni e glielo indicheremo nella chat.
  • Rifacimento o rimborso totaleSe il risultato non corrisponde al suo brief e le revisioni non hanno risolto il problema, oppure il lavoro richiede più del doppio dei tempi di consegna previsti, scriva nella chat dell'ordine: rifaremo il lavoro o le rimborseremo l'intero pagamento.
Come funziona →

Domande e risposte

Può dividere PDF scansionati in base a una parola?

No: una scansione è un'immagine della pagina, senza testo da cercare. Dividere le scansioni per numeri di pagina o intervalli funziona bene. Dividere per parola richiede un PDF con testo vero, come uno salvato da un programma.

E i PDF protetti da password?

Se conosce la password, il README spiega come fornirla allo script quando lo avvia; non viene mai scritta nel codice. I file di cui non ha la password vengono saltati ed elencati nel log.

Può anche comprimere i PDF?

Una leggera compressione della struttura del file, sì. Rendere le scansioni molto più piccole significa ricomprimere le immagini interne, il che ne cambia la qualità; lo chieda nel brief e le diremo se rientra nel pacchetto.

Elaborerete voi i miei documenti?

No. Lo script lo esegue lei sul suo computer, quindi contratti ed estratti conto non lo lasciano mai. Ci invii solo esempi senza nulla di privato.

Non hai trovato la risposta?

Pacchetti