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.
- 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';
- Upload file sumber - Helper
uploadFilemembaca PDF lokal dan mengirimkannya ke penyimpanan cloud menggunakanstorageApi.uploadFile.
await uploadFile(localInputPdf, cloudInputPdf);
- 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']
});
- Kirim permintaan pemisahan -
mergerApi.splitDocument(splitRequest)mengirim permintaan dan mengembalikan array dengan informasi tentang setiap bagian yang dihasilkan.
const splitResult = await mergerApi.splitDocument(splitRequest);
- Unduh hasil - Loop mengiterasi
splitResult, memanggildownloadFileuntuk 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 propertipagesdariSplitOptionsuntuk 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 denganstorageApi.deleteFileseperti 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.
