Enregistrer des images à partir de documents dans Aspose.Words pour Java

Introduction à la sauvegarde d’images à partir de documents dans Aspose.Words pour Java

Dans ce didacticiel, nous allons découvrir comment enregistrer des images à partir de documents à l’aide d’Aspose.Words pour Java. Nous aborderons divers scénarios et options de personnalisation pour l’enregistrement d’images. Ce guide fournit des instructions étape par étape avec des exemples de code source.

Prérequis

Avant de commencer, assurez-vous que la bibliothèque Aspose.Words pour Java est intégrée à votre projet. Vous pouvez la télécharger à partir deici.

Étape 1 : Enregistrement des images au format TIFF avec contrôle de seuil

Pour enregistrer des images au format TIFF avec contrôle de seuil, procédez comme suit :

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

Étape 2 : Enregistrer une page spécifique au format TIFF multipage

Pour enregistrer une page spécifique au format TIFF multipage, utilisez le code suivant :

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

Étape 3 : Enregistrer les images au format PNG indexé 1 BPP

Pour enregistrer des images au format PNG indexé 1 BPP, procédez comme suit :

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

Étape 4 : Enregistrer une page au format JPEG avec personnalisation

Pour enregistrer une page spécifique au format JPEG avec des options de personnalisation, utilisez ce code :

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

Étape 5 : Utilisation du rappel d’enregistrement de page

Vous pouvez utiliser un rappel pour personnaliser l’enregistrement des pages. Voici un exemple :

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

Code source complet pour l’enregistrement d’images à partir de documents dans Aspose.Words pour 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);
	// Réglez « PageSet » sur « 0 » pour convertir uniquement la première page d'un document.
	options.setPageSet(new PageSet(0));
	// Modifiez la luminosité et le contraste de l'image.
	// Les deux sont sur une échelle de 0 à 1 et sont à 0,5 par défaut.
	options.setImageBrightness(0.3f);
	options.setImageContrast(0.7f);
	// Modifier la résolution horizontale.
	// La valeur par défaut de ces propriétés est 96,0, pour une résolution de 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()));
	}

Conclusion

Vous avez appris à enregistrer des images à partir de documents à l’aide d’Aspose.Words pour Java. Ces exemples illustrent diverses options de personnalisation pour l’enregistrement d’images, notamment le format, la compression et l’utilisation de rappels. Explorez d’autres possibilités avec les puissantes fonctionnalités d’Aspose.Words pour Java.

FAQ

Comment modifier le format de l’image lors de l’enregistrement avec Aspose.Words pour Java ?

Vous pouvez modifier le format de l’image en spécifiant le format souhaité dans leImageSaveOptions . Par exemple, pour enregistrer au format PNG, utilisezSaveFormat.PNG comme indiqué dans le code :

ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.PNG);

Puis-je personnaliser les paramètres de compression pour les images TIFF ?

Oui, vous pouvez personnaliser les paramètres de compression d’image TIFF. Par exemple, pour définir la méthode de compression sur CCITT_3, utilisez le code suivant :

saveOptions.setTiffCompression(TiffCompression.CCITT_3);

Comment puis-je enregistrer une page spécifique d’un document en tant qu’image distincte ?

Pour enregistrer une page spécifique en tant qu’image, utilisez lesetPageSetméthode enImageSaveOptions . Par exemple, pour enregistrer uniquement la première page, définissez lePageSet ànew PageSet(0).

saveOptions.setPageSet(new PageSet(0)); // Enregistrer la première page en tant qu'image

Comment appliquer des paramètres personnalisés aux images JPEG lors de l’enregistrement ?

Vous pouvez appliquer des paramètres personnalisés aux images JPEG à l’aide deImageSaveOptions. Ajustez les propriétés telles que la luminosité, le contraste et la résolution. Par exemple, pour régler la luminosité à 0,3 et le contraste à 0,7, utilisez ce code :

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

Comment puis-je utiliser un rappel pour personnaliser l’enregistrement d’image ?

Pour utiliser un rappel pour personnaliser l’enregistrement d’image, définissez lePageSavingCallback dansImageSaveOptions . Créez une classe qui implémente leIPageSavingCallback interface et remplacer lepageSaving méthode.

imageSaveOptions.setPageSavingCallback(new HandlePageSavingCallback());

Ensuite, créez une classe qui implémente leIPageSavingCallback interface et personnaliser le nom et l’emplacement du fichier dans lepageSaving méthode.

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