예제 #1
0
        /// <summary>
        /// Convert PDF to TIFF format.
        /// </summary>
        /// <param name="inputPdfFile"></param>
        /// <returns>a multi-page TIFF image</returns>
        public static string ConvertPdf2Tiff(string inputPdfFile)
        {
            string[] pngFiles = null;

            try
            {
                pngFiles = ConvertPdf2Png(inputPdfFile);
                string tiffFile = Path.GetTempFileName();
                tiffFile = Path.ChangeExtension(tiffFile, ".tif");

                // put PNG images into a single multi-page TIFF image for return
                ImageIOHelper.MergeTiff(pngFiles, tiffFile);
                return(tiffFile);
            }
            catch (ApplicationException ae)
            {
                Console.WriteLine("ERROR: " + ae.Message);
                throw;
            }
            finally
            {
                if (pngFiles != null)
                {
                    // delete temporary PNG images
                    foreach (string tempFile in pngFiles)
                    {
                        File.Delete(tempFile);
                    }
                }
            }
        }
예제 #2
0
        protected override void mergeTiffToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.InitialDirectory = imageFolder;
            openFileDialog1.Title            = Properties.Resources.Select + " Input Images";
            openFileDialog1.Filter           = "Image Files (*.tif;*.tiff)|*.tif;*.tiff|Image Files (*.bmp)|*.bmp|Image Files (*.jpg;*.jpeg)|*.jpg;*.jpeg|Image Files (*.png)|*.png|All Image Files|*.tif;*.tiff;*.bmp;*.jpg;*.jpeg;*.png";
            openFileDialog1.FilterIndex      = filterIndex;
            openFileDialog1.RestoreDirectory = true;
            openFileDialog1.Multiselect      = true;

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                filterIndex = openFileDialog1.FilterIndex;
                imageFolder = Path.GetDirectoryName(openFileDialog1.FileName);
                SaveFileDialog saveFileDialog1 = new SaveFileDialog();
                saveFileDialog1.InitialDirectory = imageFolder;
                saveFileDialog1.Title            = Properties.Resources.Save + " Multi-page TIFF Image";
                saveFileDialog1.Filter           = "Image Files (*.tif;*.tiff)|*.tif;*.tiff";
                saveFileDialog1.RestoreDirectory = true;

                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    File.Delete(saveFileDialog1.FileName);

                    ImageIOHelper.MergeTiff(openFileDialog1.FileNames, saveFileDialog1.FileName);
                    MessageBox.Show(this, Properties.Resources.Mergecompleted + Path.GetFileName(saveFileDialog1.FileName) + Properties.Resources.created, strProgName, MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
예제 #3
0
        private void backgroundWorkerMergeTiff_DoWork(object sender, DoWorkEventArgs e)
        {
            ArrayList args = (ArrayList)e.Argument;

            string[] inputFiles = (string[])args[0];
            string   outputFile = (string)args[1];

            ImageIOHelper.MergeTiff(inputFiles, outputFile);
            e.Result = outputFile;
        }
예제 #4
0
        /// <summary>
        /// Convert PDF to TIFF format.
        /// </summary>
        /// <param name="inputPdfFile"></param>
        /// <returns>a multi-page TIFF image</returns>
        public static string ConvertPdf2Tiff(string inputPdfFile)
        {
            try {
                string[] pngFiles = ConvertPdf2Png(inputPdfFile);
                string   tiffFile = Path.GetTempFileName();
                tiffFile = Path.ChangeExtension(tiffFile, ".tif");

                // put PNG images into a single multi-page TIFF image for return
                ImageIOHelper.MergeTiff(pngFiles, tiffFile);

                // delete temporary PNG images
                foreach (string tempFile in pngFiles)
                {
                    new FileInfo(tempFile).Delete();
                }

                return(tiffFile);
            }
            catch (Exception e)
            {
                Console.WriteLine("ERROR: " + e.Message);
                return(null);
            }
        }