Pengembang sering perlu memecah file PDF yang besar menjadi bagian‑bagian yang lebih kecil dan lebih mudah dikelola. Dengan GroupDocs.Merger Cloud SDK for Node.JS, memisahkan PDF menjadi beberapa bagian menjadi sederhana, karena layanan cloud menangani proses berat sementara Anda fokus pada logika aplikasi Anda. Panduan ini menyediakan contoh lengkap yang berfungsi, menunjukkan cara melakukan tugas yang sama melalui cURL, dan menjelaskan opsi konfigurasi yang memungkinkan Anda menyesuaikan operasi pemisahan secara detail.

Memisahkan PDF Menjadi Beberapa PDF di Node.JS - Contoh Kode Lengkap

Contoh ini menunjukkan cara memisahkan PDF menjadi beberapa file PDF menggunakan 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);
    }
})();

Catatan: Contoh kode ini menunjukkan fungsi inti. Sebelum menggunakannya dalam proyek Anda, pastikan untuk memperbarui semua jalur file dan nilai konfigurasi agar sesuai dengan lingkungan Anda yang sebenarnya, verifikasi bahwa semua dependensi yang diperlukan telah terpasang dengan benar, dan uji secara menyeluruh di lingkungan pengembangan Anda. Jika Anda menemukan masalah, silakan merujuk ke dokumentasi resmi atau hubungi tim dukungan untuk bantuan.

Split PDF Using REST API with cURL

Jika Anda lebih memilih pendekatan REST murni, operasi pemisahan yang sama dapat dilakukan dengan perintah cURL. Langkah-langkah di bawah ini menunjukkan cara mendapatkan token akses, mengunggah PDF sumber, menjalankan pemisahan, dan mengunduh setiap bagian.

# 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. Unduh setiap bagian yang dihasilkan (contoh untuk bagian 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

Untuk daftar lengkap endpoint dan parameter, lihat dokumentasi API resmi.

Cara Membagi PDF Menjadi Beberapa PDF di Node.JS Bekerja

Memahami alur membantu Anda menyesuaikan kode untuk skenario yang lebih kompleks.

  1. Inisialisasi klien API - new GroupDocsMergerCloud.ApiClient() membuat klien yang menyimpan App SID dan App Key Anda.
const client = new GroupDocsMergerCloud.ApiClient();
client.appSid = 'YOUR_APP_SID';
client.appKey = 'YOUR_APP_KEY';
  1. Upload file sumber - Helper uploadFile membaca PDF lokal dan mengirimkannya ke penyimpanan cloud menggunakan storageApi.uploadFile.
await uploadFile(localInputPdf, cloudInputPdf);
  1. Konfigurasikan opsi pemisahan - new GroupDocsMergerCloud.SplitOptions({ pages: ['1-2', '3-5'] }) memberitahu layanan rentang halaman mana yang akan diekstrak.
const splitOptions = new GroupDocsMergerCloud.SplitOptions({
    pages: ['1-2', '3-5']
});
  1. Kirim permintaan pemisahan - mergerApi.splitDocument(splitRequest) mengirim permintaan dan mengembalikan array dengan informasi tentang setiap bagian yang dihasilkan.
const splitResult = await mergerApi.splitDocument(splitRequest);
  1. Unduh hasil - Loop mengiterasi splitResult, memanggil downloadFile untuk setiap bagian dan menyimpannya secara lokal.
for (let i = 0; i < splitResult.length; i++) {
    const partInfo = splitResult[i];
    await downloadFile(partInfo.path, localOutputPath);
}

Untuk detail lebih mendalam tentang setiap kelas dan metode, lihat referensi API.

Prasyarat dan Penyiapan

Sebelum Anda memulai, pastikan Anda memiliki hal berikut:

  • Node.js 14 atau yang lebih baru terpasang.
  • Akun GroupDocs Cloud dengan App SID dan App Key yang valid.
  • Akses ke internet untuk panggilan API.

Instal SDK melalui npm dan unduh paket terbaru:

npm install groupdocs-merger-cloud

Anda juga dapat mengunduh binary secara langsung dari halaman unduhan.

Penyetingan Halus Opsi Split

Objek SplitOptions menawarkan beberapa properti yang dapat Anda sesuaikan:

  • pages - Sebuah array dari rentang halaman (mis., ['1-2','3-5']). Ini adalah pengaturan inti yang digunakan dalam contoh.
  • outputPath - Folder opsional tempat file hasil split akan disimpan di penyimpanan cloud.
  • preserveMetadata - Ketika disetel ke true, metadata dokumen asli disalin ke setiap bagian. Lihat referensi API untuk opsi lainnya.

Menyesuaikan nilai‑nilai ini memungkinkan Anda mengontrol ukuran, penamaan, dan metadata setiap PDF yang dihasilkan.

Kesimpulan

Memecah PDF menjadi beberapa PDF di Node.JS menjadi mudah dengan GroupDocs.Merger Cloud SDK for Node.JS. SDK menangani unggahan file, pemilihan rentang halaman, dan pengambilan hasil, memungkinkan Anda fokus pada integrasi output ke dalam alur kerja Anda. Ingatlah untuk mengamankan App SID dan App Key Anda, serta pertimbangkan penggunaan lisensi komersial untuk penyebaran produksi. Detail harga tersedia di halaman produk, dan Anda dapat memperoleh lisensi sementara dari halaman lisensi sementara. Dengan kode, contoh cURL, dan tip konfigurasi dalam panduan ini, Anda siap menerapkan pemecahan PDF yang kuat di aplikasi Node.JS Anda.

FAQ

  • Bagaimana cara membagi PDF menjadi beberapa PDF di Node.JS menggunakan rentang halaman khusus?
    Gunakan properti pages dari SplitOptions untuk menentukan rentang apa pun yang Anda butuhkan, seperti ['1-3','4-6']. SDK akan menghasilkan PDF terpisah untuk setiap rentang.

  • Apakah saya dapat memisahkan PDF tanpa menyimpannya secara permanen di penyimpanan cloud?
    Ya. Setelah mengunggah file sumber dan menyelesaikan pemisahan, Anda dapat menghapus file asli dengan storageApi.deleteFile seperti yang ditunjukkan dalam contoh.

  • Apakah saya memerlukan lisensi berbayar untuk menggunakan fitur split dalam produksi?
    Lisensi komersial diperlukan untuk penggunaan produksi. Kunjungi halaman produk untuk harga dan dapatkan lisensi sementara dari halaman lisensi sementara untuk evaluasi.

Baca Selengkapnya