Unire più file PDF da una cartella in Make: iteratore, aggregatore di array e PDF4me passo dopo passo

Hai più file PDF in una cartella Dropbox e vuoi unirli automaticamente in un unico PDF. Il problema è: PDF4me: Unisci più file PDF si aspetta un vettore dei dati dei file, ma Dropbox Guarda i file restituisce un elenco di metadati del file e Scarica un file restituisce un file alla volta. Per colmare questo divario, è necessario Iteratore E Aggregatore di arrayL'Iteratore elabora ciascun file singolarmente e l'Aggregatore di array raccoglie i risultati nell'array previsto da Merge.
Questa guida illustra l'intero scenario Make, con particolare attenzione a Come funzionano l'Iteratore e l'Aggregatore di array e come collegarli al connettore PDF4me Make.
Di cosa hai bisogno
- UN Fare account, Crea un account Make gratuito se non ne hai uno.
- Integrazione con PDF4me: Aggiungere PDF4me su Make e connettersi con il tuo Chiave API. Vedere Collega PDF4me per creare se necessario.
- Dropbox: Collega Dropbox a Make. Utilizziamo una cartella sorgente (ad esempio
/pdf4metest/Merge/mergetest/) e una cartella di output (ad esempio/pdf4meoutput/).
Il flusso in sintesi
Lo scenario è 6 moduli in quest'ordine:
- Dropbox: Monitora i file: Monitora una cartella per file nuovi o aggiornati. Emette un output vettore dei metadati dei file (percorsi, nomi, dimensioni).
- Dropbox: Scarica un file: Scarica ogni file. Esegue all'interno del percorso Iteratore, una volta per file.
- Iteratore: Prende l'array da Watch Files e lo elabora ogni elemento uno per unoTutto è collegato dopo l'esecuzione, una volta per file.
- Aggregatore di array: Raccoglie l'output di ogni ciclo dell'Iteratore (i dati del file scaricato) e lo raggruppa in un singolo array Formattato per l'unione di PDF4me.
- PDF4me: Unisci più file PDFRiceve l'array aggregato, unisce tutti i PDF in un unico file e genera il file unito.
- Dropbox: Carica un file: Salva il PDF unito nella cartella di output.

Comprensione di Iteratori e Aggregatori di Array
Prima di configurare, è utile capire Perché Sono necessari questi due moduli.
Perché un iteratore?
Dropbox, Monitora i file restituisce un vettore di oggetti file (ciascuno con percorso, nome, dimensione, ecc.). PDF4me, Unisci più file PDF ha bisogno di un matrice di contenuto del file (dati binari), non metadati. Per ottenere il contenuto, devi scaricare ogni file. Ma Scarica un file lavora su un file per esecuzione: necessita di un percorso unico.
IL Iteratore risolve questo: prende l'array da Watch Files e lo divide in singoli elementiPer ogni elemento, esegue i moduli nel suo percorso una volta. COSÌ:
- Output di Watch Files:
[file1, file2, file3] - L'iteratore esegue il percorso 3 volte: una volta per il file1, una volta per il file2, una volta per il file3
- Scarica un file esegue 3 volte, ogni volta utilizzando il percorso del file corrente dall'Iteratore
Perché utilizzare un aggregatore di array?
Dopo l'esecuzione dell'Iteratore, hai esecuzioni multiple separate di Scarica un file, un output per file. PDF4me Merge prevede un array Contiene tutti i dati del file. Il Aggregatore di array fa l'inverso dell'Iteratore: raccoglie l'output di ogni ciclo dell'Iteratore e combina in un singolo array, strutturato in modo che il modulo Merge possa utilizzarlo.
- L'iteratore produce: ciclo 1 → dati del file1, ciclo 2 → dati del file2, ciclo 3 → dati del file3
- Array Aggregator raccoglie:
[file1 data, file2 data, file3 data] - Merge riceve quell'array e produce un PDF unito
Passaggio 1: Dropbox: Monitora i file (Attivatore)
Questo modulo monitora una cartella e genera un array di metadati dei file. Quando vengono visualizzati file nuovi o aggiornati, viene attivato lo scenario.
Flusso finora: Guarda i file.
- Aggiungere Dropbox → Guarda i file (O Elenco dei file (se preferite i sondaggi).
- Connessione *Seleziona la tua connessione Dropbox.
- Metodo di ricerca delle cartelle: Scegliere Seleziona dall'elenco (o il metodo che preferisci).
- Percorso cartella: Inserire la cartella contenente i PDF da unire (ad esempio
/pdf4metest/Merge/mergetest/). - Controlla anche le sottocartelle: Impostato NO se desideri solo i file in quella cartella; SÌ per includere le sottocartelle.
- Limite *: Imposta il numero massimo di file per esecuzione (ad esempio 10Il modulo può gestire fino a 4.000 elementi.

Produzione: Un array di oggetti file. Ogni elemento ha Visualizzazione del percorso, Nome del file, Dimensione del filee campi simili. L'iteratore utilizzerà questo array in seguito.
Passaggio 2: Dropbox: Scarica un file (all'interno del percorso dell'iteratore)
Aggiungi questo modulo Dopo l'Iterator (si troverà all'interno del percorso dell'Iterator). Scarica un file per ogni ciclo dell'Iterator utilizzando il percorso dell'elemento corrente.
Flusso finora: Visualizza file → Iteratore → Scarica un file.
- Aggiungere Dropbox → Scarica un file e collegarlo all'Iteratore.
- Connessione *Seleziona la tua connessione Dropbox.
- Modalità di selezione dei file *: Scegliere Mappa un percorso di file quindi puoi usare il percorso dall'Iteratore.
- Percorso file *: Mappa 2. Visualizzazione del percorso (oppure il campo percorso da Watch Files). Questo garantisce che ogni iterazione scarichi il file corretto.

Uscita per ciclo: Dati (contenuto del file), Nome del file, Dimensione del fileL'aggregatore di array raccoglierà questo Dati per ogni ciclo.
Fase 3: Iteratore (Controllo del flusso)
L'iteratore prende l'array da Watch Files ed esegue il percorso sottostante una volta per ogni elemento.
Flusso finora: Monitora i file → Iteratore → [Il download di un file viene eseguito per ogni elemento].
- Aggiungere Controllo del flusso → Iteratore e collegarlo a Watch Files.
- Vettore: Abilitare Mappa e selezionare l'array da Watch Files. È possibile mappare campi come 5. Nome del file E 5. Dimensione del file (o l'equivalente dal modulo Watch Files) in modo che l'Iterator sappia su cosa iterare. L'Iterator espone i campi dell'elemento corrente (ad esempio, visualizzazione del percorso, nome del file) ai moduli nel suo percorso.

Comportamento: Se Watch Files restituisce 5 file, l'Iteratore esegue il suo percorso 5 volte. Ad ogni esecuzione, Download a File riceve il percorso del file di quel ciclo e lo scarica.
Passaggio 4: Aggregatore di array (controllo di flusso)
L'aggregatore di array raccoglie l'output di ogni ciclo dell'iteratore e crea un singolo array per il modulo di unione.
Flusso finora: Visualizza file → Iteratore → Scarica un file → Aggregatore di array.
- Aggiungere Controllo del flusso → aggregatore di array e collegalo dopo il percorso dell'Iteratore (aggrega su tutti i cicli).
- Modulo sorgente *: Seleziona Dropbox - Monitora i file [2] (o il modulo File di monitoraggio). Questo definisce a quale esecuzione dello scenario appartiene l'aggregatore.
- Struttura bersaglio: Seleziona PDF4me - Unisci più PDF [4...] (o il tuo modulo Merge). Questo struttura i dati aggregati in modo che Merge possa utilizzarli.
- File → File: Seleziona Dropbox - Scarica un file quindi l'aggregatore raccoglie il contenuto del file (Dati) da ogni download, non solo dai metadati.

Produzione: Un singolo array (ad esempio 3. Array[]) contenente tutti i dati PDF scaricati, nel formato previsto da PDF4me Merge.
Passaggio 5: PDF4me: Unire più PDF
Questo modulo riceve l'array aggregato e unisce tutti i PDF in un unico file.
Flusso finora: … → Aggregatore di array → Unisci più PDF.
- Aggiungere PDF4me → Unire più file PDF (sotto Unisci e dividi) e collegalo all'aggregatore di array.
- Connessione *Seleziona la tua connessione PDF4me.
- File: Abilitare Mappa e selezionare 3. Array[] (l'output dell'Aggregatore di array). Questo passa i dati del file raccolti all'azione di unione.
- Nome del file di output: Inserire il nome per il PDF unito (ad esempio
merged_document.pdf). - Salta i PDF protetti: Scegliere SÌ per saltare i PDF protetti da password, NO per provare a includerli.
![PDF4me Unisci più PDF: file mappati a 3. Array[], nome del file di output, salta i PDF protetti](/assets/images/blog/merge-files-make/merge-files-make-5-merge-pdfs.png)
Produzione: Nome E Data del documento (il buffer PDF unito). Passa Data del documento al modulo di caricamento.
Passaggio 6: Dropbox: carica un file
Salva il PDF unito nella cartella di output.
Flusso finora: … → Unisci più PDF → Carica un file.
- Aggiungere Dropbox → Carica un file e collegarlo al modulo Merge.
- Connessione *Seleziona la tua connessione Dropbox.
- Cartella *: Inserire il percorso di destinazione (ad esempio
/pdf4meoutput). - File *: Seleziona PDF4me - Unisci più file PDF quindi il contenuto del file proviene dall'output dell'unione.

Riepilogo: Iteratore e aggregatore in questo flusso
| Modulo | Ruolo |
|---|---|
| Iteratore | Suddivide l'array Watch Files in singoli elementi. Esegue Download a File una sola volta per ogni file. |
| Aggregatore di array | Raccoglie ogni output di "Scarica un file" e lo raggruppa in un unico array per l'unione. |
| Risultato | Merge riceve [file1_data, file2_data, …] e produce un unico file PDF unito. |
Senza l'Iterator, non sarebbe possibile scaricare ciascun file separatamente. Senza l'Array Aggregator, Merge non riceverebbe l'array combinato di cui ha bisogno. Insieme, trasformano "molti elementi di metadati dei file" in "un unico array di contenuto del file" per PDF4me.
Prossimi passi
- Esegui lo scenarioAggiungi alcuni file PDF alla cartella File di monitoraggio ed esegui lo scenario. Il file unito dovrebbe apparire nella cartella di output.
- Ordine di fusioneI file vengono uniti nell'ordine in cui appaiono nell'array (in genere l'ordine restituito da Watch Files).
- Documenti: Per i parametri e i dettagli dell'output, vedere Unisci più PDF: crea.