Les développeurs ont souvent besoin de découper de gros fichiers PDF en sections plus petites et plus faciles à gérer. Avec le GroupDocs.Merger Cloud SDK for Node.JS, diviser un PDF en plusieurs parties devient simple, car le service cloud se charge du travail lourd pendant que vous vous concentrez sur la logique de votre application. Ce guide fournit un exemple complet fonctionnel, montre comment effectuer la même tâche via cURL, et explique les options de configuration qui vous permettent d’ajuster finement l’opération de division.

Diviser un PDF en plusieurs PDF dans Node.JS - Exemple de code complet

Cet exemple montre comment diviser un PDF en plusieurs fichiers PDF en utilisant 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);
    }
})();

Remarque: Cet exemple de code démontre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez-vous de mettre à jour tous les chemins de fichiers et les valeurs de configuration pour qu’ils correspondent à votre environnement réel, vérifiez que toutes les dépendances requises sont correctement installées et testez soigneusement dans votre environnement de développement. Si vous rencontrez des problèmes, veuillez consulter la documentation officielle ou contacter l’équipe d’assistance pour obtenir de l’aide.

Fractionner un PDF avec l’API REST et cURL

Si vous préférez une approche purement REST, la même opération de fractionnement peut être effectuée avec des commandes cURL. Les étapes ci‑dessous montrent comment obtenir un jeton d’accès, télécharger le PDF source, exécuter le fractionnement et télécharger chaque partie.

# 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

Pour une liste complète des points de terminaison et des paramètres, consultez la documentation officielle de l’API.

Comment le fractionnement de PDF en plusieurs PDF fonctionne en Node.JS

Comprendre le flux vous aide à adapter le code à des scénarios plus complexes.

  1. Initialiser le client API - new GroupDocsMergerCloud.ApiClient() crée un client qui contient votre SID d’application et votre clé d’application.
const client = new GroupDocsMergerCloud.ApiClient();
client.appSid = 'YOUR_APP_SID';
client.appKey = 'YOUR_APP_KEY';
  1. Téléverser le fichier source - L’assistant uploadFile lit le PDF local et l’envoie au stockage cloud en utilisant storageApi.uploadFile.

    await uploadFile(localInputPdf, cloudInputPdf);
    
  2. Configurer les options de division - new GroupDocsMergerCloud.SplitOptions({ pages: ['1-2', '3-5'] }) indique au service quelles plages de pages extraire.

const splitOptions = new GroupDocsMergerCloud.SplitOptions({
    pages: ['1-2', '3-5']
});
  1. Envoyer la requête de division - mergerApi.splitDocument(splitRequest) envoie la requête et renvoie un tableau contenant les informations sur chaque partie générée.
const splitResult = await mergerApi.splitDocument(splitRequest);
  1. Télécharger les résultats - La boucle parcourt splitResult, appelant downloadFile pour chaque partie et l’enregistre localement.
for (let i = 0; i < splitResult.length; i++) {
    const partInfo = splitResult[i];
    await downloadFile(partInfo.path, localOutputPath);
}

Pour plus de détails sur chaque classe et méthode, consultez la référence API.

Prérequis et configuration

Avant de commencer, assurez‑vous d’avoir ce qui suit :

  • Node.js 14 ou version ultérieure installé.
  • Un compte GroupDocs Cloud avec SID d’application et clé d’application valides.
  • Accès à Internet pour les appels d’API.

Installez le SDK via npm et téléchargez le dernier package :

npm install groupdocs-merger-cloud

Vous pouvez également récupérer les binaires directement depuis la page de téléchargement.

Options de réglage fin du fractionnement

L’objet SplitOptions propose plusieurs propriétés que vous pouvez ajuster :

  • pages - Un tableau de plages de pages (par ex., ['1-2','3-5']). C’est le paramètre principal utilisé dans l’exemple.
  • outputPath - Dossier optionnel où les fichiers découpés seront stockés dans le stockage cloud.
  • preserveMetadata - Lorsqu’il est défini sur true, les métadonnées du document original sont copiées dans chaque partie. Voir la référence API pour plus d’options.

Ajuster ces valeurs vous permet de contrôler la taille, le nom et les métadonnées de chaque PDF résultant.

Conclusion

Diviser un PDF en plusieurs PDF dans Node.JS devient simple avec le GroupDocs.Merger Cloud SDK for Node.JS. Le SDK gère le téléchargement du fichier, la sélection de la plage de pages et la récupération du résultat, vous permettant de vous concentrer sur l’intégration de la sortie dans votre flux de travail. N’oubliez pas de sécuriser votre App SID et votre App Key, et envisagez d’utiliser une licence commerciale pour les déploiements en production. Les détails de tarification sont disponibles sur la page du produit, et vous pouvez obtenir une licence temporaire depuis la page de licence temporaire. Avec le code, les exemples cURL et les conseils de configuration présentés dans ce guide, vous êtes prêt à implémenter une division robuste de PDF dans vos applications Node.JS.

FAQs

  • Comment diviser un PDF en plusieurs PDF dans Node.JS en utilisant des plages de pages personnalisées ?
    Utilisez la propriété pages de SplitOptions pour définir la plage dont vous avez besoin, par exemple ['1-3','4-6']. Le SDK générera un PDF distinct pour chaque plage.

  • Puis-je diviser un PDF sans le stocker de façon permanente dans le stockage cloud ?
    Oui. Après avoir téléchargé le fichier source et terminé la division, vous pouvez supprimer le fichier original avec storageApi.deleteFile comme indiqué dans l’exemple.

  • Ai‑je besoin d’une licence payante pour utiliser la fonction de fractionnement en production ?
    Une licence commerciale est requise pour une utilisation en production. Consultez la page du produit pour les tarifs et obtenez une licence temporaire depuis la page de licence temporaire pour l’évaluation.

En savoir plus