Gli sviluppatori spesso hanno bisogno di suddividere grandi file PDF in sezioni più piccole e gestibili. Con il GroupDocs.Merger Cloud SDK for Node.JS, dividere un PDF in più parti diventa semplice, poiché il servizio cloud si occupa del lavoro pesante mentre tu ti concentri sulla logica della tua applicazione. Questa guida fornisce un esempio completo funzionante, mostra come eseguire la stessa operazione tramite cURL e spiega le opzioni di configurazione che ti consentono di perfezionare l’operazione di divisione.
Dividi PDF in più PDF in Node.JS - Esempio di Codice Completo
Questo esempio dimostra come dividere un PDF in più file PDF utilizzando GroupDocs.Merger Cloud SDK for Node.JS.
const fs = require('fs');
const path = require('path');
const GroupDocsMergerCloud = require('@groupdocs/merger-cloud');
// ---------- Set up API credentials ----------
const client = new GroupDocsMergerCloud.ApiClient();
client.appSid = 'YOUR_APP_SID';
client.appKey = 'YOUR_APP_KEY';
// ---------- Initialize API instances ----------
const mergerApi = new GroupDocsMergerCloud.MergerApi(client);
const storageApi = new GroupDocsMergerCloud.StorageApi(client);
// ---------- Helper to upload a local file to cloud storage ----------
async function uploadFile(localPath, cloudPath) {
const fileData = fs.readFileSync(localPath);
const uploadRequest = new GroupDocsMergerCloud.UploadFileRequest({
path: cloudPath,
file: fileData
});
await storageApi.uploadFile(uploadRequest);
}
// ---------- Helper to download a cloud file to local storage ----------
async function downloadFile(cloudPath, localPath) {
const downloadRequest = new GroupDocsMergerCloud.DownloadFileRequest({ path: cloudPath });
const response = await storageApi.downloadFile(downloadRequest);
fs.writeFileSync(localPath, response);
}
// ---------- Main execution ----------
(async () => {
try {
// 1. Upload source PDF to cloud storage
const localInputPdf = path.resolve(__dirname, 'input.pdf'); // local source PDF
const cloudInputPdf = 'input/input.pdf'; // cloud path
await uploadFile(localInputPdf, cloudInputPdf);
console.log('Uploaded PDF to cloud storage.');
// 2. Configure split options (example: split into two parts: pages 1‑2 and 3‑5)
const splitOptions = new GroupDocsMergerCloud.SplitOptions({
pages: ['1-2', '3-5'] // page ranges to split
});
// 3. Build split request
const splitRequest = new GroupDocsMergerCloud.SplitDocumentRequest({
fileInfo: new GroupDocsMergerCloud.FileInfo({ filePath: cloudInputPdf }),
options: splitOptions
});
// 4. Execute split operation
const splitResult = await mergerApi.splitDocument(splitRequest);
console.log(`Split operation completed. ${splitResult.length} parts generated.`);
// 5. Download each split part and save locally
for (let i = 0; i < splitResult.length; i++) {
const partInfo = splitResult[i];
const localOutputPath = path.resolve(__dirname, `output_part_${i + 1}.pdf`);
await downloadFile(partInfo.path, localOutputPath);
console.log(`Saved split part ${i + 1} to ${localOutputPath}`);
}
// 6. (Optional) Clean up cloud storage – delete uploaded source file
const deleteRequest = new GroupDocsMergerCloud.DeleteFileRequest({ path: cloudInputPdf });
await storageApi.deleteFile(deleteRequest);
console.log('Cleaned up source file from cloud storage.');
} catch (error) {
console.error('Error during PDF split process:', error);
}
})();
Nota: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare tutti i percorsi dei file e i valori di configurazione per corrispondere al tuo ambiente reale, verifica che tutte le dipendenze richieste siano installate correttamente e testa accuratamente nel tuo ambiente di sviluppo. Se riscontri problemi, consulta la documentazione ufficiale o contatta il team di supporto per assistenza.
Dividi PDF usando l’API REST con cURL
Se preferisci un approccio REST puro, la stessa operazione di divisione può essere eseguita con comandi cURL. I passaggi seguenti mostrano come ottenere un token di accesso, caricare il PDF di origine, eseguire la divisione e scaricare ogni parte.
# 1. Get an access token (replace YOUR_CLIENT_ID and YOUR_CLIENT_SECRET)
curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
# 2. Upload the source PDF (replace YOUR_ACCESS_TOKEN and adjust paths)
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/pdf" \
--data-binary @./input.pdf
# 3. Execute the split operation (pages 1-2 and 3-5)
curl -X POST "https://api.groupdocs.cloud/v2.0/merger/split" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileInfo": { "filePath": "input.pdf" },
"options": { "pages": ["1-2","3-5"] }
}'
# 4. Download each generated part (example for part 1)
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output_part_1.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o ./output_part_1.pdf
Per un elenco completo di endpoint e parametri, consulta la documentazione ufficiale dell’API.
Come funziona la divisione di PDF in più PDF in Node.JS
Comprendere il flusso ti aiuta ad adattare il codice a scenari più complessi.
- Inizializzare il client API -
new GroupDocsMergerCloud.ApiClient()crea un client che contiene il tuo App SID e App Key.
const client = new GroupDocsMergerCloud.ApiClient();
client.appSid = 'YOUR_APP_SID';
client.appKey = 'YOUR_APP_KEY';
- Carica il file di origine - Il helper
uploadFilelegge il PDF locale e lo invia allo storage cloud usandostorageApi.uploadFile.
await uploadFile(localInputPdf, cloudInputPdf);
- Configura le opzioni di divisione -
new GroupDocsMergerCloud.SplitOptions({ pages: ['1-2', '3-5'] })indica al servizio quali intervalli di pagine estrarre.
const splitOptions = new GroupDocsMergerCloud.SplitOptions({
pages: ['1-2', '3-5']
});
- Invia la richiesta di divisione -
mergerApi.splitDocument(splitRequest)invia la richiesta e restituisce un array con le informazioni su ogni parte generata.
const splitResult = await mergerApi.splitDocument(splitRequest);
- Scarica i risultati - Il ciclo itera su
splitResult, chiamandodownloadFileper ogni parte e salvandola localmente.
for (let i = 0; i < splitResult.length; i++) {
const partInfo = splitResult[i];
await downloadFile(partInfo.path, localOutputPath);
}
Per ulteriori dettagli su ogni classe e metodo, fare riferimento al riferimento API.
Prerequisiti e Configurazione
Prima di iniziare, assicurati di avere quanto segue:
- Node.js 14 o versioni successive installato.
- Un account GroupDocs Cloud con SID e chiave dell’applicazione validi.
- Accesso a Internet per le chiamate API.
Installa l’SDK tramite npm e scarica il pacchetto più recente:
npm install groupdocs-merger-cloud
Puoi anche scaricare i binari direttamente dalla pagina di download.
Regolazione fine delle opzioni di divisione
L’oggetto SplitOptions offre diverse proprietà che è possibile regolare:
- pages - Un array di intervalli di pagine (ad es.,
['1-2','3-5']). Questa è l’impostazione principale usata nell’esempio. - outputPath - Cartella opzionale dove i file divisi saranno archiviati nello storage cloud.
- preserveMetadata - Quando impostato su
true, i metadati originali del documento vengono copiati in ogni parte. Vedi il riferimento API per ulteriori opzioni.
Regolare questi valori consente di controllare la dimensione, la denominazione e i metadati di ciascun PDF risultante.
Conclusione
Dividere un PDF in più PDF in Node.JS diventa semplice con il GroupDocs.Merger Cloud SDK for Node.JS. L’SDK gestisce il caricamento dei file, la selezione dell’intervallo di pagine e il recupero del risultato, permettendoti di concentrarti sull’integrazione dell’output nel tuo flusso di lavoro. Ricorda di proteggere il tuo App SID e App Key e considera l’uso di una licenza commerciale per le distribuzioni in produzione. I dettagli sui prezzi sono disponibili nella pagina del prodotto, e puoi ottenere una licenza temporanea dalla pagina di licenza temporanea. Con il codice, gli esempi cURL e i consigli di configurazione in questa guida, sei pronto a implementare una divisione PDF robusta nelle tue applicazioni Node.JS.
FAQ
Come dividere un PDF in più PDF in Node.JS usando intervalli di pagine personalizzati?
Usa la proprietàpagesdiSplitOptionsper definire qualsiasi intervallo tu desideri, ad esempio['1-3','4-6']. L’SDK genererà un PDF separato per ogni intervallo.Posso dividere un PDF senza memorizzarlo permanentemente nello storage cloud?
Sì. Dopo aver caricato il file di origine e completato la divisione, è possibile eliminare il file originale constorageApi.deleteFilecome mostrato nell’esempio.Ho bisogno di una licenza a pagamento per utilizzare la funzione split in produzione?
È necessaria una licenza commerciale per l’uso in produzione. Visita la pagina del prodotto per i prezzi e ottieni una licenza temporanea dalla pagina della licenza temporanea per la valutazione.
