Мы рады объявить о выпуске GroupDocs.Redaction for Java 26.10, доступном с октября 2026 года. Этот выпуск переносит выбранные улучшения из GroupDocs.Redaction for .NET 26.7 и более ранних версий, включая поддержку пользовательского редактирования и улучшенное позиционирование изображений. Он также добавляет новые возможности для соответствия OOXML в документах Word, расширенную поддержку форматов шаблонов электронных таблиц и исправления поведения редактирования CSV/TAB/TSV.

Что нового в этом выпуске

  • [Feature] Указать и сохранить соответствие OOXML при сохранении документов Word (REDACTIONNET-718)
  • [Feature] Добавить форматы шаблонов электронных таблиц XLT / XLTX / XLTM и TAB; улучшить сопоставление форматов сохранения в Cells (REDACTIONNET-802)
  • [Fix] Пропускать редактирование DrawBox (цветного прямоугольника) для электронных таблиц, содержащих только текст CSV / TAB / TSV (REDACTIONNET-805)
  • [Feature] Пользовательский обработчик редактирования для PDF PageAreaRedaction (ICustomRedactionHandler) (REDACTIONNET-594)
  • [Fix] Исправить позиционирование редактирования изображений в области страницы (встроенные изображения с размещением на странице и реальными размерами) (REDACTIONNET-551)

Изменения публичного API

  • Добавлен WordProcessingComplianceLevel (Ecma, Transitional, Strict).
  • Добавлен WordprocessingSaveOptions с методами getOoxmlCompliance / setOoxmlCompliance.
  • Добавлен SaveOptions.getWordprocessingSaveOptions().
  • Добавлены ICustomRedactionHandler, CustomRedactionContext, CustomRedactionResult.
  • Добавлены ReplacementOptions.getCustomRedaction / setCustomRedaction.
  • Добавлены FileType.getXLT(), getXLTX(), getXLTM(), getTAB().

Новые возможности

Этот выпуск вводит следующие новые возможности:

  • Контроль соответствия OOXML: Теперь вы можете запросить уровень соответствия OOXML при сохранении документов Word. Если не указано, сохраняется оригинальное соответствие документа. Уровень Strict нельзя понизить напрямую до Ecma (используйте Transitional).
  • Форматы шаблонов электронных таблиц: FileType теперь предоставляет типы шаблонов Excel (.xlt, .xltx, .xltm) и .tab, с правильным сопоставлением форматов сохранения в путях Cells.
  • Пользовательский обработчик редактирования для PDF: ReplacementOptions теперь принимает ICustomRedactionHandler. При каждом совпадении обработчик получает CustomRedactionContext и возвращает CustomRedactionResult (флаг применения + текст замены). В настоящее время поддерживается только для PDF PageAreaRedaction.
  • Позиционирование области изображения: Встроенные изображения, у которых указано размещение на странице и реальный размер в пикселях, редактируются с использованием координат страницы, поэтому PageAreaFilter / ImageAreaRedaction выравниваются с видимой областью изображения, когда размер битмапа отличается от формы на странице.

Пример кода

Следующий пример демонстрирует, как указать уровень соответствия OOXML при сохранении отредактированного документа Word:

try (Redactor redactor = new Redactor("sample.docx")) {
    redactor.apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[personal]")));

    SaveOptions options = new SaveOptions();
    options.setAddSuffix(true);
    options.setRasterizeToPDF(false);
    options.setRedactedFileSuffix("Strict");
    options.getWordprocessingSaveOptions().setOoxmlCompliance(WordProcessingComplianceLevel.Strict);

    redactor.save(options);
}

Следующий пример показывает, как использовать пользовательский обработчик редактирования для PDF PageAreaRedaction:

ReplacementOptions optionsText = new ReplacementOptions("[replaced]");
optionsText.setCustomRedaction(new ICustomRedactionHandler() {
    @Override
    public CustomRedactionResult redact(CustomRedactionContext context) {
        CustomRedactionResult result = new CustomRedactionResult();
        if (context.getText() != null && context.getText().contains("Lorem")) {
            result.setApply(true);
            result.setText(context.getText().replace("Lorem", "[redacted-custom]"));
        }
        return result;
    }
});

try (Redactor redactor = new Redactor("sample.pdf")) {
    redactor.apply(new PageAreaRedaction(java.util.regex.Pattern.compile(".*"), optionsText));
    redactor.save(new SaveOptions(false, "Custom_Redaction_Result"));
}

Как получить обновление

Maven

Установите GroupDocs.Redaction for Java 26.10 через Maven, добавив следующую зависимость в ваш pom.xml:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-redaction</artifactId>
    <version>26.10</version>
</dependency>

Вы также можете загрузить пакет напрямую из GroupDocs.Redaction for Java 26.10 Maven repository.

Прямое скачивание

Скачайте последнюю версию в виде отдельного ZIP‑файла, содержащего JAR‑файлы, документацию и примеры, со страницы GroupDocs.Redaction for Java 26.10 release page.

Ресурсы