Salvataggio di immagini da documenti in Aspose.Words per Java

Introduzione al salvataggio di immagini da documenti in Aspose.Words per Java

In questo tutorial, esploreremo come salvare le immagini dai documenti usando Aspose.Words per Java. Tratteremo vari scenari e opzioni di personalizzazione per il salvataggio delle immagini. Questa guida fornisce istruzioni dettagliate con esempi di codice sorgente.

Prerequisiti

Prima di iniziare, assicurati di avere la libreria Aspose.Words for Java integrata nel tuo progetto. Puoi scaricarla daQui.

Passaggio 1: salvataggio delle immagini come TIFF con controllo soglia

Per salvare le immagini in formato TIFF con controllo della soglia, seguire questi passaggi:

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

Passaggio 2: salvataggio di una pagina specifica come TIFF multipagina

Per salvare una pagina specifica come TIFF multipagina, utilizzare il seguente codice:

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

Passaggio 3: salvataggio delle immagini come PNG indicizzato a 1 BPP

Per salvare le immagini come PNG indicizzato a 1 BPP, seguire questi passaggi:

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

Passaggio 4: salvataggio di una pagina in formato JPEG con personalizzazione

Per salvare una pagina specifica come JPEG con opzioni di personalizzazione, utilizzare questo codice:

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

Passaggio 5: utilizzo del callback di salvataggio della pagina

Puoi usare un callback per personalizzare il salvataggio delle pagine. Ecco un esempio:

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

Codice sorgente completo per salvare le immagini dai documenti in Aspose.Words per 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);
	// Impostare "PageSet" su "0" per convertire solo la prima pagina di un documento.
	options.setPageSet(new PageSet(0));
	// Modifica la luminosità e il contrasto dell'immagine.
	// Entrambi sono su una scala da 0 a 1 e di default sono impostati su 0,5.
	options.setImageBrightness(0.3f);
	options.setImageContrast(0.7f);
	// Cambia la risoluzione orizzontale.
	// Il valore predefinito per queste proprietà è 96,0, per una risoluzione di 96 dpi.
	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()));
	}

Conclusione

Hai imparato come salvare le immagini dai documenti usando Aspose.Words per Java. Questi esempi dimostrano varie opzioni di personalizzazione per il salvataggio delle immagini, tra cui formato, compressione e utilizzo di callback. Esplora altre possibilità con le potenti capacità di Aspose.Words per Java.

Domande frequenti

Come posso modificare il formato dell’immagine quando salvo con Aspose.Words per Java?

È possibile modificare il formato dell’immagine specificando il formato desiderato nelImageSaveOptions Ad esempio, per salvare come PNG, utilizzareSaveFormat.PNG come mostrato nel codice:

ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.PNG);

Posso personalizzare le impostazioni di compressione per le immagini TIFF?

Sì, puoi personalizzare le impostazioni di compressione delle immagini TIFF. Ad esempio, per impostare il metodo di compressione su CCITT_3, usa il seguente codice:

saveOptions.setTiffCompression(TiffCompression.CCITT_3);

Come posso salvare una pagina specifica di un documento come immagine separata?

Per salvare una pagina specifica come immagine, utilizzaresetPageSetmetodo inImageSaveOptions Ad esempio, per salvare solo la prima pagina, impostarePageSet Anew PageSet(0).

saveOptions.setPageSet(new PageSet(0)); // Salva la prima pagina come immagine

Come faccio ad applicare impostazioni personalizzate alle immagini JPEG durante il salvataggio?

È possibile applicare impostazioni personalizzate alle immagini JPEG utilizzandoImageSaveOptions. Regola proprietà come luminosità, contrasto e risoluzione. Ad esempio, per modificare la luminosità a 0,3 e il contrasto a 0,7, usa questo codice:

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

Come posso utilizzare un callback per personalizzare il salvataggio delle immagini?

Per utilizzare un callback per personalizzare il salvataggio delle immagini, impostarePageSavingCallback InImageSaveOptions . Crea una classe che implementa ilIPageSavingCallback interfaccia e sovrascrivere ilpageSaving metodo.

imageSaveOptions.setPageSavingCallback(new HandlePageSavingCallback());

Quindi, crea una classe che implementa ilIPageSavingCallback interfaccia e personalizzare il nome del file e la posizione inpageSaving metodo.

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