# ImageCollection Class

> An image collection can hold multiple images, created from an image file.

- Product: Adobe PDF Library 18
- Language: Java
- Version: APDFL18.0.5PlusP2e
- HTML page: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageCollection
- Version index: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/llms.txt

```java
class ImageCollection
```

**Namespace:** `com::datalogics::PDFL`

## Description

An image collection can hold multiple images, created from an image file. The full set of images in the collection can be saved to a single image file, but only as a .tif image file. For any other file type (JPG, PNG, and so on), the collection can only be saved as one image object per file.

**Referenced by:** [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)

**Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`ImageSaveParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageSaveParams.md), [`JavaStreamFile`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/JavaStreamFile.md)

## Constructors

### ImageCollection

```java
com.datalogics.PDFL.ImageCollection.ImageCollection(StreamFile sf, boolean ignore)
```

*constructor, protected*

**Parameters**

- `sf` (`StreamFile`)
- `ignore` (`boolean`)

### ImageCollection

```java
com.datalogics.PDFL.ImageCollection.ImageCollection()
```

*constructor*

Create an empty image collection, which can have Image objects added to it.

### ImageCollection

```java
com.datalogics.PDFL.ImageCollection.ImageCollection(Image image)
```

*constructor*

**Parameters**

- `image` ([`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md)): the Image object to be inserted upon creation.

Create a new image collection containing the supplied Image object.

### ImageCollection

```java
com.datalogics.PDFL.ImageCollection.ImageCollection(javax.imageio.stream.ImageInputStream stream)
```

*constructor*

**Parameters**

- `stream` (`javax.imageio.stream.ImageInputStream`)

Allows to create ImageCollection object from ImageInputStream.

The Stream must contain image data in the TIFF Format.

### ImageCollection

```java
com.datalogics.PDFL.ImageCollection.ImageCollection(String fileName)
```

*constructor*

**Parameters**

- `fileName` (`String`): The physical image file from which an image collection will be created.

Create from an image file. If the file is a TIFF, then an Image object will be created for each "page" of the TIFF. For all other types, only 1 Image object will be created.

### ImageCollection

```java
com.datalogics.PDFL.ImageCollection.ImageCollection(String fileName, Document document)
```

*constructor*

**Parameters**

- `fileName` (`String`): The physical image file from which an image collection will be created.
- `document` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): the document in which the image is intended to be used.

Create from an image file. If the file is a TIFF, then an Image object will be created for each "page" of the TIFF.

For all other types, only 1 Image object will be created.

Specifying the document optimizes data usage for this image within that document.

## Methods

### append

```java
void com.datalogics.PDFL.ImageCollection.append(Image image)
```

**Parameters**

- `image` ([`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md)): the Image object to be inserted.

**Returns:** `void`

Insert the given Image object at the end of the ImageCollection.

### delete

```java
synchronized void com.datalogics.PDFL.ImageCollection.delete(Boolean disposing)
```

*protected*

**Parameters**

- `disposing` (`Boolean`)

**Returns:** `synchronized void`

### delete

```java
synchronized void com.datalogics.PDFL.ImageCollection.delete()
```

**Returns:** `synchronized void`

### finalize

```java
void com.datalogics.PDFL.ImageCollection.finalize()
```

*protected*

**Returns:** `void`

### getCount

```java
int com.datalogics.PDFL.ImageCollection.getCount()
```

**Returns:** `int`

The count of Image objects in the collection.

Gets the number of Image objects in this collection.

### getImage

```java
Image com.datalogics.PDFL.ImageCollection.getImage(int index)
```

**Parameters**

- `index` (`int`): the index of the Image to be retrieved.

**Returns:** [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md)

the Image object at the specified index.

Retrieve the Image object at the specified index. Note that an exception will be generated if an index is given which is out of range.

### save

```java
void com.datalogics.PDFL.ImageCollection.save(String filename, ImageType type)
```

**Parameters**

- `filename` (`String`): the file which to save the image.
- `type` (`ImageType`): the image type to which to be saved. NOTE: The resolution of the first Image in the collection is used as the target Resolution for saving. (Support for saving multiple, different resolutions isn't available)

**Returns:** `void`

Save the images in the collection to the specified file and image type. Multiple images can only be save to an image type of TIFF, otherwise an exception will be thrown.

### save

```java
void com.datalogics.PDFL.ImageCollection.save(String filename, ImageType type, ImageSaveParams saveparams)
```

**Parameters**

- `filename` (`String`): the file which to save the image.
- `type` (`ImageType`): the image type to which to be saved.
- `saveparams` ([`ImageSaveParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageSaveParams.md)): the ImageSaveParams parameters for customizing the image saving. NOTE: The resolution of the first Image in the collection is used as the target Resolution for saving. (Support for saving multiple, different resolutions isn't available)

**Returns:** `void`

Save the images in the collection to the specified file and image type. Multiple images can only be save to an image type of TIFF, otherwise an exception will be thrown.
