Enregistrement d'images à partir de documents dans Aspose.Words pour Java

Introduction à l’enregistrement d’images à partir de documents dans Aspose.Words pour Java

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

Conditions préalables

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

É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 : enregistrement d’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 : enregistrement d’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 de la page. 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 enregistrer des 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 le "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);
	// Changez 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 des images, notamment le format, la compression et l’utilisation du rappel. Explorez davantage de possibilités grâce aux puissantes capacité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 le champImageSaveOptions . 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 des 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 sous forme d’image, utilisez lesetPageSetméthode dansImageSaveOptions . 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 sous forme d'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 en utilisantImageSaveOptions. Ajustez les propriétés telles que la luminosité, le contraste et la résolution. Par exemple, pour changer 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 des images ?

Pour utiliser un rappel pour personnaliser l’enregistrement de l’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 personnalisez le nom et l’emplacement du fichier dans l’interfacepageSaving 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()));
    }
}