///// <summary> ///// 文件夹操作 ///// </summary> ///// <param name="dt"></param> ///// <param name="printername"></param> ///// <param name="hMenu"></param> ///// <param name="strDefault"></param> ///// <param name="processor"></param> ///// <param name="dtNew"></param> //private void OperatorFile(DataTable dt, string printername, ref IntPtr hMenu, string strDefault, PDFProcessor processor, DataTable dtNew, TreeNode tn, int StartPageNo) //{ // dtNew = GetFileTabelByCheck(dt, tn); // if (dtNew != null) // { // MyCommon.DeleteAndCreateEmptyDirectory(Globals.PDFTemp + "\\", false); // MyCommon.DeleteAndCreateEmptyDirectory(Globals.PDFTemp + "\\", true); // string mpath = MergerFileToTemp(dtNew, processor, tn.Tag.ToString(), "1"); // DataTable dtMNew = CreateNewTable(mpath); // AddText(dtMNew.Rows[0]["filed"].ToString(), processor, dtMNew.Rows[0]["filed"].ToString(), StartPageNo); // hMenu = PrintFile(dtMNew, printername, hMenu, strDefault); // } //} ///// <summary> ///// 模板打印操作 ///// </summary> ///// <param name="dt"></param> ///// <param name="printername"></param> ///// <param name="hMenu"></param> ///// <param name="strDefault"></param> ///// <param name="processor"></param> ///// <param name="dtNew"></param> ///// <returns></returns> //private IntPtr OperatorTem(DataTable dt, string printername, IntPtr hMenu, string strDefault, PDFProcessor processor, DataTable dtNew, int StartPageNo) //{ // dtNew.Rows.Add(new object[] { "", addPageCount(dt.Rows[0]["filed"].ToString(), processor, StartPageNo) }); // //dtNew.Rows.Add(new object[] { "", dt.Rows[0]["filed"].ToString() }); // hMenu = PrintFile(dtNew, printername, hMenu, strDefault); // return hMenu; //} ///// <summary> ///// 合并要组卷的文件到临时目录 ///// </summary> ///// <param name="dt"></param> ///// <returns></returns> //private string MergerFileToTemp(DataTable dt, PDFProcessor processor, string id) //{ // string[] filename = new string[dt.Rows.Count]; // for (int i = 0; i < dt.Rows.Count; i++) // { // filename[i] = Globals.MPDFPath + "\\" + dt.Rows[i]["filed"].ToString(); // } // processor.MergeBatch(filename, Globals.PDFTemp + "\\" + id + ".pdf"); // return Globals.PDFTemp + "\\" + id + ".pdf"; //} ///// <summary> ///// 合并要组卷的文件到临时目录 数据库查询数据 ///// </summary> ///// <param name="dt"></param> ///// <returns></returns> //private string MergerFileToTemp(DataTable dt, PDFProcessor processor, string id, string flg) //{ // string[] filename = new string[dt.Rows.Count]; // for (int i = 0; i < dt.Rows.Count; i++) // { // filename[i] = Globals.ProjectPath + "\\" + dt.Rows[i]["filepath"].ToString(); // } // processor.MergeBatch(filename, Globals.PDFTemp + "\\" + id + ".pdf"); // return Globals.PDFTemp + "\\" + id + ".pdf"; //} ///// <summary> ///// 添加页码 ///// </summary> ///// <param name="filepath">文件路径</param> ///// <param name="processor"></param> ///// <returns>转换后的文件路径</returns> //private string addPageCount(string filepath, PDFProcessor processor, int StartPageNo) //{ // if (System.IO.File.Exists(filepath)) // { // filepath = CopyFileToTemp(filepath, processor, StartPageNo); // } // return filepath; //} ///// <summary> ///// 创建文件到临时目录 ///// </summary> ///// <param name="filepath">文件路径</param> ///// <param name="processor"></param> ///// <returns>复制到临时目录的文件路径</returns> //private string CopyFileToTemp(string filepath, PDFProcessor processor, int StartPageNo) //{ // MyCommon.DeleteAndCreateEmptyDirectory(Globals.PDFTemp + "\\", false); // MyCommon.DeleteAndCreateEmptyDirectory(Globals.PDFTemp + "\\", true); // if (System.IO.File.Exists(filepath)) // { // string OutFileName = Globals.PDFTemp + "\\" + filepath.Substring(filepath.LastIndexOf("\\") + 1); // System.IO.File.Copy(filepath, OutFileName, true); // return AddText(filepath, processor, OutFileName, StartPageNo); // } // else // { // return null; // } //} ///// <summary> ///// 添加PDF文本 ///// </summary> ///// <param name="filepath"></param> ///// <param name="processor"></param> ///// <param name="OutFileName"></param> ///// <param name="StartPageNo">起始页码</param> ///// <returns></returns> //private string AddText(string filepath, PDFProcessor processor, string OutFileName, int StartPageNo) //{ // if (Globals.IsPageNo.Equals("1")) // { // if (!System.IO.Directory.Exists(Globals.PDFTemp + "\\printTemp" + "\\")) // MyCommon.DeleteAndCreateEmptyDirectory(Globals.PDFTemp + "\\printTemp" + "\\"); // string tempPDF = Globals.PDFTemp + "\\printTemp" + "\\temp.pdf"; // System.IO.File.Copy(filepath, tempPDF, true); // int count = processor.GetPageCount(filepath, ""); // uint cor = (uint)System.Drawing.ColorTranslator.ToOle(Color.FromArgb(0, 0, 0)); // double pageW = 0; // double pageH = 0; // if (StartPageNo == 0) // { // for (int i = 0; i < count; i++) // { // processor.GetPageSize(OutFileName, i, out pageW, out pageH); // processor.AddPDFText(OutFileName, tempPDF, i, i, pageW - Globals.PageNoLocationX, pageH - Globals.PageNoLocationY, "", Globals.PageNoLocationSize, prcDefaultFont.PRC_DEFFONT_HELVETICA, cor); // } // } // else // { // for (int i = 0; i < count; i++) // { // processor.GetPageSize(OutFileName, i, out pageW, out pageH); // processor.AddPDFText(OutFileName, tempPDF, i, i, pageW - Globals.PageNoLocationX, pageH - Globals.PageNoLocationY, "", Globals.PageNoLocationSize, prcDefaultFont.PRC_DEFFONT_HELVETICA, cor); // } // } // } // return OutFileName; //} /// <summary> /// 根据所选文件夹和模板生成组卷文件列表 /// </summary> /// <param name="dt"></param> /// <returns></returns> private DataTable GetFileTabelByCheck(DataTable dt, TreeNode node) { string Sqlwhere = GetSql(dt, node.Tag.ToString()); CBLL.FinalArchive cbll = new ERM.CBLL.FinalArchive(); DataSet dd = cbll.GetgFinal_archivePDFByCheck(Sqlwhere, Globals.ProjectNO); if (dd != null && dd.Tables[0].Rows.Count > 0) { return(dd.Tables[0]); } return(null); }
/// <summary> /// 取开始页数 /// </summary> /// <param name="dt"></param> /// <returns></returns> private int GetStartPageNo(DataTable dt, TreeNode node) { CBLL.FinalArchive cbll = new ERM.CBLL.FinalArchive();; int count = 0; string Sqlwhere = null; if (node.ImageIndex == 1) { Sqlwhere = GetSql(dt, node.Tag.ToString()); count = cbll.GetgFinal_archivePDFByCheckStartPageNo(Sqlwhere, Globals.ProjectNO, node.Tag.ToString()); } if (node.ImageIndex == 2) { Sqlwhere = GetSql(dt, node.Parent.Tag.ToString()); count = cbll.GetgFinal_archivePDFByCheckStartPageNo(Sqlwhere, Globals.ProjectNO, node.Parent.Tag.ToString()); } return(count); }