Tutorial - Thumbnails

Top  Previous  Next

Thumbnails are added using the AddThumbnail method. An object of TGraphic type has to be provided as input to the function.

 

[VB]        

       

gtPDFDocumentX1.LoadFromFile (InputFile1)

'Insert meta file as thumbnail 

gtPDFDocumentX1.AddThumbnailByHandle 1, Image1.Picture.Handle, itMetafile

'Insert BMP image as thumbnail

gtPDFDocumentX1.AddThumbnailByHandle 3, Image2.Picture.Handle, itBMP

gtPDFDocumentX1.SaveToFile (OutputFile)         

 

 

[VC++]        

 

Long pImageStream;

Long nfileSize;

m_PDF.LoadFromFile (InputFile1);

//Insert meta file image As thumbnail

m_PDF.AddThumbnailByHandle( 1, (Long)GetEnhMetaFile("logo.emf"), itMetafile);

//Insert JPEG image As thumbnail

// GetImageStreamAndSize is a utility Function provided In gtPDFkitUtils.h

GetImageStreamAndSize("bulb.jpg", pImageStream, nfileSize);

m_PDF.AddThumbnailByStream( 3, pImageStream, nfileSize, itJPEG);

m_PDF.SaveToFile (OutputFile);         

 

               

 

[CS]

 

PDFDoc.LoadFromFile(InputFile1);

using (MemoryStream imgStream = New MemoryStream())

{

       pictureBox1.Image.Save(imgStream, System.Drawing.Imaging.ImageFormat.Bmp);

       Byte[] imgBuffer = imgStream.GetBuffer();

       Long BufSize = imgBuffer.Length;

       Long BufAddr = Marshal.UnsafeAddrOfPinnedArrayElement(imgBuffer, 0).ToInt64();

       PDFDoc.AddThumbnailByStream(1, (int)BufAddr, (int)BufSize, TxgtImageType.itBMP);

}

using (MemoryStream imgStream = New MemoryStream())

{

       pictureBox2.Image.Save(imgStream, System.Drawing.Imaging.ImageFormat.Jpeg);

       Byte[] imgBuffer = imgStream.GetBuffer();

       Long BufSize = imgBuffer.Length;

       Long BufAddr = Marshal.UnsafeAddrOfPinnedArrayElement(imgBuffer, 0).ToInt64();

       PDFDoc.AddThumbnailByStream(2, (int)BufAddr, (int)BufSize, TxgtImageType.itJPEG);

}

using (MemoryStream imgStream = New MemoryStream())

{

       pictureBox3.Image.Save(imgStream, System.Drawing.Imaging.ImageFormat.Jpeg);

       Byte[] imgBuffer = imgStream.GetBuffer();

       Long BufSize = imgBuffer.Length;

       Long BufAddr = Marshal.UnsafeAddrOfPinnedArrayElement(imgBuffer, 0).ToInt64();

       PDFDoc.AddThumbnailByStream(3, (int)BufAddr, (int)BufSize, TxgtImageType.itJPEG);

}

PDFDoc.SetPageMode(TxgtPageMode.pmUseThumbs);

PDFDoc.ShowSetupDialog = False;

PDFDoc.OpenAfterSave = True;

PDFDoc.SaveToFile(OutputFile);