پنهان‌سازی داده‌های حساس در کتاب‌های کار Excel یک نیاز رایج برای شرکت‌هایی است که گزارش‌ها را به‌صورت داخلی یا با شرکای خود به اشتراک می‌گذارند. GroupDocs.Merger Cloud SDK for Java به توسعه‌دهندگان امکان اضافه‌کردن حفاظت با رمز عبور به فایل‌های XLSX را از طریق یک API ساده REST می‌دهد. در این راهنما خواهید آموخت که چگونه حفاظت با رمز عبور Excel از طریق REST در Java را پیاده‌سازی کنید، یک مثال کامل Java را ببینید و دستورات cURL معادل برای یکپارچه‌سازی ابری را اجرا کنید.

پیش‌نیازها و راه‌اندازی

قبل از شروع، مطمئن شوید که موارد زیر را دارید:

  • Java 8 یا بالاتر نصب شده است.
  • Maven یا Gradle برای مدیریت وابستگی‌ها.
  • یک حساب GroupDocs Cloud با client ID و client secret.
  • دسترسی به ذخیره‌سازی ابری که فایل‌های Excel در آن قرار می‌گیرند.

وابستگی Maven را به pom.xml خود اضافه کنید (یا قطعه معادل Gradle):

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

می‌توانید آخرین JARها را از صفحه دانلود دریافت کنید. پس از افزودن وابستگی، یک شیء پیکربندی با اعتبارهای خود ایجاد کنید:

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

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

با آماده بودن کلاینت، می‌توانید به جریان کار واقعی حفاظت با رمز عبور ادامه دهید.

محافظت از Excel با رمز عبور از طریق REST در Java: راهنمای گام به گام

مرحله 1: بارگذاری سند منبع

محل فایل XLSX منبع را در فضای ذخیره‌سازی ابری خود تعریف کنید.

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

مرحله ۲: تنظیم مسیر مقصد

محل ذخیره‌سازی کتاب‌کار محافظت‌شده را مشخص کنید.

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

مرحله 3: پیکربندی گزینه‌های حفاظت با رمز عبور

یک شیء ProtectOptions ایجاد کنید، اطلاعات فایل، مسیر خروجی و رمز عبور مورد نظر را پیوست کنید.

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

مرحله 4: ساخت درخواست محافظت از سند

گزینه‌ها را در یک ProtectDocumentRequest بپیچید.

ProtectDocumentRequest request = new ProtectDocumentRequest(protectOptions);

مرحله 5: اجرای درخواست و پردازش پاسخ

متد API را فراخوانی کنید و هر خطایی را پردازش کنید.

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

برای جزئیات بیشتر در مورد هر کلاس، به مرجع API مراجعه کنید.

مثال کامل کارآمد برای محافظت با رمز عبور از Excel از طریق REST در جاوا

کد زیر فرآیند کامل را از ابتدا تا انتها نشان می‌دهد.

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

توجه: این مثال کد عملکرد اصلی را نشان می‌دهد. قبل از استفاده از آن در پروژه خود، اطمینان حاصل کنید که مسیرهای فایل (input.xlsx, output_protected.xlsx) را به مکان‌های واقعی خود به‌روزرسانی کنید، بررسی کنید که تمام وابستگی‌های مورد نیاز به‌درستی نصب شده‌اند، و به‌طور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به مستندات رسمی مراجعه کنید یا برای دریافت کمک به تیم پشتیبانی مراجعه کنید.

محافظت از کتاب کار Excel از طریق REST API با استفاده از cURL

در زیر مجموعه‌ای از دستورات cURL آورده شده است که همان عملیات حفاظت با رمز عبور را مستقیماً بر روی نقاط انتهایی REST انجام می‌دهند.

1. احراز هویت و دریافت توکن دسترسی

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"
         }'

پاسخ شامل یک access_token است که در تماس‌های بعدی استفاده خواهید کرد.

۲. فایل XLSX منبع را بارگذاری کنید

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. درخواست حفاظت با رمز عبور

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"
         }'

۴. دانلود کتاب‌کار محافظت‌شده

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

این دستورات به شما امکان می‌دهند جریان کار حفاظت را در اسکریپت‌ها یا خطوط لوله CI ادغام کنید. برای جزئیات بیشتر، به مستندات رسمی API مراجعه کنید.

نتیجه‌گیری

پیاده‌سازی password Protect Excel via REST in Java به‌راحتی با GroupDocs.Merger Cloud SDK for Java امکان‌پذیر است. با دنبال کردن مراحل بالا می‌توانید کتاب‌های کار Excel را ایمن کنید، فرآیند را در برنامه‌های سمت‑سرور خودکار کنید و داده‌های حساس را محافظت نمایید. به‌خاطر داشته باشید که برای استفاده در محیط تولید، باید یک لایسنس مناسب تهیه کنید؛ اطلاعات قیمت‌گذاری در صفحه محصول موجود است و می‌توانید با یک لایسنس موقت برای ارزیابی کتابخانه شروع کنید. کدنویسی خوش!

سوالات متداول

  • تفاوت حفاظت با رمز عبور Excel از طریق REST در Java با رمزنگاری محلی چیست؟
    API ابری رمزنگاری را بر روی سرور انجام می‌دهد، بنابراین نیازی به مدیریت کتابخانه‌های رمزنگاری به صورت محلی ندارید. SDK ساختار درخواست و تجزیه پاسخ را مدیریت می‌کند و یکپارچه‌سازی را ساده می‌سازد.

  • آیا می‌توان گزینه‌های حفاظت اضافی، مانند حالت فقط‑خواندنی، را تنظیم کرد؟
    کلاس ProtectOptions فعلی بر حفاظت با رمز عبور متمرکز است. برای ویژگی‌های امنیتی پیشرفته‌تر، برای هر پارامتر جدید به مرجع API مراجعه کنید.

  • کدام فرمت‌های فایل برای حفاظت با رمز عبور پشتیبانی می‌شوند؟
    API ادغام در حال حاضر XLSX، DOCX، PPTX، و PDF را برای رمزگذاری پشتیبانی می‌کند. برای فهرست کامل به مستندات رسمی مراجعه کنید.

  • آیا برای اجرای مثال در محیط توسعه به مجوز نیاز دارم؟
    توسعه و تست می‌تواند با یک مجوز موقت انجام شود. استقرارهای تولیدی به یک مجوز پرداختی نیاز دارند که می‌توانید آن را از طریق صفحه محصول خریداری کنید.

Read More