Geliştiriciler genellikle büyük PDF dosyalarını daha küçük, yönetilebilir bölümlere ayırmak zorunda kalırlar. GroupDocs.Merger Cloud SDK for Node.JS ile bir PDF’yi birden çok parçaya bölmek oldukça basittir; bulut hizmeti ağır işleri üstlenirken siz uygulama mantığınıza odaklanırsınız. Bu kılavuz tam çalışan bir örnek sunar, aynı görevi cURL ile nasıl yapacağınızı gösterir ve bölme işlemini ince ayar yapmanızı sağlayan yapılandırma seçeneklerini açıklar.

Node.JS’te PDF’yi Birden Çok PDF’ye Böl - Tam Kod Örneği

Bu örnek, GroupDocs.Merger Cloud SDK for Node.JS kullanarak bir PDF’yi birden çok PDF dosyasına nasıl bölüneceğini gösterir.

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);
    }
})();

Not: Bu kod örneği temel işlevselliği gösterir. Projenizde kullanmadan önce, dosya yollarını ve yapılandırma değerlerini gerçek ortamınıza uygun şekilde güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğinden emin olun ve geliştirme ortamınızda kapsamlı bir şekilde test edin. Herhangi bir sorunla karşılaşırsanız, lütfen resmi belgeler adresine bakın veya destek ekibi ile iletişime geçin.

cURL ile REST API Kullanarak PDF Bölme

Saf bir REST yaklaşımını tercih ediyorsanız, aynı bölme işlemi cURL komutlarıyla gerçekleştirilebilir. Aşağıdaki adımlar bir erişim belirteci almayı, kaynak PDF’yi yüklemeyi, bölmeyi çalıştırmayı ve her bir parçayı indirmeyi gösterir.

# 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

Uç noktalar ve parametrelerin tam listesi için, resmi API belgelerine bakın.

Node.JS’de PDF’i Birden Çok PDF’e Bölme Nasıl Çalışır

Akışı anlamak, kodu daha karmaşık senaryolara uyarlamanıza yardımcı olur.

  1. API istemcisini başlatın - new GroupDocsMergerCloud.ApiClient() uygulama SID’nizi ve uygulama anahtarınızı tutan bir istemci oluşturur.
const client = new GroupDocsMergerCloud.ApiClient();
client.appSid = 'YOUR_APP_SID';
client.appKey = 'YOUR_APP_KEY';
  1. Kaynak dosyayı yükleyin - Yardımcı uploadFile yerel PDF’yi okur ve storageApi.uploadFile kullanarak bulut depolamaya gönderir.
await uploadFile(localInputPdf, cloudInputPdf);
  1. Bölme seçeneklerini yapılandırın - new GroupDocsMergerCloud.SplitOptions({ pages: ['1-2', '3-5'] }) hizmetin hangi sayfa aralıklarını çıkaracağını belirtir.
const splitOptions = new GroupDocsMergerCloud.SplitOptions({
    pages: ['1-2', '3-5']
});
  1. Bölme isteğini gönder - mergerApi.splitDocument(splitRequest) isteği gönderir ve oluşturulan her bir parçanın bilgilerini içeren bir dizi döndürür.
const splitResult = await mergerApi.splitDocument(splitRequest);
  1. Sonuçları indirin - Döngü splitResult üzerinde yineleme yapar, her bir parça için downloadFile çağırır ve yerel olarak kaydeder.
for (let i = 0; i < splitResult.length; i++) {
    const partInfo = splitResult[i];
    await downloadFile(partInfo.path, localOutputPath);
}

Her sınıf ve yöntem hakkında daha ayrıntılı bilgi için, API referansına bakın.

Önkoşullar ve Kurulum

Başlamadan önce, aşağıdakilere sahip olduğunuzdan emin olun:

  • Node.js 14 ve üzeri yüklü.
  • Geçerli App SID ve App Key içeren bir GroupDocs Cloud hesabı.
  • API çağrıları için internete erişim.

SDK’yı npm üzerinden kurun ve en son paketi indirin:

npm install groupdocs-merger-cloud

İkili dosyaları doğrudan indirme sayfasından alabilirsiniz.

Bölme Seçeneklerini İnce Ayarlama

SplitOptions nesnesi, ayarlayabileceğiniz birkaç özellik sunar:

  • pages - Sayfa aralıklarının bir dizisi (ör. ['1-2','3-5']). Bu, örnekte kullanılan temel ayardır.
  • outputPath - Bölünmüş dosyaların bulut depolamada saklanacağı isteğe bağlı klasör.
  • preserveMetadata - true olarak ayarlandığında, orijinal belge meta verileri her bölüme kopyalanır. Daha fazla seçenek için API referansı sayfasına bakın.

Bu değerleri ayarlamak, her bir oluşturulan PDF’nin boyutunu, adlandırmasını ve meta verilerini kontrol etmenizi sağlar.

Sonuç

Node.JS’te PDF’yi birden fazla PDF’ye bölmek, GroupDocs.Merger Cloud SDK for Node.JS sayesinde çok basit hale gelir. SDK, dosya yükleme, sayfa aralığı seçimi ve sonuç alma işlemlerini yönetir, böylece çıktıyı iş akışınıza entegre etmeye odaklanabilirsiniz. App SID ve App Key’inizi güvenli tutmayı unutmayın ve üretim dağıtımları için ticari bir lisans kullanmayı düşünün. Fiyatlandırma detayları ürün sayfasında mevcuttur ve geçici bir lisansı geçici lisans sayfasından alabilirsiniz. Bu kılavuzdaki kod, cURL örnekleri ve yapılandırma ipuçlarıyla, Node.JS uygulamalarınızda sağlam PDF bölme işlemini uygulamaya hazır olacaksınız.

SSS

  • Node.JS’te özel sayfa aralıkları kullanarak PDF’yi birden fazla PDF’ye nasıl bölerim?
    SplitOptions‘ın pages özelliğini kullanarak ihtiyacınız olan herhangi bir aralığı tanımlayabilirsiniz, örneğin ['1-3','4-6']. SDK, her aralık için ayrı bir PDF oluşturacaktır.

  • PDF’i bulut depolamada kalıcı olarak saklamadan bölebilir miyim?
    Evet. Kaynak dosyayı yükledikten ve bölme işlemini tamamladıktan sonra, örnekte gösterildiği gibi storageApi.deleteFile ile orijinal dosyayı silebilirsiniz.

  • Üretimde split özelliğini kullanmak için ücretli bir lisansa ihtiyacım var mı?
    Üretim kullanımında ticari bir lisans gereklidir. Fiyatlandırma için ürün sayfasını ziyaret edin ve değerlendirme amacıyla geçici lisans sayfasından geçici bir lisans alın.

Daha Fazla Oku