private void DoConvert(string[] filenames) { foreach (string filename in filenames) { Logging.Info("Processing {0}", filename); if (DocumentConversion.CanConvert(filename)) { string pdf_filename = TempFile.GenerateTempFilename("pdf"); DocumentConversion.Convert(filename, pdf_filename); if (ObjAddToGuest.IsChecked ?? false) { Application.Current.Dispatcher.Invoke( new Action(() => { PDFDocument pdf_document = WebLibraryManager.Instance.Library_Guest.AddNewDocumentToLibrary_SYNCHRONOUS(pdf_filename, filename, null, null, null, true, false); PDFReadingControl pdf_reading_control = MainWindowServiceDispatcher.Instance.OpenDocument(pdf_document); pdf_reading_control.EnableGuestMoveNotification(); }), DispatcherPriority.Background); } if (ObjPromptToSave.IsChecked ?? false) { string recommended_filename = TempFile.GenerateTempFilename("pdf"); SaveFileDialog save_file_dialog = new SaveFileDialog(); save_file_dialog.AddExtension = true; save_file_dialog.CheckPathExists = true; save_file_dialog.DereferenceLinks = true; save_file_dialog.OverwritePrompt = true; save_file_dialog.ValidateNames = true; save_file_dialog.DefaultExt = "pdf"; save_file_dialog.Filter = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*"; save_file_dialog.FileName = recommended_filename; if (true == save_file_dialog.ShowDialog()) { string target_filename = save_file_dialog.FileName; File.Copy(pdf_filename, target_filename); } } File.Delete(pdf_filename); } else { StatusManager.Instance.UpdateStatus("DOC_CONV", String.Format("Unable to convert a file of type {0}", Path.GetExtension(filename))); } } }