public static string GetDisplayFile(WorkLogStuff logStuff) { string filePath = SaveStuffFile(logStuff); if (!OfficeConverter.IsValidOfficeFile(filePath)) { return(filePath); } else { string xpsFilePath = System.IO.Path.Combine(basePath, string.Format("{0}.xps", logStuff.Key)); OfficeConverter.ConvertToXps(filePath, xpsFilePath); return(xpsFilePath); } }
private void dgList_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (SelectFileAttachment == null) { return; //防止单击空白或标题等触发该事件 } string xpspath = FileManageHelper.GetPath() + SelectFileAttachment.AttName.Substring(0, SelectFileAttachment.AttName.LastIndexOf(".")) + ".xps"; if (System.IO.File.Exists(xpspath)) { //已经存xps文件,直接加载 using (XpsDocument xpsDoc = new XpsDocument(xpspath, FileAccess.Read)) { var fsxps = xpsDoc.GetFixedDocumentSequence(); xpsDocViewr.Document = fsxps; } } else { string filepath = FileManageHelper.ByteConvertDocService(SelectFileAttachment.AttContent, SelectFileAttachment.AttName); string xpsfilepath = filepath.Substring(0, filepath.LastIndexOf(".")).ToString() + ".xps"; try { if (OfficeConverter.IsValidOfficeFile(filepath)) { OfficeConverter.ConvertToXps(filepath, xpsfilepath); using (XpsDocument xpsDoc = new XpsDocument(xpsfilepath, FileAccess.Read)) { var fsxps = xpsDoc.GetFixedDocumentSequence(); xpsDocViewr.Document = fsxps; } } } catch (Exception ex) { MessageBox.Show(ex.GetExceptionMessage()); } } }
private void dgList_SelectionChanged(object sender, SelectionChangedEventArgs e) { #region 加载基本信息 if (SummarizeDocSelected == null) { return;//防止单击空白或标题等触发该事件 } currentsummarize = dgList.SelectedItem as SummarizeDoc; isAddOrUpdate = 1;//可以进行修改操作 //if (currentsummarize.IsChecked == true) //{ // currentsummarize.IsChecked = false; // summarizeList.Remove(currentsummarize); //} //else //{ // currentsummarize.IsChecked = true; // summarizeList.Add(currentsummarize); //} bool checkedState = currentsummarize.IsChecked; #endregion #region //预览文件 // string isxpsPath = GetPath() + currentsummarize.FILEFORM.Substring(0, currentsummarize.FILEFORM.LastIndexOf(".")).ToString() + ".xps"; if (System.IO.File.Exists(isxpsPath)) { //已经存xps文件,直接加载 using (XpsDocument xpsDoc = new XpsDocument(isxpsPath, FileAccess.Read)) { var fsxps = xpsDoc.GetFixedDocumentSequence(); xpsDocViewr.Document = fsxps; } } else { //创建xps文件,启动进程耗时 string serviceDocPathXPS = ByteConvertDocService(currentsummarize.FILEPATH, currentsummarize.FILEFORM); string xpsFilePath = serviceDocPathXPS.Substring(0, serviceDocPathXPS.LastIndexOf(".")).ToString() + ".xps"; try { if (OfficeConverter.IsValidOfficeFile(serviceDocPathXPS)) { OfficeConverter.ConvertToXps(serviceDocPathXPS, xpsFilePath); using (XpsDocument xpsDoc = new XpsDocument(xpsFilePath, FileAccess.Read)) { var fsxps = xpsDoc.GetFixedDocumentSequence(); xpsDocViewr.Document = fsxps; } } } catch (Exception ex) { MessageBox.Show(ex.GetExceptionMessage()); } //var convertResults = OfficeToXps.ConvertToXps(serviceDocPathXPS, ref xpsFilePath); //switch (convertResults.Result) //{ // case ConversionResult.OK: // try // { // using (XpsDocument xpsDoc = new XpsDocument(xpsFilePath, FileAccess.Read)) // { // var fsxps = xpsDoc.GetFixedDocumentSequence(); // xpsDocViewr.Document = fsxps; // } // } // catch (Exception ex) // { // } // break; // case ConversionResult.InvalidFilePath: // // 处理文件路径错误或文件不存在 // break; // case ConversionResult.UnexpectedError: // break; // case ConversionResult.ErrorUnableToInitializeOfficeApp: // // Office 未安装会出现这个异常 // break; // case ConversionResult.ErrorUnableToOpenOfficeFile: // // 文件被占用会出现这个异常 // break; // case ConversionResult.ErrorUnableToAccessOfficeInterop: // // Office 未安装会出现这个异常 // break; // case ConversionResult.ErrorUnableToExportToXps: // // 微软 OFFICE Save As PDF 或 XPS 插件未安装异常 // break; //} } #endregion #region 判断全选和保存状态 int ischeckCount = (dgList.ItemsSource as List <SummarizeDoc>).Count(p => p.IsChecked == true); if (ischeckCount == 1 || ischeckCount == 0) { //if (ischeckCount == 1) //{ // //SummarizeDocSelected = (dgList.ItemsSource as List<SummarizeDoc>).Where(p => p.IsChecked == true).FirstOrDefault(); // //RuleName.Text = SummarizeDocSelected.SUMMARIZENAME; // //Sender.Text = SummarizeDocSelected.SENDPERSON; // //dpSendDate.SelectedDate = Convert.ToDateTime(SummarizeDocSelected.SENDDATE); // //tbSynopsis.Text = SummarizeDocSelected.SUMMARY; //} //btnSave.IsEnabled = true; isAddOrUpdate = 1;//可以进行修改操作 } else { //RuleName.Text = ""; //Sender.Text = ""; //dpSendDate.SelectedDate = Convert.ToDateTime(DateTime.Now); //tbSynopsis.Text = ""; //btnSave.IsEnabled = false; isAddOrUpdate = 0; } foreach (SummarizeDoc result in dgList.ItemsSource) { if (result.IsChecked != checkedState) { this.chkAll.IsChecked = null; return; } } chkAll.IsChecked = checkedState; #endregion }
/// <summary> /// 上传附件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAdd_Click_1(object sender, RoutedEventArgs e) { isAddOrUpdate = 0;//上传即新建 upfilestr = ""; OpenFileDialog dlg = new OpenFileDialog(); dlg.CheckFileExists = true; //检查文件是否存在 dlg.Multiselect = false; //是否允许多选,false表示单选 dlg.CheckPathExists = true; //只限制上传word和excel dlg.Filter = "Office Files|*.doc;*.docx;*.xls;*.xlsx"; if ((bool)dlg.ShowDialog()) { string filePath = dlg.FileName; upfilestr = dlg.FileName; if (UpLodeEnclouseFolder(filePath) == true) //if (UpLoadFile(filePath,true) == true) { //MessageBox.Show("文件上传成功!"); //新增 currentsummarize.GUID = CO_IA.Client.Utility.NewGuid(); currentsummarize.ACTIVITY_GUID = activityId;//活动id PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke <I_CO_IA.ActivitySummarize.I_CO_IA_SummarizeDoc> (channel => { bool monitorResult = channel.SaveSummarizeDoc(currentsummarize); if (monitorResult == true) { MessageBox.Show("保存成功!"); BindDatGrid(); } else { MessageBox.Show("保存失败!"); } }); //btnSave.IsEnabled = true; //string xpsFilePath = filePath.Substring(0, filePath.LastIndexOf(".")).ToString() + ".xps"; string xpsFilePath = GetPath() + filePath.Substring(filePath.LastIndexOf('\\') + 1, filePath.LastIndexOf(".") - filePath.LastIndexOf('\\') - 1).ToString() + ".xps"; try { if (OfficeConverter.IsValidOfficeFile(filePath)) { OfficeConverter.ConvertToXps(filePath, xpsFilePath); using (XpsDocument xpsDoc = new XpsDocument(xpsFilePath, FileAccess.Read)) { var fsxps = xpsDoc.GetFixedDocumentSequence(); xpsDocViewr.Document = fsxps; } } } catch (Exception ex) { MessageBox.Show(ex.GetExceptionMessage()); } //var convertResults = OfficeToXps.ConvertToXps(filePath, ref xpsFilePath); //switch (convertResults.Result) //{ // case ConversionResult.OK: // try // { // using (XpsDocument xpsDoc = new XpsDocument(xpsFilePath, FileAccess.Read)) // { // var fsxps = xpsDoc.GetFixedDocumentSequence(); // xpsDocViewr.Document = fsxps; // } // } // catch (Exception ex) // { // } // break; // case ConversionResult.InvalidFilePath: // // 处理文件路径错误或文件不存在 // break; // case ConversionResult.UnexpectedError: // break; // case ConversionResult.ErrorUnableToInitializeOfficeApp: // MessageBox.Show("未安装打印机或未启动打印机服务,请重新安装打印机或重启机器后尝试。", "消息提示", MessageBoxButton.OK); // // Office 未安装会出现这个异常 // break; // case ConversionResult.ErrorUnableToOpenOfficeFile: // // 文件被占用会出现这个异常 // break; // case ConversionResult.ErrorUnableToAccessOfficeInterop: // // Office 未安装会出现这个异常 // break; // case ConversionResult.ErrorUnableToExportToXps: // // 微软 OFFICE Save As PDF 或 XPS 插件未安装异常 // break; //} } else { MessageBox.Show("请选择附件!"); } } }
//Conversion private void bwConv_DoWork(object sender, DoWorkEventArgs e) { var worker = sender as BackgroundWorker; var cmpt = 0; OfficeConverter.SilentMode = true; var drtc = new List <DataGridViewRow>(); var newFiles = new List <string>(); OfficeConverter.KeepOpen = true; foreach (DataGridViewRow dr in dgv2003.Rows.Cast <DataGridViewRow>().Where(dr => dr.Cells["Fichier"].Value != null)) { cmpt++; if (worker != null) { worker.ReportProgress((int)(100 * (cmpt / ((double)dgv2003.RowCount)))); if (worker.CancellationPending) { e.Cancel = true; break; } } var filePath = dr.Cells["Fichier"].Value.ToString(); var path = Path.GetDirectoryName(filePath); var parentAnalysisPath = Path.GetDirectoryName(Analyser.Config.Paths[(int)dr.Cells["AnalysisPath"].Value]); var relativePath = parentAnalysisPath == null ? "\\" + Analyser.Config.Paths[(int)dr.Cells["AnalysisPath"].Value].Substring(0, 1) : //drive analysis path.Substring(parentAnalysisPath.Length); //folder in a drive try { string destination; if (!OfficeConverter.ConvertToNewOfficeDocument(filePath, out destination)) { continue; } var fi = new FileInfo(filePath); if (chkAttributs.Checked) { File.SetCreationTime(destination, fi.CreationTime); File.SetLastAccessTime(destination, fi.LastAccessTime); File.SetLastWriteTime(destination, fi.LastWriteTime); } var newFolder = folderBrowserDialog1.SelectedPath + relativePath; var di = new DirectoryInfo(newFolder); di.Create(); fi.MoveTo(newFolder + "\\" + Path.GetFileName(filePath)); drtc.Add(dr); newFiles.Add(destination); } catch (Exception ex) { MessageBox.Show(string.Format(Resources.Languages.Resources.Error_Conversion, filePath, ex.Message), Resources.Languages.Resources.Erreur, MessageBoxButtons.OK, MessageBoxIcon.Error); } } OfficeConverter.DisposeOfficesApp(); for (var a = 0; a < drtc.Count(); a++) { drtc[a].Cells["Fichier"].Value = newFiles[a]; } }
private List <string> GetShareFileUrls() { var ret = new List <string>(); for (var idx = 0; idx < Request.Files.Count; idx++) { try { HttpPostedFileBase fl = Request.Files.Get(idx); if (fl != null && fl.ContentLength > 0) { var ext = Path.GetExtension(Path.GetFileName(fl.FileName)).ToUpper(); if (ext.Contains(".PPT") || ext.Contains(".DOC") || ext.Contains(".XLS") || ext.Contains(".TXT") || ext.Contains(".MSG") || ext.Contains(".PDF") || ext.Contains(".HTML")) { string fn = System.IO.Path.GetFileName(fl.FileName) .Replace(" ", "_").Replace("#", "").Replace("'", "") .Replace("&", "").Replace("?", "").Replace("%", "").Replace("+", ""); string datestring = DateTime.Now.ToString("yyyyMMdd"); string imgdir = Server.MapPath("~/userfiles") + "\\docs\\" + datestring + "\\"; if (!Directory.Exists(imgdir)) { Directory.CreateDirectory(imgdir); } fn = Path.GetFileNameWithoutExtension(fn) + "-" + DateTime.Now.ToString("yyyyMMddHHmmss") + Path.GetExtension(fn); fl.SaveAs(imgdir + fn); var wholefn = imgdir + fn; if (ext.Contains(".PDF")) { if (System.IO.File.Exists(imgdir + Path.GetFileNameWithoutExtension(fn) + ".pdf")) { ret.Add("/userfiles/docs/" + datestring + "/" + Path.GetFileNameWithoutExtension(fn) + ".pdf"); } } else if (ext.Contains(".HTML")) { if (System.IO.File.Exists(imgdir + Path.GetFileNameWithoutExtension(fn) + ".html")) { ret.Add("/userfiles/docs/" + datestring + "/" + Path.GetFileNameWithoutExtension(fn) + ".html"); } } else if (ext.Contains(".XLS")) { if (OfficeConverter.ExcelConverter(wholefn)) { if (System.IO.File.Exists(imgdir + Path.GetFileNameWithoutExtension(fn) + ".html")) { ret.Add("/userfiles/docs/" + datestring + "/" + Path.GetFileNameWithoutExtension(fn) + ".html"); } } } else if (ext.Contains(".DOC") || ext.Contains(".TXT")) { if (OfficeConverter.DocConverter(wholefn)) { if (System.IO.File.Exists(imgdir + Path.GetFileNameWithoutExtension(fn) + ".html")) { ret.Add("/userfiles/docs/" + datestring + "/" + Path.GetFileNameWithoutExtension(fn) + ".html"); } } } else if (ext.Contains(".MSG")) { if (OfficeConverter.OutlookConverter(wholefn)) { if (System.IO.File.Exists(imgdir + Path.GetFileNameWithoutExtension(fn) + ".html")) { ret.Add("/userfiles/docs/" + datestring + "/" + Path.GetFileNameWithoutExtension(fn) + ".html"); } } } else if (ext.Contains(".PPT")) { if (OfficeConverter.PPTConverter(wholefn)) { if (System.IO.File.Exists(imgdir + Path.GetFileNameWithoutExtension(fn) + ".pdf")) { ret.Add("/userfiles/docs/" + datestring + "/" + Path.GetFileNameWithoutExtension(fn) + ".pdf"); } } } } //end if } //end if } //end try catch (Exception ex) {} }//end foreach return(ret); }