Codecs: How to convert PDF to TIFF?
                In This Topic
            
            
            
            		VintaSoft Imaging .NET SDK renders PDF page (draws text, images and graphics on PDF page) when converting PDF document to a TIFF file.
		
		
		By default SDK:
		
			- Renders PDF page with 96 dpi resolution.
- Searches external font in directory "$ASSEMBLY_DIRECTORY$\Fonts\" and in fonts directory of the operation system.
		You need override algorithm for searching external fonts if PDF document contains not standard external fonts. This can be done using the 
FileFontProgramsControllerWithFallbackFont class.
		
		More info about fonts in PDF document can be found 
here.
		
		
		VintaSoft Imaging .NET SDK allows to convert PDF document to a TIFF file using class 
DocumentConverter, 
ImageCollection or 
TiffFile. Usage of 
DocumentConverter class provides the best performance because 
DocumentConverter class uses multi-threading.
		
		
		
		Here is C#/VB.NET code that shows how to convert PDF document with default resolution (96 dpi) to TIFF file using 
DocumentConverter class:
		
		
    
	
	    
	    
/// <summary>
/// Converts PDF document to a TIFF file using Vintasoft.Imaging.DocumentConverter class.
/// </summary>
public static void ConvertPdfToTiff_DocumentConverter(string pdfFileName, string tiffFileName)
{
    Vintasoft.Imaging.DocumentConverter.Convert(pdfFileName, tiffFileName);
}
	     
	 
 
    
	
	    
	    
''' <summary>
''' Converts PDF document to a TIFF file using Vintasoft.Imaging.DocumentConverter class.
''' </summary>
Public Shared Sub ConvertPdfToTiff_DocumentConverter(pdfFileName As String, tiffFileName As String)
    Vintasoft.Imaging.DocumentConverter.Convert(pdfFileName, tiffFileName)
End Sub
	     
	 
 
		
		
		Here is C#/VB.NET code that shows how to convert PDF document with specified resolution to TIFF file using 
DocumentConverter class:
		
		
    
	
	    
	    
/// <summary>
/// Converts PDF document to TIFF file using Vintasoft.Imaging.DocumentConverter class.
/// PDF document is rendered with specified resolution.
/// </summary>
public static void ConvertPdfToTiff_CustomResolution_DocumentConverter(string pdfFileName, string tiffFileName)
{
    // create the document convertor
    Vintasoft.Imaging.DocumentConverter converter = new Vintasoft.Imaging.DocumentConverter();
    // subscribe to the DocumentConverter.ImageDecodingStarting event
    converter.ImageDecodingStarting += Converter_ImageDecodingStarting;
    // add PDF pages to the document convertor
    converter.Images.Add(pdfFileName);
    // convert PDF pages to TIFF images
    converter.Convert(tiffFileName);
}
/// <summary>
/// Event handler for the DocumentConverter.ImageDecodingStarting event.
/// </summary>
/// <param name="sender">Object.</param>
/// <param name="e">Event args.</param>
private static void Converter_ImageDecodingStarting(object sender, Vintasoft.Imaging.ImageDecodingStartingEventArgs e)
{
    if (e.RenderingSettings != null)
    {
        // change decoding file resolution
        e.RenderingSettings.Resolution = new Vintasoft.Imaging.Resolution(128, 128);
    }
}
	     
	 
 
    
	
	    
	    
''' <summary>
''' Converts PDF document to TIFF file using Vintasoft.Imaging.DocumentConverter class.
''' PDF document is rendered with specified resolution.
''' </summary>
Public Shared Sub ConvertPdfToTiff_CustomResolution_DocumentConverter(pdfFileName As String, tiffFileName As String)
    ' create the document convertor
    Dim converter As New Vintasoft.Imaging.DocumentConverter()
    ' subscribe to the DocumentConverter.ImageDecodingStarting event
    AddHandler converter.ImageDecodingStarting, AddressOf Converter_ImageDecodingStarting
    ' add PDF pages to the document convertor
    converter.Images.Add(pdfFileName)
    ' convert PDF pages to TIFF images
    converter.Convert(tiffFileName)
End Sub
''' <summary>
''' Event handler for the DocumentConverter.ImageDecodingStarting event.
''' </summary>
''' <param name="sender">Object.</param>
''' <param name="e">Event args.</param>
Private Shared Sub Converter_ImageDecodingStarting(sender As Object, e As Vintasoft.Imaging.ImageDecodingStartingEventArgs)
    If e.RenderingSettings IsNot Nothing Then
        ' change decoding file resolution
        e.RenderingSettings.Resolution = New Vintasoft.Imaging.Resolution(128, 128)
    End If
End Sub
	     
	 
 
		
		
		Here is C#/VB.NET code that shows how to convert PDF document with default resolution (96 dpi) to TIFF file using 
ImageCollection class:
		
		
    
	
	    
	    
/// <summary>
/// Converts PDF document to TIFF file using ImageCollection and TiffEncoder classes.
/// </summary>
public static void ConvertPdfToTiff_ImageCollection(string pdfFileName, string tiffFileName)
{
    // create image collection
    using (Vintasoft.Imaging.ImageCollection imageCollection = 
        new Vintasoft.Imaging.ImageCollection())
    {
        // add PDF document to collection
        imageCollection.Add(pdfFileName);
        // create TiffEncoder
        using (Vintasoft.Imaging.Codecs.Encoders.TiffEncoder tiffEncoder = 
            new Vintasoft.Imaging.Codecs.Encoders.TiffEncoder(true))
        {
            // set TIFF compression to Zip
            tiffEncoder.Settings.Compression = 
                Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffCompression.Zip;
            // save images of image collection to TIFF file using TiffEncoder
            imageCollection.SaveSync(tiffFileName, tiffEncoder);
        }
        // dispose images
        imageCollection.ClearAndDisposeItems();
    }
}
	     
	 
 
    
	
	    
	    
''' <summary>
''' Converts PDF document to TIFF file using ImageCollection and TiffEncoder classes.
''' </summary>
Public Shared Sub ConvertPdfToTiff_ImageCollection(pdfFileName As String, tiffFileName As String)
    ' create image collection
    Using imageCollection As New Vintasoft.Imaging.ImageCollection()
        ' add PDF document to collection
        imageCollection.Add(pdfFileName)
        ' create TiffEncoder
        Using tiffEncoder As New Vintasoft.Imaging.Codecs.Encoders.TiffEncoder(True)
            ' set TIFF compression to Zip
            tiffEncoder.Settings.Compression = Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffCompression.Zip
            ' save images of image collection to TIFF file using TiffEncoder
            imageCollection.SaveSync(tiffFileName, tiffEncoder)
        End Using
        ' dispose images
        imageCollection.ClearAndDisposeItems()
    End Using
End Sub
	     
	 
 
		
		
		Here is C#/VB.NET code that shows how to convert PDF document with specified resolution to TIFF file using 
ImageCollection class:
		
		
    
	
	    
	    
/// <summary>
/// Converts PDF document to TIFF file using ImageCollection and TiffEncoder classes.
/// PDF document is rendered with specified resolution.
/// </summary>
public static void ConvertPdfToTiffU_CustomResolution_ImageCollection(string pdfFileName, string tiffFileName, float dpi)
{
    // create image collection
    using (Vintasoft.Imaging.ImageCollection imageCollection = new Vintasoft.Imaging.ImageCollection())
    {
        // add PDF document to collection
        imageCollection.Add(pdfFileName);
        // set rendering settings
        imageCollection.SetRenderingSettings(new Vintasoft.Imaging.Codecs.Decoders.RenderingSettings(
            dpi,
            dpi,
            Vintasoft.Imaging.ImageInterpolationMode.HighQualityBilinear,
            Vintasoft.Imaging.Drawing.DrawingSmoothingMode.AntiAlias));
        // create TiffEncoder
        using (Vintasoft.Imaging.Codecs.Encoders.TiffEncoder tiffEncoder = 
            new Vintasoft.Imaging.Codecs.Encoders.TiffEncoder(true))
        {
            // set TIFF compression to Zip
            tiffEncoder.Settings.Compression = 
                Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffCompression.Zip;
            // save images of image collection to TIFF file using TiffEncoder
            imageCollection.SaveSync(tiffFileName, tiffEncoder);
        }
        // dispose images
        imageCollection.ClearAndDisposeItems();
    }
}
	     
	 
 
    
	
	    
	    
''' <summary>
''' Converts PDF document to TIFF file using ImageCollection and TiffEncoder classes.
''' PDF document is rendered with specified resolution.
''' </summary>
Public Shared Sub ConvertPdfToTiffU_CustomResolution_ImageCollection(pdfFileName As String, tiffFileName As String, dpi As Single)
    ' create image collection
    Using imageCollection As New Vintasoft.Imaging.ImageCollection()
        ' add PDF document to collection
        imageCollection.Add(pdfFileName)
        ' set rendering settings
        imageCollection.SetRenderingSettings(New Vintasoft.Imaging.Codecs.Decoders.RenderingSettings(dpi, dpi, Vintasoft.Imaging.ImageInterpolationMode.HighQualityBilinear, Vintasoft.Imaging.Drawing.DrawingSmoothingMode.AntiAlias))
        ' create TiffEncoder
        Using tiffEncoder As New Vintasoft.Imaging.Codecs.Encoders.TiffEncoder(True)
            ' set TIFF compression to Zip
            tiffEncoder.Settings.Compression = Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffCompression.Zip
            ' save images of image collection to TIFF file using TiffEncoder
            imageCollection.SaveSync(tiffFileName, tiffEncoder)
        End Using
        ' dispose images
        imageCollection.ClearAndDisposeItems()
    End Using
End Sub
	     
	 
 
		
		
		Here is C#/VB.NET code that shows how to convert PDF document with default resolution (96 dpi) to TIFF file using 
PdfDocument and 
TiffFile classes:
		
		
    
	
	    
	    
/// <summary>
/// Converts PDF document to TIFF file using PdfDocument and TiffFile classes.
/// </summary>
public static void ConvertPdfToTiff_TiffFile(string pdfFileName, string tiffFileName)
{
    // open existing PDF document
    using (Vintasoft.Imaging.Pdf.PdfDocument pdfDocument = new Vintasoft.Imaging.Pdf.PdfDocument(pdfFileName))
    {
        // create new TIFF file
        using (Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile tiffFile = 
            new Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile(tiffFileName, 
                Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFileFormat.LittleEndian))
        {
            // set TIFF compression to Zip
            tiffFile.Pages.EncoderSettings.Compression = 
                Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffCompression.Zip;
            // for each PDF page
            for (int i = 0; i < pdfDocument.Pages.Count; i++)
            {
                // render PDF page and add as image to Tiff file
                tiffFile.Pages.Add(pdfDocument.Pages[i].Render());
                // save changes to TIFF file
                tiffFile.SaveChanges();
            }
        }
    }
}
	     
	 
 
    
	
	    
	    
''' <summary>
''' Converts PDF document to TIFF file using PdfDocument and TiffFile classes.
''' </summary>
Public Shared Sub ConvertPdfToTiff_TiffFile(pdfFileName As String, tiffFileName As String)
    ' open existing PDF document
    Using pdfDocument As New Vintasoft.Imaging.Pdf.PdfDocument(pdfFileName)
        ' create new TIFF file
        Using tiffFile As New Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile(tiffFileName, Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFileFormat.LittleEndian)
            ' set TIFF compression to Zip
            tiffFile.Pages.EncoderSettings.Compression = Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffCompression.Zip
            ' for each PDF page
            For i As Integer = 0 To pdfDocument.Pages.Count - 1
                ' render PDF page and add as image to Tiff file
                tiffFile.Pages.Add(pdfDocument.Pages(i).Render())
                ' save changes to TIFF file
                tiffFile.SaveChanges()
            Next
        End Using
    End Using
End Sub
	     
	 
 
		
		
		Here is C#/VB.NET code that shows how to convert PDF document with specified resolution to TIFF file using 
PdfDocument and 
TiffFile classes:
		
		
    
	
	    
	    
/// <summary>
/// Converts PDF document to TIFF file using PdfDocument and TiffFile classes.
/// PDF document is rendered with specified resolution.
/// </summary>
public static void ConvertPdfToTiff_CustomResolution_TiffFile(string pdfFileName, string tiffFileName, float dpi)
{
    // open existing PDF document
    using (Vintasoft.Imaging.Pdf.PdfDocument pdfDocument = 
        new Vintasoft.Imaging.Pdf.PdfDocument(pdfFileName))
    {
        // set resolution
        pdfDocument.RenderingSettings.Resolution = 
            new Vintasoft.Imaging.Resolution(dpi, dpi);
        
        // set rendering mode - optimal balance between rendering speed and quality
        pdfDocument.RenderingSettings.RenderingMode = Vintasoft.Imaging.Pdf.PdfRenderingMode.Normal;
        // create new TIFF file
        using (Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile tiffFile = 
            new Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile(tiffFileName, 
                Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFileFormat.LittleEndian))
        {
            // set TIFF compression to Zip
            tiffFile.Pages.EncoderSettings.Compression = 
                Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffCompression.Zip;
            // for each PDF page
            for (int i = 0; i < pdfDocument.Pages.Count; i++)
            {
                // render PDF page and add as image to Tiff file
                tiffFile.Pages.Add(pdfDocument.Pages[i].Render());
                // save changes to TIFF file
                tiffFile.SaveChanges();
            }
        }
    }
}
	     
	 
 
    
	
	    
	    
''' <summary>
''' Converts PDF document to TIFF file using PdfDocument and TiffFile classes.
''' PDF document is rendered with specified resolution.
''' </summary>
Public Shared Sub ConvertPdfToTiff_CustomResolution_TiffFile(pdfFileName As String, tiffFileName As String, dpi As Single)
    ' open existing PDF document
    Using pdfDocument As New Vintasoft.Imaging.Pdf.PdfDocument(pdfFileName)
        ' set resolution
        pdfDocument.RenderingSettings.Resolution = New Vintasoft.Imaging.Resolution(dpi, dpi)
        ' set rendering mode - optimal balance between rendering speed and quality
        pdfDocument.RenderingSettings.RenderingMode = Vintasoft.Imaging.Pdf.PdfRenderingMode.Normal
        ' create new TIFF file
        Using tiffFile As New Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile(tiffFileName, Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFileFormat.LittleEndian)
            ' set TIFF compression to Zip
            tiffFile.Pages.EncoderSettings.Compression = Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffCompression.Zip
            ' for each PDF page
            For i As Integer = 0 To pdfDocument.Pages.Count - 1
                ' render PDF page and add as image to Tiff file
                tiffFile.Pages.Add(pdfDocument.Pages(i).Render())
                ' save changes to TIFF file
                tiffFile.SaveChanges()
            Next
        End Using
    End Using
End Sub