In This Topic
Programming / Document Conversion / Converting TIFF images to PDF documents

Converting TIFF images to PDF documents

In This Topic

TIFF images and PDF documents are very important formats. For documents, they are probably the most important. Converting from one to another is likely one of the basic needs of any document management system.

In this tutorial, we will see how to convert TIFF images to PDF documents using GdPicture.NET.

  • Now it is quick and easy one-step operation using the GdPictureDocumentConverter class.        
    Copy Code
    'We assume that GdPicture has been correctly installed and unlocked.
    Using oConverter As GdPictureDocumentConverter = New GdPictureDocumentConverter()
        Dim status As GdPictureStatus = oConverter.LoadFromFile("input.tif", GdPicture14.DocumentFormat.DocumentFormatTIFF)
        If status = GdPictureStatus.OK Then
            MessageBox.Show("The file has been loaded successfully.", "TIFF to PDF Example", MessageBoxButtons.OK, MessageBoxIcon.Information)
            status = oConverter.SaveAsPDF("output.pdf", PdfConformance.PDF)
            If status = GdPictureStatus.OK Then
                MessageBox.Show("The file has been saved successfully.", "TIFF to PDF Example", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Else
                MessageBox.Show("The file has failed to save. Status: " + status.ToString(), "TIFF to PDF Example", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End If
        Else
            MessageBox.Show("The file has failed to load. Status: " + status.ToString(), "TIFF to PDF Example", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End If
    End Using
    Copy Code
    //We assume that GdPicture has been correctly installed and unlocked.
    using (GdPictureDocumentConverter oConverter = new GdPictureDocumentConverter())
    {
        GdPictureStatus status = oConverter.LoadFromFile("input.tif", GdPicture14.DocumentFormat.DocumentFormatTIFF);
        if (status == GdPictureStatus.OK)
        {
            MessageBox.Show("The file has been loaded successfully.", "TIFF to PDF Example", MessageBoxButtons.OK, MessageBoxIcon.Information);
            status = oConverter.SaveAsPDF("output.pdf", PdfConformance.PDF);
            if (status == GdPictureStatus.OK)
            {
                MessageBox.Show("The file has been saved successfully.", "TIFF to PDF Example", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("The file has failed to save. Status: " + status.ToString(), "TIFF to PDF Example", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        else
        {
            MessageBox.Show("The file has failed to load. Status: " + status.ToString(), "TIFF to PDF Example", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }
  • You can compare it with another approach by converting page by page using images through the GdPictureImaging class. Here you can benefit from using the advanced MRC compression mechanism.
    This example makes use of the optional GdPicture.NET PDF SDK.
    Copy Code
    'We assume that GdPicture has been correctly installed and unlocked.
    Dim oGdPictureImaging As New GdPictureImaging()
    'Setting the option for subsequently opened multi-tiff images with read-only capabilities.
    oGdPictureImaging.TiffOpenMultiPageForWrite(False)
    'Loading an image from a file.
    Dim imageId As Integer = oGdPictureImaging.CreateGdPictureImageFromFile("Image.tif")
    If oGdPictureImaging.GetStat() = GdPictureStatus.OK Then
        Dim status As GdPictureStatus = GdPictureStatus.OK
        Dim oGdPicturePDF As New GdPicturePDF()
        status = oGdPicturePDF.NewPDF()
        If status = GdPictureStatus.OK Then
            If oGdPictureImaging.TiffIsMultiPage(imageId) = False Then
                'One-page tiff image.
                'Adding an image as a resource and drawing it onto a new page.
                oGdPicturePDF.AddImageFromGdPictureImage(imageId, PdfAdvancedImageCompression.PdfAdvancedImageCompressionMRC)
                If oGdPicturePDF.GetStat() = GdPictureStatus.OK Then
                    'Saving the new PDF to a file.
                    status = oGdPicturePDF.SaveToFile("output.pdf")
                Else
                    status = oGdPicturePDF.GetStat()
                End If
            Else
                'Multi-page tiff image.
                Dim NumberOfPages As Integer = oGdPictureImaging.TiffGetPageCount(imageId)
                Dim savePDF As Boolean = True
                'Loop through pages.
                For i As Integer = 1 To NumberOfPages
                    'Selecting each page in the tiff file.
                    oGdPictureImaging.TiffSelectPage(imageId, i)
                    'Adding the selected tiff page as a resource to a PDF document and draw it on a new page.
                    oGdPicturePDF.AddImageFromGdPictureImage(imageId, PdfAdvancedImageCompression.PdfAdvancedImageCompressionMRC)
                    If oGdPicturePDF.GetStat() <> GdPictureStatus.OK Then
                        status = oGdPicturePDF.GetStat()
                        'Raising a flag to cancel PDF saving.
                        savePDF = False
                        Exit For
                    End If
                Next
                'Checking whether an error occurred in adding any image to the PDF document.
                If savePDF Then
                    status = oGdPicturePDF.SaveToFile("output.pdf")
                End If
            End If
            oGdPicturePDF.CloseDocument()
        End If
        MessageBox.Show("Finished! Status: " + status.ToString(), "TIFF to PDF Example", MessageBoxButtons.OK, MessageBoxIcon.Information)
        'Clearing resources.
        oGdPictureImaging.ReleaseGdPictureImage(imageId)
        oGdPicturePDF.Dispose()
    Else
        MessageBox.Show("The image file can't be loaded. Status: " + oGdPictureImaging.GetStat().ToString(), "TIFF to PDF Example", MessageBoxButtons.OK, MessageBoxIcon.Error)
    End If
    oGdPictureImaging.Dispose()
    Copy Code
    //We assume that GdPicture has been correctly installed and unlocked.
    GdPictureImaging oGdPictureImaging = new GdPictureImaging();
    //Setting the option for subsequently opened multi-tiff images with read-only capabilities.
    oGdPictureImaging.TiffOpenMultiPageForWrite(false);
    //Loading an image from a file.
    int imageId = oGdPictureImaging.CreateGdPictureImageFromFile("Image.tif");
    if (oGdPictureImaging.GetStat() == GdPictureStatus.OK)
    {
        GdPictureStatus status = GdPictureStatus.OK;
        GdPicturePDF oGdPicturePDF = new GdPicturePDF();
        status = oGdPicturePDF.NewPDF();
        if (status == GdPictureStatus.OK)
        {
            if (oGdPictureImaging.TiffIsMultiPage(imageId) == false) //One-page tiff image.
            {
                //Adding an image as a resource and drawing it onto a new page.
                oGdPicturePDF.AddImageFromGdPictureImage(imageId, PdfAdvancedImageCompression.PdfAdvancedImageCompressionMRC);
                if (oGdPicturePDF.GetStat() == GdPictureStatus.OK)
                {
                    //Saving the new PDF to a file.
                    status = oGdPicturePDF.SaveToFile("output.pdf");
                }
                else
                {
                    status = oGdPicturePDF.GetStat();
                }
            }
            else //Multi-page tiff image.
            {
                int NumberOfPages = oGdPictureImaging.TiffGetPageCount(imageId);
                bool savePDF = true;
                //Loop through pages.
                for (int i = 1; i <= NumberOfPages; i++)
                {
                    //Selecting each page in the tiff file.
                    oGdPictureImaging.TiffSelectPage(imageId, i);
                    //Adding the selected tiff page as a resource to a PDF document and draw it on a new page.
                    oGdPicturePDF.AddImageFromGdPictureImage(imageId, PdfAdvancedImageCompression.PdfAdvancedImageCompressionMRC);
                    if (oGdPicturePDF.GetStat() != GdPictureStatus.OK)
                    {
                        status = oGdPicturePDF.GetStat();
                        //Raising a flag to cancel PDF saving.
                        savePDF = false;
                        break;
                    }
                }
                //Checking whether an error occurred in adding any image to the PDF document.
                if (savePDF)
                {
                    status = oGdPicturePDF.SaveToFile("output.pdf");
                }
            }
            oGdPicturePDF.CloseDocument();
        }
        MessageBox.Show("Finished! Status: " + status.ToString(), "TIFF to PDF Example", MessageBoxButtons.OK, MessageBoxIcon.Information);
        //Clearing resources.
        oGdPictureImaging.ReleaseGdPictureImage(imageId);
        oGdPicturePDF.Dispose();
    }
    else
    {
        MessageBox.Show("The image file can't be loaded. Status: " + oGdPictureImaging.GetStat().ToString(), "TIFF to PDF Example", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    oGdPictureImaging.Dispose();