//this function is capable of taking multiple tiff images from a directory
//and processing each tiff frame by frame
private void AddTiff(Document pdfDocument, iTextSharp.text.Rectangle pdfPageSize, String tiffPath)
{
RandomAccessFileOrArray ra = new RandomAccessFileOrArray(tiffPath);
int pageCount = TiffImage.GetNumberOfPages(ra);
for (int i = 1; i <= pageCount; i++)
{
iTextSharp.text.Image img = TiffImage.GetTiffImage(ra, i);
if (img.ScaledWidth > pdfPageSize.Width || img.ScaledHeight > pdfPageSize.Height)
{
img.SetDpi(2, 2);
if (img.DpiX != 0 && img.DpiY != 0 && img.DpiX != img.DpiY)
{
float percentX = (pdfPageSize.Width * 100) / img.ScaledWidth;
float percentY = (pdfPageSize.Height * 100) / img.ScaledHeight;
img.ScalePercent(percentX, percentY);
img.WidthPercentage = 0;
}
else
{
img.ScaleToFit(pdfPageSize.Width, pdfPageSize.Height);
}
}
iTextSharp.text.Rectangle pageRect = new iTextSharp.text.Rectangle(0, 0, img.ScaledWidth, img.ScaledHeight);
pdfDocument.SetPageSize(pageRect);
pdfDocument.SetMargins(0, 0, 0, 0);
pdfDocument.NewPage();
pdfDocument.Add(img);
}
}