Сокрытие конфиденциальных данных в рабочих книгах Excel является распространённой потребностью предприятий, которые делятся отчётами внутри компании или с партнёрами. GroupDocs.Merger Cloud SDK for Java позволяет разработчикам добавить защиту паролем к файлам XLSX через простой REST API. В этом руководстве вы узнаете, как реализовать защиту паролем 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
Шаг 2: Установите путь назначения
Укажите, где будет сохранена защищённая рабочая книга.
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 в Java
Следующий код демонстрирует полный процесс от начала до конца.
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, который вы будете использовать в последующих вызовах.
2. Загрузите исходный файл 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"
}'
4. Скачайте защищённую рабочую книгу
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.
Заключение
Реализация защита паролем Excel через REST в Java проста с использованием GroupDocs.Merger Cloud SDK for Java. Следуя приведённым выше шагам, вы можете защитить рабочие книги Excel, автоматизировать процесс в серверных приложениях и обеспечить безопасность конфиденциальных данных. Не забудьте получить соответствующую лицензию для использования в продакшене; информация о ценах доступна на странице продукта, и вы можете начать с временной лицензии для оценки библиотеки. Удачной разработки!
FAQs
Как защита паролем Excel через REST в Java отличается от локального шифрования?
Облачный API выполняет шифрование на сервере, поэтому вам не нужно управлять криптографическими библиотеками локально. SDK обрабатывает построение запросов и разбор ответов, упрощая интеграцию.Можно ли установить дополнительные параметры защиты, например режим только для чтения?
Текущий классProtectOptionsориентирован на защиту паролем. Для более продвинутых функций безопасности обратитесь к справка API для получения информации о новых параметрах.Какие форматы файлов поддерживаются для защиты паролем?
Merger API в настоящее время поддерживает XLSX, DOCX, PPTX, и PDF для шифрования. Обратитесь к официальной документации для полного списка.Нужна ли лицензия для запуска примера в среде разработки?
Разработка и тестирование могут выполняться с временной лицензией. Для развертывания в продакшн требуется платная лицензия, которую можно приобрести на странице продукта.
