Печать tiff документов (windows forms)

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Printing;
using System.Windows.Forms;

namespace WpfControls.CommonClasses
{

    public class WinFormsTiffPrinter
    {
        private System.Drawing.Printing.PrintDocument _printDocument = new System.Drawing.Printing.PrintDocument();
        private System.Windows.Forms.PrintDialog _printDialog = new System.Windows.Forms.PrintDialog();

        private Image _tiffToPrint;
        private FrameDimension _objDimension;
        private int _pageCount;
        private int _activePage;

        private string _documentPath;

        public WinFormsTiffPrinter(string documentPath)
        {
            _documentPath = documentPath;
        }

        public void Print()

        {

            _printDocument.PrintPage += new PrintPageEventHandler(PrintDocument_PrintPage);
            _printDialog.Document = _printDocument;


            if (_printDialog.ShowDialog() == DialogResult.OK)

            {

                _tiffToPrint = Image.FromFile(_documentPath);

                Guid objGuid = _tiffToPrint.FrameDimensionsList[0];

                _objDimension = new FrameDimension(objGuid);
                _pageCount = _tiffToPrint.GetFrameCount(_objDimension);
                _activePage = 0;

                _printDocument.Print();
            }

        }



        private void PrintDocument_PrintPage(object sender, PrintPageEventArgs e)

        {
            _tiffToPrint.SelectActiveFrame(_objDimension, _activePage);

            e.Graphics.DrawImage(_tiffToPrint, e.MarginBounds);

            if (_activePage < _pageCount - 1)
                e.HasMorePages = true;
            else
                e.HasMorePages = false;
            _activePage++;
        }
    }
}