Képek mentése dokumentumokból az Aspose.Words for Java programban

Bevezetés a képek dokumentumokból történő mentésébe az Aspose.Words for Java programban

Ebben az oktatóanyagban megvizsgáljuk, hogyan lehet képeket menteni dokumentumokból az Aspose.Words for Java használatával. A képmentés különféle forgatókönyveivel és testreszabási lehetőségeivel foglalkozunk. Ez az útmutató lépésről lépésre tartalmazza a forráskód-példákat.

Előfeltételek

Mielőtt elkezdené, győződjön meg arról, hogy az Aspose.Words for Java könyvtár integrálva van a projektjébe. Letöltheti innenitt.

1. lépés: Képek mentése TIFF formátumban a Threshold Control segítségével

Ha a képeket TIFF formátumban szeretné menteni küszöbérték-szabályozással, kövesse az alábbi lépéseket:

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

2. lépés: Adott oldal mentése többoldalas TIFF formátumban

Egy adott oldal többoldalas TIFF-fájlként történő mentéséhez használja a következő kódot:

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

3. lépés: Képek mentése 1 BPP-vel indexelt PNG-ként

Ha 1 BPP-vel indexelt PNG-ként szeretné menteni a képeket, kövesse az alábbi lépéseket:

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

4. lépés: Oldal mentése JPEG formátumban testreszabással

Egy adott oldal testreszabási lehetőségekkel rendelkező JPEG formátumban történő mentéséhez használja ezt a kódot:

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

5. lépés: Az Oldalmentés Visszahívás használata

Az oldalmentés személyre szabásához használhat visszahívást. Íme egy példa:

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

Teljes forráskód képek mentéséhez az Aspose.Words for Java dokumentumaiból

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);
	// Állítsa a "PageSet" értéket "0"-ra, ha csak a dokumentum első oldalát szeretné konvertálni.
	options.setPageSet(new PageSet(0));
	// Módosítsa a kép fényerejét és kontrasztját.
	// Mindkettő 0-1 skálán van, és alapértelmezés szerint 0,5.
	options.setImageBrightness(0.3f);
	options.setImageContrast(0.7f);
	// Módosítsa a vízszintes felbontást.
	// Ezeknek a tulajdonságoknak az alapértelmezett értéke 96,0, 96 dpi felbontás esetén.
	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()));
	}

Következtetés

Megtanulta, hogyan menthet képeket dokumentumokból az Aspose.Words for Java használatával. Ezek a példák a képmentés különféle testreszabási lehetőségeit mutatják be, beleértve a formátumot, a tömörítést és a visszahívási használatot. Fedezzen fel további lehetőségeket az Aspose.Words segítségével a Java erőteljes képességeiért.

GYIK

Hogyan változtathatom meg a képformátumot az Aspose.Words for Java segítségével történő mentéskor?

Módosíthatja a képformátumot a kívánt formátum megadásával aImageSaveOptions . Például a PNG formátumban történő mentéshez használja aSaveFormat.PNG a kódban látható módon:

ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.PNG);

Testreszabhatom a TIFF-képek tömörítési beállításait?

Igen, testreszabhatja a TIFF képtömörítési beállításokat. Például a tömörítési módszer CCITT_3 értékre állításához használja a következő kódot:

saveOptions.setTiffCompression(TiffCompression.CCITT_3);

Hogyan menthetek egy adott oldalt egy dokumentumból külön képként?

Egy adott oldal képként való mentéséhez használja asetPageSetmódszer beImageSaveOptions . Például, ha csak az első oldalt szeretné menteni, állítsa be aPageSet hogynew PageSet(0).

saveOptions.setPageSet(new PageSet(0)); // Mentse el az első oldalt képként

Hogyan alkalmazhatok egyéni beállításokat a JPEG képekre mentéskor?

Egyéni beállításokat alkalmazhat a JPEG képekre a használatávalImageSaveOptions. Az olyan tulajdonságok beállítása, mint a fényerő, kontraszt és felbontás. Ha például a fényerőt 0,3-ra és a kontrasztot 0,7-re szeretné módosítani, használja ezt a kódot:

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

Hogyan használhatom a visszahívást a képmentés testreszabásához?

Ha visszahívást szeretne használni a képmentés testreszabásához, állítsa be aPageSavingCallback beImageSaveOptions . Hozzon létre egy osztályt, amely megvalósítja aIPageSavingCallback felületet, és felülírja apageSaving módszer.

imageSaveOptions.setPageSavingCallback(new HandlePageSavingCallback());

Ezután hozzon létre egy osztályt, amely megvalósítja aIPageSavingCallback felületet, és testreszabhatja a fájl nevét és helyét apageSaving módszer.

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