[C#/VB.NET] PDF to TIFF using Color Detection
Posted: Tue Sep 02, 2014 10:11 am
Community Forums
https://www.gdpicture.com:443/forum/
Code: Select all
Private Sub CreateTiffs(File As String, OutputFilePath As String, RevisionNumber As String)
Dim oGdPicturePDF As New GdPicturePDF
Dim oGdPictureImaging As New GdPictureImaging
If oGdPicturePDF.LoadFromFile(File, False) = GdPictureStatus.OK Then
Dim tiffID As Integer = 0
Dim PageCount As Integer = oGdPicturePDF.GetPageCount()
Me.ProgressBar1.Maximum = PageCount
For i As Integer = 0 To PageCount - 1
oGdPicturePDF.SelectPage(i + 1)
'rasterize page or extract page bitmap.
Dim rasterPage As Integer = oGdPicturePDF.RenderPageToGdPictureImageEx(200.0F, True, System.Drawing.Imaging.PixelFormat.Format24bppRgb)
Dim tiffCompression__1 As TiffCompression = TiffCompression.TiffCompressionCCITT4 'defines the compression of the tiff page. Let's use CCITT4 for bitonal pages and JPEG for others.
'apply color detection and color depth automatic conversion.
'oGdPictureImaging.ColorDetection(rasterPage, True, False, False)
'If oGdPictureImaging.GetBitDepth(rasterPage) = 1 Then
' tiffCompression__1 = TiffCompression.TiffCompressionCCITT4
'Else
' tiffCompression__1 = TiffCompression.TiffCompressionJPEG
'End If
If i = 0 Then
oGdPictureImaging.TiffSaveAsMultiPageFile(rasterPage, OutputFilePath, tiffCompression__1)
'first rasterizer page GdPicture ID becomes the multipage tiff id.
tiffID = rasterPage
Else
oGdPictureImaging.TiffAddToMultiPageFile(tiffID, rasterPage, tiffCompression__1)
oGdPictureImaging.ReleaseGdPictureImage(rasterPage)
End If
Me.ProgressBar1.Value += 1
Next
oGdPictureImaging.TiffCloseMultiPageFile(tiffID)
oGdPictureImaging.ReleaseGdPictureImage(tiffID)
Me.ProgressBar1.Value = 0
SplitTif(OutputFilePath, "original")
GC.Collect()
GC.WaitForPendingFinalizers()
Else
MessageBox.Show("Can not open file. Status: " + oGdPicturePDF.GetStat().ToString())
End If
End Sub
Code: Select all
PDFPageID = oGdPicturePDF.RenderPageToGdPictureImageEx(200.0F, False, Imaging.PixelFormat.Format24bppRgb)
oGdPictureImaging.ColorDetection(PDFPageID, True, False, False)
If oGdPictureImaging.GetBitDepth(PDFPageID) = 1 Then
Compression = TiffCompression.TiffCompressionCCITT4
Else
Compression = TiffCompression.TiffCompressionJPEG
End If
oGdPictureImaging.TiffSaveAsMultiPageFile(PDFPageID, FullOutputFileName, Compression)
oGdPictureImaging.TiffCloseMultiPageFile(PDFPageID)
oGdPictureImaging.ReleaseGdPictureImage(PDFPageID)