当前位置: 代码迷 >> ASP.NET >> C#操作Word书签 打印 当地测试OK 发布到IIS后打印无反应
  详细解决方案

C#操作Word书签 打印 当地测试OK 发布到IIS后打印无反应

热度:3171   发布时间:2013-02-25 00:00:00.0
C#操作Word书签 打印 本地测试OK 发布到IIS后打印无反应
Microsoft.Office.Interop.Word.ApplicationClass app = new Microsoft.Office.Interop.Word.ApplicationClass();
  string TemplateFile = serverPath + "table\\fgfdgfdgfdg.doc";
  //生成的具有模板样式的新文件
  string docName = Guid.NewGuid().ToString();
  string FileName = serverPath + "table\\" + docName + ".doc";

  //模板文件拷贝到新文件
  if (File.Exists(FileName))
  File.Delete(FileName);
  File.Copy(TemplateFile, FileName);
  Microsoft.Office.Interop.Word.Document doc = new Microsoft.Office.Interop.Word.Document();

  object Obj_FileName = FileName;
  object Visible = true;
  object ReadOnly = false;
  object missing = System.Reflection.Missing.Value;
  //打开文件
  doc = app.Documents.Open(ref Obj_FileName, ref missing, ref ReadOnly, ref missing,
  ref missing, ref missing, ref missing, ref missing,
  ref missing, ref missing, ref missing, ref Visible,
  ref missing, ref missing, ref missing,
  ref missing);
  //doc.ActiveWindow.WindowState = Microsoft.Office.Interop.Word.WdWindowState.wdWindowStateNormal;
  doc.Activate();

  if (!projectID.Equals(string.Empty))
  {
  string sql = "select * from ProjectApproval_CheckMiddleDetail where ProjectID = '" + HiddenFieldID.Value + "' and CheckID = '" + HiddenFieldCheckID.Value + "'";
  DataSet dataset1 = DbHelperSQL.Query(sql);

  # region addInfo
  foreach (Microsoft.Office.Interop.Word.Bookmark bm in doc.Bookmarks)
  {
  if (bm.Name == "ProjectNo")
  {
  bm.Select();
  bm.Range.Text = dataset1.Tables[0].Rows[0]["ProjectNo"].ToString();
  }
  else if (bm.Name == "StartAndEndTime")
  {
  bm.Select();
  bm.Range.Text = dataset1.Tables[0].Rows[0]["StartAndEndTime"].ToString();
  }
  }
  }
  #endregion

  object IsSave = true;

  if (print)
  {
  doc.PrintOut(ref missing, ref missing, ref missing, ref missing,
  ref missing, ref missing, ref missing, ref missing, ref missing,
  ref missing, ref missing, ref missing, ref missing, ref missing,
  ref missing, ref missing, ref missing, ref missing);
  }

  doc.Close(ref IsSave, ref missing, ref missing);
  app.Quit(ref IsSave, ref missing, ref missing);

  //app.Quit();
  if (!print)
  {
  Response.Clear();
  Response.ContentType = "application/msword";

  Response.AddHeader("Content-Disposition", docName);
  Response.Flush();
  Response.WriteFile(FileName);
  Response.End();
  }

  File.Delete(FileName);



点打印后执行到doc.PrintOut(ref missing, ref missing, ref missing, ref missing,
  ref missing, ref missing, ref missing, ref missing, ref missing,
  ref missing, ref missing, ref missing, ref missing, ref missing,
  相关解决方案