Сохранение изображений из документов в Aspose.Words для Java
Введение в сохранение изображений из документов в Aspose.Words для Java
В этом руководстве мы рассмотрим, как сохранять изображения из документов с помощью Aspose.Words for Java. Мы рассмотрим различные сценарии и параметры настройки для сохранения изображений. Это руководство содержит пошаговые инструкции с примерами исходного кода.
Предпосылки
Прежде чем начать, убедитесь, что в ваш проект интегрирована библиотека Aspose.Words for Java. Вы можете загрузить ее сздесь.
Шаг 1: Сохранение изображений в формате TIFF с контролем порога
Чтобы сохранить изображения в формате TIFF с контролем порога, выполните следующие действия:
Document doc = new Document("Your Directory Path" + "Rendering.docx");
ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.TIFF);
saveOptions.setTiffCompression(TiffCompression.CCITT_3);
saveOptions.setImageColorMode(ImageColorMode.GRAYSCALE);
saveOptions.setTiffBinarizationMethod(ImageBinarizationMethod.FLOYD_STEINBERG_DITHERING);
saveOptions.setThresholdForFloydSteinbergDithering((byte) 254);
doc.save("Your Directory Path" + "ThresholdControlledImage.tiff", saveOptions);
Шаг 2: Сохранение определенной страницы в виде многостраничного TIFF-файла
Чтобы сохранить определенную страницу в виде многостраничного TIFF, используйте следующий код:
Document doc = new Document("Your Directory Path" + "Rendering.docx");
ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.TIFF);
saveOptions.setPageSet(new PageSet(new PageRange(0, 1)));
saveOptions.setTiffCompression(TiffCompression.CCITT_4);
saveOptions.setResolution(160f);
doc.save("Your Directory Path" + "SpecificPageMultipage.tiff", saveOptions);
Шаг 3: Сохранение изображений в формате PNG с индексацией 1 BPP
Чтобы сохранить изображения в формате PNG с индексацией 1 BPP, выполните следующие действия:
Document doc = new Document("Your Directory Path" + "Rendering.docx");
ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.PNG);
saveOptions.setPageSet(new PageSet(1));
saveOptions.setImageColorMode(ImageColorMode.BLACK_AND_WHITE);
saveOptions.setPixelFormat(ImagePixelFormat.FORMAT_1_BPP_INDEXED);
doc.save("Your Directory Path" + "1BPPIndexed.png", saveOptions);
Шаг 4: Сохранение страницы в формате JPEG с настройкой
Чтобы сохранить определенную страницу в формате JPEG с возможностью настройки, используйте этот код:
Document doc = new Document("Your Directory Path" + "Rendering.docx");
ImageSaveOptions options = new ImageSaveOptions(SaveFormat.JPEG);
options.setPageSet(new PageSet(0));
options.setImageBrightness(0.3f);
options.setImageContrast(0.7f);
options.setHorizontalResolution(72f);
doc.save("Your Directory Path" + "CustomizedJPEG.jpeg", options);
Шаг 5: Использование обратного вызова сохранения страницы
Вы можете использовать обратный вызов для настройки сохранения страницы. Вот пример:
Document doc = new Document("Your Directory Path" + "Rendering.docx");
ImageSaveOptions imageSaveOptions = new ImageSaveOptions(SaveFormat.PNG);
imageSaveOptions.setPageSet(new PageSet(new PageRange(0, doc.getPageCount() - 1)));
imageSaveOptions.setPageSavingCallback(new HandlePageSavingCallback());
doc.save("Your Directory Path" + "PageSavingCallback.png", imageSaveOptions);
private static class HandlePageSavingCallback implements IPageSavingCallback {
public void pageSaving(PageSavingArgs args) {
args.setPageFileName(MessageFormat.format("Your Directory Path" + "Page_{0}.png", args.getPageIndex()));
}
}
Полный исходный код для сохранения изображений из документов в Aspose.Words для Java
public void exposeThresholdControlForTiffBinarization() throws Exception
{
Document doc = new Document("Your Directory Path" + "Rendering.docx");
ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.TIFF);
{
saveOptions.setTiffCompression(TiffCompression.CCITT_3);
saveOptions.setImageColorMode(ImageColorMode.GRAYSCALE);
saveOptions.setTiffBinarizationMethod(ImageBinarizationMethod.FLOYD_STEINBERG_DITHERING);
saveOptions.setThresholdForFloydSteinbergDithering((byte) 254);
}
doc.save("Your Directory Path" + "WorkingWithImageSaveOptions.ExposeThresholdControlForTiffBinarization.tiff", saveOptions);
}
@Test
public void getTiffPageRange() throws Exception
{
Document doc = new Document("Your Directory Path" + "Rendering.docx");
doc.save("Your Directory Path" + "WorkingWithImageSaveOptions.MultipageTiff.tiff");
ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.TIFF);
{
saveOptions.setPageSet(new PageSet(new PageRange(0, 1))); saveOptions.setTiffCompression(TiffCompression.CCITT_4); saveOptions.setResolution(160f);
}
doc.save("Your Directory Path" + "WorkingWithImageSaveOptions.GetTiffPageRange.tiff", saveOptions);
}
@Test
public void format1BppIndexed() throws Exception
{
Document doc = new Document("Your Directory Path" + "Rendering.docx");
ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.PNG);
{
saveOptions.setPageSet(new PageSet(1));
saveOptions.setImageColorMode(ImageColorMode.BLACK_AND_WHITE);
saveOptions.setPixelFormat(ImagePixelFormat.FORMAT_1_BPP_INDEXED);
}
doc.save("Your Directory Path" + "WorkingWithImageSaveOptions.Format1BppIndexed.Png", saveOptions);
}
@Test
public void getJpegPageRange() throws Exception
{
Document doc = new Document("Your Directory Path" + "Rendering.docx");
ImageSaveOptions options = new ImageSaveOptions(SaveFormat.JPEG);
// Установите «PageSet» на «0», чтобы преобразовать только первую страницу документа.
options.setPageSet(new PageSet(0));
// Измените яркость и контрастность изображения.
// Оба показателя имеют шкалу от 0 до 1 и по умолчанию равны 0,5.
options.setImageBrightness(0.3f);
options.setImageContrast(0.7f);
// Измените горизонтальное разрешение.
// Значение по умолчанию для этих свойств — 96,0, что соответствует разрешению 96 точек на дюйм.
options.setHorizontalResolution(72f);
doc.save("Your Directory Path" + "WorkingWithImageSaveOptions.GetJpegPageRange.jpeg", options);
}
@Test
public static void pageSavingCallback() throws Exception
{
Document doc = new Document("Your Directory Path" + "Rendering.docx");
ImageSaveOptions imageSaveOptions = new ImageSaveOptions(SaveFormat.PNG);
{
imageSaveOptions.setPageSet(new PageSet(new PageRange(0, doc.getPageCount() - 1)));
imageSaveOptions.setPageSavingCallback(new HandlePageSavingCallback());
}
doc.save("Your Directory Path" + "WorkingWithImageSaveOptions.PageSavingCallback.png", imageSaveOptions);
}
private static class HandlePageSavingCallback implements IPageSavingCallback
{
public void pageSaving(PageSavingArgs args)
{
args.setPageFileName(MessageFormat.format("Your Directory Path" + "Page_{0}.png", args.getPageIndex()));
}
Заключение
Вы узнали, как сохранять изображения из документов с помощью Aspose.Words for Java. Эти примеры демонстрируют различные параметры настройки для сохранения изображений, включая формат, сжатие и использование обратного вызова. Изучите больше возможностей с мощными возможностями Aspose.Words for Java.
Часто задаваемые вопросы
Как изменить формат изображения при сохранении с помощью Aspose.Words для Java?
Вы можете изменить формат изображения, указав желаемый формат вImageSaveOptions
. Например, чтобы сохранить в формате PNG, используйтеSaveFormat.PNG
как показано в коде:
ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.PNG);
Могу ли я настроить параметры сжатия для изображений TIFF?
Да, вы можете настроить параметры сжатия изображений TIFF. Например, чтобы задать метод сжатия CCITT_3, используйте следующий код:
saveOptions.setTiffCompression(TiffCompression.CCITT_3);
Как сохранить определенную страницу документа как отдельное изображение?
Чтобы сохранить определенную страницу как изображение, используйтеsetPageSet
метод вImageSaveOptions
. Например, чтобы сохранить только первую страницу, установитеPageSet
кnew PageSet(0)
.
saveOptions.setPageSet(new PageSet(0)); // Сохранить первую страницу как изображение
Как применить пользовательские настройки к изображениям JPEG при сохранении?
Вы можете применять пользовательские настройки к изображениям JPEG, используяImageSaveOptions
. Отрегулируйте такие свойства, как яркость, контрастность и разрешение. Например, чтобы изменить яркость на 0,3 и контрастность на 0,7, используйте этот код:
options.setImageBrightness(0.3f);
options.setImageContrast(0.7f);
Как использовать обратный вызов для настройки сохранения изображений?
Чтобы использовать обратный вызов для настройки сохранения изображения, установитеPageSavingCallback
вImageSaveOptions
. Создайте класс, реализующийIPageSavingCallback
интерфейс и переопределитьpageSaving
метод.
imageSaveOptions.setPageSavingCallback(new HandlePageSavingCallback());
Затем создайте класс, реализующийIPageSavingCallback
интерфейс и настройте имя файла и его местоположение вpageSaving
метод.
private static class HandlePageSavingCallback implements IPageSavingCallback {
public void pageSaving(PageSavingArgs args) {
args.setPageFileName(MessageFormat.format("Your Directory Path" + "Page_{0}.png", args.getPageIndex()));
}
}