PPTX DOCX XLSX PDF ODP
Aspose.Imaging  для Java
OTG

Сжатие изображений OTG с помощью Java

Создавайте собственные приложения Java для сжатия (компрессии) файлов OTG с помощью серверных API

Как сжать (компрессировать) файлы OTG с помощью Java

Подготовка изображений к публикации подразумевает не только творческий процесс, ну и такую техническую работу, как, например, сжатие (компрессию) файлов. Как правило, для бумажных носителей или наружной рекламы требуются изображения в высоком разрешении, а для интернет-сайтов большой размер файла скорее будет недостатком. Исходя из назначения и среды публикации можно использовать разные параметры сжатия изображений. Файлы большого размера долго скачиваются на устройства, особенно на мобильном соединении, и ухудшают пользовательский опыт. Пользователи могут не дождаться загрузки, закрыть сайт и попытаться поискать более быстрый ресурс. В то же время, сильно сжатые изображения страдают от размытости, пиксельности и портят впечатление от просмотра. Сохранять необходимый баланс между размером файла и качеством изображения поможет оптимальный выбор алгоритмов и степени сжатия. Чтобы сжать файлы OTG, мы будем использовать Aspose.Imaging для Java API, который представляет собой многофункциональный, мощный и простой в использовании API для обработки и преобразования изображений для платформы Java. Вы можете скачать его последнюю версию прямо с Maven и установите его в своем проекте на основе Maven, добавив следующие конфигурации в файл pom.xml.

Репозиторий

<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>

Зависимость

<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>

Действия по сжатию OTG с помощью Java

Вам нужно aspose-imaging-version-jdk16.jar , чтобы попробовать следующий рабочий процесс в вашей собственной среде.

  • Загрузить файлы OTG с помощью метода Image.load
  • Сжимать изображения;
  • Сохранение сжатого изображения на диск в поддерживаемом Aspose.Imaging формате

Системные Требования

Aspose.Imaging для Java поддерживается во всех основных операционных системах. Просто убедитесь, что у вас есть следующие предпосылки:

  • Установлен JDK 1.6 или выше.
 

Сжатие OTG изображений - Java

import com.aspose.imaging.FileFormat;
import com.aspose.imaging.IMultipageImage;
import com.aspose.imaging.Image;
import com.aspose.imaging.ImageOptionsBase;
import com.aspose.imaging.imageoptions.*;
import java.util.Arrays;
import java.util.List;
import java.util.function.Function;
compressVectorFormatToSvg();
compressVectorFormatToEmf();
compressVectorFormatToWmf();
public static void compressVectorFormatToSvg()
{
compressVectorFormat(skip -> {
SvgOptions options = new SvgOptions();
options.setCompress(true);
return options;
}, ".svgz");
}
public static void compressVectorFormatToEmf()
{
compressVectorFormat(skip -> {
EmfOptions options = new EmfOptions();
options.setCompress(true);
return options;
}, ".emz");
}
public static void compressVectorFormatToWmf()
{
compressVectorFormat(skip -> {
WmfOptions options = new WmfOptions();
options.setCompress(true);
return options;
}, ".wmz");
}
public static void compressVectorFormat(Function<Object, ImageOptionsBase> outOptionsCreator, String extension)
{
String templatesFolder = "C:\\WorkDir\\";
List<String> fileFormats = Arrays.asList("cdr", "cmx", "odg", "otg", "eps");
fileFormats.forEach(
formatExt ->
{
String inputFile = templatesFolder + "template." + formatExt;
String outputFile = templatesFolder + "compressed_" + formatExt.toUpperCase();
try (Image image = Image.load(inputFile))
{
Function<Object, VectorRasterizationOptions> rasterizationOptionsFactory = (skip) ->
{
VectorRasterizationOptions options;
long fileFormat = image.getFileFormat();
if (fileFormat == FileFormat.Cdr)
{
options = new CdrRasterizationOptions();
}
else if (fileFormat == FileFormat.Cmx)
{
options = new CmxRasterizationOptions();
}
else if (fileFormat == FileFormat.Odg)
{
options = new OdgRasterizationOptions();
}
else if (fileFormat == FileFormat.Otg)
{
options = new OtgRasterizationOptions();
}
else
{
return null;
}
options.setPageWidth(image.getWidth());
options.setPageHeight(image.getHeight());
return options;
};
if ((image instanceof IMultipageImage) && ((IMultipageImage) image).getPageCount() > 1)
{
IMultipageImage multiPage = (IMultipageImage) image;
final Image[] pages = multiPage.getPages();
for (int pageIndex = 0; pageIndex < pages.length; pageIndex++)
{
ImageOptionsBase options = outOptionsCreator.apply(null);
options.setVectorRasterizationOptions(rasterizationOptionsFactory.apply(null));
pages[pageIndex].save(outputFile + "_p" + (pageIndex + 1) + extension, options);
}
}
else
{
ImageOptionsBase options = outOptionsCreator.apply(null);
options.setVectorRasterizationOptions(rasterizationOptionsFactory.apply(null));
image.save(outputFile + extension, options);
}
}
});
}
 
  • Об Aspose.Imaging for Java API

    Aspose.Imaging API — это решение для обработки изображений, позволяющее создавать, изменять, рисовать или конвертировать изображения и фотографии в приложениях. Он предлагает: кросс-платформенную обработку изображений, включая, помимо прочего, преобразования между различными форматами изображений (включая единую многостраничную или многокадровую обработку изображений), модификации, такие как рисование, работа с графическими примитивами, преобразования (изменение размера, обрезка, отражение и поворот), бинаризация, оттенки серого, настройка яркости, контрастности, расширенные функции обработки изображений (фильтрация, дизеринг, маскирование, устранение перекоса) и стратегии оптимизации памяти. Это автономная библиотека, которая не зависит от какого-либо программного обеспечения для операций с изображениями. Можно легко добавить в проекты высокопроизводительные функции преобразования изображений с помощью собственных API. Это 100% частные локальные API, а изображения обрабатываются на ваших серверах.

    Сжатие файлов OTG через онлайн-приложение

    Сожмите документы OTG, посетив наш веб-сайт Live Demos . Online примеры имеют следующие преимущества

      Не нужно ничего скачивать или настраивать
      Нет необходимости писать какой-либо код
      Просто загрузите файлы OTG и нажмите кнопку "Сжать сейчас"
      Мгновенно получить ссылку для скачивания результирующего файла

    OTG Чем является OTG формат

    Файл OTG представляет собой шаблон чертежа, созданный с использованием стандарта OpenDocument, который соответствует спецификации OASIS Office Applications 1.0. Он представляет собой организацию элементов рисования по умолчанию для векторного изображения, которую можно использовать для дальнейшего улучшения содержимого файла.

    Читать далее

    Другие поддерживаемые форматы сжатия

    Используя Java, можно легко сжимать различные форматы, в том числе:

    APNG (Анимированная портативная сетевая графика)
    BMP (Растровое изображение)
    ICO (Значок Windows)
    JPG (Объединенная группа экспертов по фотографии)
    JPEG (Объединенная группа экспертов по фотографии)
    DIB (Независимое от устройства растровое изображение)
    DICOM (Цифровая визуализация и связь)
    DJVU (Графический формат)
    DNG (Изображение цифровой камеры)
    EMF (Расширенный формат метафайла)
    EMZ (Сжатый расширенный метафайл Windows)
    GIF (Графический формат обмена)
    JP2 (JPEG 2000)
    J2K (Сжатое изображение вейвлета)
    PNG (Портативная сетевая графика)
    TIFF (Формат изображения с тегами)
    TIF (Формат изображения с тегами)
    WEBP (Растровое веб-изображение)
    WMF (Метафайл Microsoft Windows)
    WMZ (Сжатая оболочка проигрывателя Windows Media)
    TGA (Тарга Графика)
    SVG (Масштабируемая векторная графика)
    EPS (Инкапсулированный язык PostScript)
    CDR (Векторный рисунок изображения)
    CMX (Обмен изображениями Corel)
    ODG (Формат отрисовки Apache OpenOffice)