Excel çalışma kitaplarında hassas verileri gizlemek, raporları dahili olarak veya ortaklarla paylaşan işletmeler için yaygın bir gereksinimdir. GroupDocs.Merger Cloud SDK for Java geliştiricilerin XLSX dosyalarına basit bir REST API aracılığıyla şifre koruması eklemesini sağlar. Bu rehberde REST üzerinden Java ile Excel Şifreleme nasıl uygulanacağını öğrenecek, tam bir Java örneğini görecek ve bulut entegrasyonu için eşdeğer cURL komutlarını çalıştıracaksınız.

Önkoşullar ve Kurulum

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

  • Java 8 veya üzeri yüklü.
  • Bağımlılık yönetimi için Maven veya Gradle.
  • client ID ve client secret içeren bir GroupDocs Cloud hesabı.
  • Excel dosyalarının bulunacağı bulut depolamaya erişim.

Maven bağımlılığını pom.xml dosyanıza ekleyin (veya eşdeğer Gradle snippet’ı):

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-merger-cloud</artifactId>
    <version>25.11</version>
</dependency>

En son JAR’ları indirme sayfasından indirebilirsiniz. Bağımlılığı ekledikten sonra, kimlik bilgilerinizle bir yapılandırma nesnesi oluşturun:

String clientId = "YOUR_CLIENT_ID";
String clientSecret = "YOUR_CLIENT_SECRET";

Configuration config = new Configuration(clientId, clientSecret);
MergerApi mergerApi = new MergerApi(config);

İstemci hazır olduğunda, gerçek parola korumalı iş akışına geçebilirsiniz.

Java’da REST ile Excel Şifreleme: Adım Adım Rehber

Adım 1: Kaynak Belgeyi Yükle

Bulut depolamanızdaki kaynak XLSX dosyasının konumunu belirleyin.

FileInfo inputFile = new FileInfo();
inputFile.setFilePath("input.xlsx");   // source Excel file

Adım 2: Hedef Yolu Ayarlayın

Korunan çalışma kitabının nereye kaydedileceğini belirtin.

String outputPath = "output_protected.xlsx"; // destination file

Adım 3: Şifre Koruma Seçeneklerini Yapılandır

Bir ProtectOptions nesnesi oluşturun, dosya bilgilerini, çıktı yolunu ve istenen şifreyi ekleyin.

ProtectOptions protectOptions = new ProtectOptions();
protectOptions.setFileInfo(inputFile);
protectOptions.setOutputPath(outputPath);
protectOptions.setPassword("MySecretPassword"); // desired password

Adım 4: Koruma Belgesi İsteğini Oluştur

Seçenekleri bir ProtectDocumentRequest içinde sarın.

ProtectDocumentRequest request = new ProtectDocumentRequest(protectOptions);

Adım 5: İsteği Yürütme ve Yanıtı İşleme

API yöntemini çağırın ve oluşabilecek hataları işleyin.

try {
    mergerApi.protectDocument(request);
    System.out.println("Excel file has been password protected successfully.");
    System.out.println("Protected file stored at: " + outputPath);
} catch (ApiException e) {
    System.err.println("Error while protecting the Excel file:");
    System.err.println("Status Code: " + e.getCode());
    System.err.println("Message: " + e.getMessage());
}

Her sınıf hakkında daha fazla ayrıntı için, API referansı adresine bakın.

REST üzerinden Java’da Excel Şifre Koruması için Tam Çalışan Örnek

Aşağıdaki kod, baştan sona kadar tam süreci gösterir.

import com.groupdocs.merger.cloud.ApiException;
import com.groupdocs.merger.cloud.Configuration;
import com.groupdocs.merger.cloud.api.MergerApi;
import com.groupdocs.merger.cloud.model.FileInfo;
import com.groupdocs.merger.cloud.model.ProtectOptions;
import com.groupdocs.merger.cloud.model.requests.ProtectDocumentRequest;

public class ProtectExcelExample {
    public static void main(String[] args) {
        // Replace with your actual client credentials
        String clientId = "YOUR_CLIENT_ID";
        String clientSecret = "YOUR_CLIENT_SECRET";

// Initialize the API configuration
        Configuration config = new Configuration(clientId, clientSecret);
        MergerApi mergerApi = new MergerApi(config);

// Define input and output file locations (relative to the storage root)
        FileInfo inputFile = new FileInfo();
        inputFile.setFilePath("input.xlsx");          // source Excel file
        String outputPath = "output_protected.xlsx";  // destination file

// Set password protection options
        ProtectOptions protectOptions = new ProtectOptions();
        protectOptions.setFileInfo(inputFile);
        protectOptions.setOutputPath(outputPath);
        protectOptions.setPassword("MySecretPassword"); // desired password

// Build the request
        ProtectDocumentRequest request = new ProtectDocumentRequest(protectOptions);

try {
            // Execute the password protection operation
            mergerApi.protectDocument(request);
            System.out.println("Excel file has been password protected successfully.");
            System.out.println("Protected file stored at: " + outputPath);
        } catch (ApiException e) {
            System.err.println("Error while protecting the Excel file:");
            System.err.println("Status Code: " + e.getCode());
            System.err.println("Message: " + e.getMessage());
        }
    }
}

Not: Bu kod örneği temel işlevselliği göstermektedir. Projenizde kullanmadan önce dosya yollarını (input.xlsx, output_protected.xlsx) gerçek dosya konumlarınıza göre 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 dokümantasyona bakın veya destek ekibi ile iletişime geçin.

cURL Kullanarak REST API ile Excel Çalışma Kitabını Koru

Aşağıda, aynı parola‑koruma işlemini doğrudan REST uç noktalarına karşı gerçekleştiren bir dizi cURL komutu bulunmaktadır.

1. Kimlik doğrulama yapın ve bir erişim belirteci alın

curl -X POST "https://api.groupdocs.cloud/v2.0/auth/token" \
     -H "Content-Type: application/json" \
     -d '{
           "client_id": "YOUR_CLIENT_ID",
           "client_secret": "YOUR_CLIENT_SECRET"
         }'

Yanıt, sonraki çağrılarda kullanacağınız bir access_token içerir.

2. Kaynak XLSX dosyasını yükleyin

curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary @input.xlsx

3. Parola koruması isteği

curl -X POST "https://api.groupdocs.cloud/v2.0/merger/protect" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "fileInfo": { "filePath": "input.xlsx" },
           "outputPath": "output_protected.xlsx",
           "password": "MySecretPassword"
         }'

4. Korunan çalışma kitabını indirin

curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output_protected.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output_protected.xlsx

Bu komutlar, koruma iş akışını betiklere veya CI boru hatlarına entegre etmenizi sağlar. Daha fazla ayrıntı için, resmi API belgelerine bakın.

Sonuç

Java’da REST üzerinden Java ile Excel Şifreleme uygulaması, GroupDocs.Merger Cloud SDK for Java ile oldukça basittir. Yukarıdaki adımları izleyerek Excel çalışma kitaplarını güvence altına alabilir, sunucu‑tarafı uygulamalarda süreci otomatikleştirebilir ve hassas verileri güvende tutabilirsiniz. Üretim kullanımı için uygun bir lisans almayı unutmayın; fiyatlandırma bilgileri ürün sayfasında mevcuttur ve kütüphaneyi değerlendirmek için bir geçici lisans ile başlayabilirsiniz. İyi kodlamalar!

FAQs

  • Java’da REST üzerinden Excel şifreleme, yerel şifrelemeden nasıl farklıdır?
    Bulut API’si şifrelemeyi sunucuda gerçekleştirir, bu sayede kriptografik kütüphaneleri yerel olarak yönetmeniz gerekmez. SDK, istek oluşturma ve yanıt ayrıştırmayı yönetir, entegrasyonu basitleştirir.

  • Ek koruma seçenekleri, örneğin yalnızca‑okunur mod gibi, ayarlanabilir mi?
    Mevcut ProtectOptions sınıfı şifre korumasına odaklanmaktadır. Daha gelişmiş güvenlik özellikleri için, yeni parametreler hakkında API referansı adresine bakın.

  • Şifre koruması için hangi dosya formatları destekleniyor?
    Merger API şu anda şifreleme için XLSX, DOCX, PPTX, ve PDF formatlarını desteklemektedir. Tam liste için resmi belgeler bölümüne bakın.

  • Geliştirme ortamında örneği çalıştırmak için bir lisansa ihtiyacım var mı?
    Geliştirme ve test işlemleri geçici bir lisansla yapılabilir. Üretim dağıtımları ise ürün sayfası üzerinden satın alabileceğiniz ücretli bir lisans gerektirir.

Daha Fazla Oku