/// <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); } } } }
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); } } }
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; }
/// <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); } }