Converting a multipage PDF to a multipage TIFF using color detection in VB.NET
This example shows how to convert an existing PDF document to a multipage TIFF file using the color detection plugin to produce the best quality output while keeping the output file size as low as possible.
'We assume that GdPicture has been correctly installed and unlocked.Const INPUT_DOCUMENT As String = "input.pdf"Const OUTPUT_DOCUMENT As String = "output.tif"Const DPI As Single = 200FDim oGdPicturePDF As New GdPicturePDF()Dim oGdPictureImaging As New GdPictureImaging()If oGdPicturePDF.LoadFromFile(INPUT_DOCUMENT, False) = GdPictureStatus.OK Then Dim tiffID As Integer = 0 For i As Integer = 0 To oGdPicturePDF.GetPageCount() - 1 oGdPicturePDF.SelectPage(i + 1) 'Rasterizing a page or extracting a page bitmap. Dim rasterPage As Integer = oGdPicturePDF.RenderPageToGdPictureImageEx(DPI, True, System.Drawing.Imaging.PixelFormat.Format24bppRgb) If oGdPicturePDF.GetStat() = GdPictureStatus.OK Then 'Defining the compression of the tiff page. Let's use CCITT4 for bitonal pages and JPEG for others. Dim tiffCompression As TiffCompression 'Applying color detection and color depth automatic conversion. oGdPictureImaging.ColorDetection(rasterPage, True, False, False) If oGdPictureImaging.GetBitDepth(rasterPage) = 1 Then tiffCompression = TiffCompression.TiffCompressionCCITT4 Else tiffCompression = TiffCompression.TiffCompressionJPEG End If If i = 0 Then If oGdPictureImaging.TiffSaveAsMultiPageFile(rasterPage, OUTPUT_DOCUMENT, tiffCompression) = GdPictureStatus.OK Then 'Firstly rasterized page's GdPicture ID becomes the multipage tiff id. tiffID = rasterPage Else MessageBox.Show("Error occurred when saving the file. Status: " + oGdPictureImaging.GetStat().ToString(), "Color Detection Example", MessageBoxButtons.OK, MessageBoxIcon.Error) Exit For End If Else If oGdPictureImaging.TiffAddToMultiPageFile(tiffID, rasterPage, tiffCompression) <> GdPictureStatus.OK Then MessageBox.Show("Error occurred when adding a page. Status: " + oGdPictureImaging.GetStat().ToString(), "Color Detection Example", MessageBoxButtons.OK, MessageBoxIcon.Error) Exit For End If oGdPictureImaging.ReleaseGdPictureImage(rasterPage) End If Else MessageBox.Show("Error occurred when rendering the page. Status: " + oGdPicturePDF.GetStat().ToString(), "Color Detection Example", MessageBoxButtons.OK, MessageBoxIcon.Error) End If Next oGdPictureImaging.TiffCloseMultiPageFile(tiffID) oGdPictureImaging.ReleaseGdPictureImage(tiffID)Else MessageBox.Show("The file can't be opened. Status: " + oGdPicturePDF.GetStat().ToString(), "Color Detection Example", MessageBoxButtons.OK, MessageBoxIcon.Error)End IfoGdPicturePDF.Dispose()oGdPictureImaging.Dispose()
This code sample is an example that illustrates how to use our SDK. Please adapt it to your specific use case.