Cómo guardar imágenes de documentos en Aspose.Words para Java

Introducción al almacenamiento de imágenes desde documentos en Aspose.Words para Java

En este tutorial, exploraremos cómo guardar imágenes de documentos usando Aspose.Words para Java. Cubriremos varios escenarios y opciones de personalización para guardar imágenes. Esta guía proporciona instrucciones paso a paso con ejemplos de código fuente.

Prerrequisitos

Antes de comenzar, asegúrese de tener la biblioteca Aspose.Words para Java integrada en su proyecto. Puede descargarla desdeaquí.

Paso 1: Guardar imágenes como TIFF con control de umbral

Para guardar imágenes en formato TIFF con control de umbral, siga estos pasos:

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

Paso 2: Guardar una página específica como TIFF multipágina

Para guardar una página específica como un TIFF de varias páginas, utilice el siguiente código:

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

Paso 3: Guardar imágenes como PNG indexado de 1 BPP

Para guardar imágenes como PNG indexado de 1 BPP, siga estos pasos:

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

Paso 4: Guardar una página como JPEG con personalización

Para guardar una página específica como JPEG con opciones de personalización, use este código:

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

Paso 5: Uso de la devolución de llamada para guardar la página

Puedes usar una devolución de llamada para personalizar el guardado de la página. A continuación, se muestra un ejemplo:

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

Código fuente completo para guardar imágenes de documentos en Aspose.Words para 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);
	// Establezca "PageSet" en "0" para convertir solo la primera página de un documento.
	options.setPageSet(new PageSet(0));
	// Cambiar el brillo y el contraste de la imagen.
	// Ambos están en una escala de 0 a 1 y están en 0,5 por defecto.
	options.setImageBrightness(0.3f);
	options.setImageContrast(0.7f);
	// Cambiar la resolución horizontal.
	// El valor predeterminado para estas propiedades es 96,0, para una resolución de 96 ppp.
	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()));
	}

Conclusión

Aprendió a guardar imágenes de documentos con Aspose.Words para Java. Estos ejemplos muestran varias opciones de personalización para guardar imágenes, incluido el formato, la compresión y el uso de devoluciones de llamadas. Explore más posibilidades con las potentes capacidades de Aspose.Words para Java.

Preguntas frecuentes

¿Cómo cambio el formato de la imagen al guardar con Aspose.Words para Java?

Puede cambiar el formato de la imagen especificando el formato deseado en elImageSaveOptions Por ejemplo, para guardar como PNG, utiliceSaveFormat.PNG como se muestra en el código:

ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.PNG);

¿Puedo personalizar la configuración de compresión para las imágenes TIFF?

Sí, puedes personalizar la configuración de compresión de imágenes TIFF. Por ejemplo, para configurar el método de compresión en CCITT_3, utiliza el siguiente código:

saveOptions.setTiffCompression(TiffCompression.CCITT_3);

¿Cómo puedo guardar una página específica de un documento como una imagen separada?

Para guardar una página específica como imagen, utilice elsetPageSetmétodo enImageSaveOptions Por ejemplo, para guardar solo la primera página, configure elPageSet anew PageSet(0).

saveOptions.setPageSet(new PageSet(0)); // Guardar la primera página como imagen

¿Cómo aplico configuraciones personalizadas a las imágenes JPEG al guardarlas?

Puede aplicar configuraciones personalizadas a las imágenes JPEG usandoImageSaveOptionsAjuste propiedades como el brillo, el contraste y la resolución. Por ejemplo, para cambiar el brillo a 0,3 y el contraste a 0,7, utilice este código:

options.setImageBrightness(0.3f);
options.setImageContrast(0.7f);

¿Cómo puedo utilizar una devolución de llamada para personalizar el guardado de imágenes?

Para utilizar una devolución de llamada para personalizar el guardado de imágenes, configure elPageSavingCallback enImageSaveOptions . Crea una clase que implemente elIPageSavingCallback interfaz y anular lapageSaving método.

imageSaveOptions.setPageSavingCallback(new HandlePageSavingCallback());

Luego, crea una clase que implemente elIPageSavingCallback interfaz y personalizar el nombre del archivo y la ubicación en elpageSaving método.

private static class HandlePageSavingCallback implements IPageSavingCallback {
    public void pageSaving(PageSavingArgs args) {
        args.setPageFileName(MessageFormat.format("Your Directory Path" + "Page_{0}.png", args.getPageIndex()));
    }
}