TiffSaveAsMultiPageFile(Int32,Stream,TiffCompression) Method
Stores a specified GdPicture image, that is represented by its unique image identifier, as the first page of a new multipage TIFF image file to a given stream. You can subsequently add a new page to this image file using one of the TiffAddToMultiPageFile() methods, for example the
GdPictureImaging.TiffAddToMultiPageFile method.
This sequential writing is the faster way to create multipage TIFF image files by adding individual pages based on one page files.
'Declaration
Public Overloads Function TiffSaveAsMultiPageFile( _
ByVal As Integer, _
ByVal As Stream, _
ByVal As TiffCompression _
) As GdPictureStatus
Parameters
- ImageID
- A unique image identifier of the GdPicture image representing the first page of the resulting multipage TIFF image file. Do not release this image resource before closing the resulting multipage TIFF image file using the GdPictureImaging.TiffCloseMultiPageFile method.
Please follow the attached example on how to properly use the method.
- Stream
- A Stream object where the newly created multipage TIFF image file will be stored.
This Stream object must be initialized before it can be sent into this method and it should remain open for subsequent use.
- Compression
- A member of the TiffCompression enumeration. The resulting TIFF compression scheme to be used.
Please note that if you apply the JPEG compression, the quality factor used by default is 90. You can use the overloaded GdPictureImaging.TiffSaveAsMultiPageFile method to set your preferred value for the JpegQuality parameter.
Return Value
A member of the GdPictureStatus enumeration. If the method has been successfully followed, then the return value is GdPictureStatus.OK.
We strongly recommend always checking this status first.
Generating a multipage tiff using streams, from different image files, using specific compression mode per page.
using (GdPictureImaging gdpictureImaging = new GdPictureImaging())
{
using (System.IO.Stream inputStream = new System.IO.FileStream("image.jpg", System.IO.FileMode.Open))
{
/*Adding first page from a jpeg file*/
int tiffImageID = gdpictureImaging.CreateGdPictureImageFromStream(inputStream, GdPicture14.DocumentFormat.DocumentFormatJPEG); /* or "image.jpg"*/
using (System.IO.Stream outputStream = new System.IO.FileStream("multipage.tif", System.IO.FileMode.CreateNew))
{
//After calling TiffSaveAsMultiPageFile, tiffID will specify the multipage tiff identifier.
gdpictureImaging.TiffSaveAsMultiPageFile(tiffImageID, outputStream, TiffCompression.TiffCompressionJPEG);
using (System.IO.Stream nextStream = new System.IO.FileStream("image.png", System.IO.FileMode.Open))
{
/*Adding second page from a png file*/
int imageID = gdpictureImaging.CreateGdPictureImageFromStream(nextStream, GdPicture14.DocumentFormat.DocumentFormatPNG); /* or "image.png"*/
//Enabling horizontal differencing predictor mode for lzw compression.
gdpictureImaging.TagSetValueString(imageID, Tags.TagPredictor, TagType.TagTypeShort, "2");
gdpictureImaging.TiffAddToMultiPageFile(tiffImageID, imageID, TiffCompression.TiffCompressionLZW);
gdpictureImaging.ReleaseGdPictureImage(imageID);
}
using (System.IO.Stream nextStream = new System.IO.FileStream("image.tif", System.IO.FileMode.Open))
{
/*Adding third page from a single page tiff-ccitt4 file*/
int imageID = gdpictureImaging.CreateGdPictureImageFromStream(nextStream, GdPicture14.DocumentFormat.DocumentFormatTIFF); /* or "image.tif"*/
gdpictureImaging.TiffAddToMultiPageFile(tiffImageID, imageID, TiffCompression.TiffCompressionCCITT4);
gdpictureImaging.ReleaseGdPictureImage(imageID);
}
/*Closing the produced multipage file*/
gdpictureImaging.TiffCloseMultiPageFile(tiffImageID);
}
}
}