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