public static void Exp_HPSY() { String tempname = getfilename(); if (tempname == "") { return; } Document document = new Document(); document.SetPageSize(PageSize.A4.Rotate()); // 设置文档为横向 PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(tempname, FileMode.Create)); document.Open(); document.NewPage(); table = new PdfPTable(13);// 设计试验8的表格总共有13列 table.WidthPercentage = 100; Paragraph Title1 = new Paragraph("7. 滑板控制装置(I型车)火炮联锁试验记录", fonttitle); Title1.SetAlignment("center"); document.Add(Title1); nullb = new Paragraph(" ", fonttitle2); nullb.Leading = 10; //此数值用于调整空白大小0 document.Add(nullb); dtb = Export_All_SY.DBQuery("SY8_Hplx"); table = Export_Table_Design.SY8_Table(table, dtb); Export_All_SY.DBDel("SY8_Hplx"); document.Add(table); //將table放到pdf文件中 Title1 = new Paragraph("注:试验中“√”表示动作正常,“×”表示动作异常", fonttitle3); document.Add(Title1); //将标题段加入PDF文档中 document.Close(); }
static iTextSharp.text.Font fonttitle3 = new iTextSharp.text.Font(bf1, 10); //表格內容字体,大小15 public static void Exp_SY1_SY2() { PdfReader pdfReader; PdfStamper pdfStamper; AcroFields pdfFormFields; BaseFont bf1 = BaseFont.CreateFont("C:\\Windows\\Fonts\\SIMSUN.TTC,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); //文件保存的真正路径 String tempname = getfilename(); if (tempname == "") { return; } string path = AppDomain.CurrentDomain.BaseDirectory; int flag = 1; path = System.IO.Directory.GetParent(path).Parent.Parent.FullName + "\\SY1_SY2_MB.pdf"; //MessageBox.Show(path); pdfReader = new PdfReader(path);//模板的路径 pdfStamper = new PdfStamper(pdfReader, new FileStream(tempname, FileMode.OpenOrCreate)); pdfFormFields = pdfStamper.AcroFields; pdfStamper.FormFlattening = true; pdfFormFields.AddSubstitutionFont(bf1); dtb = Export_All_SY.DBQuery("Sy1_Fdsk"); Export_All_SY.DBDel("Sy1_Fdsk"); Export_Table_Design.SY1_Table(pdfFormFields, ref flag, dtb); flag = 1; dtb = Export_All_SY.DBQuery("Sy2_Gzzd"); Export_All_SY.DBDel("Sy2_Gzzd"); Export_Table_Design.SY2_Table(pdfFormFields, ref flag, dtb); pdfStamper.Close(); pdfReader.Close(); }
public static void Exp_SY6() { String tempname = getfilename(); if (tempname == "") { return; } Document document = new Document(); document.SetPageSize(PageSize.A4.Rotate()); // 设置文档为横向 PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(tempname, FileMode.Create)); document.Open(); document.NewPage(); table = new PdfPTable(21);// 设计试验6的表格总共有21列 table.WidthPercentage = 100; Paragraph Title = new Paragraph("6. 滑板控制装置系统调试精度试验记录", fonttitle); Title.SetAlignment("center"); document.Add(Title); nullb = new Paragraph(" ", fonttitle2); nullb.Leading = 10; //此数值用于调整空白大小0 document.Add(nullb); dtb = Export_All_SY.DBQuery("SY6_Xtts"); table = Export_Table_Design.SY6_Table(table, dtb); Export_All_SY.DBDel("SY6_Xtts"); document.Add(table);//將table放到pdf文件中 Title = new Paragraph("注:表中θ表示尾翼板角度,β表示首下板角度,φ表示首上板角度", fonttitle3); Title.SetAlignment("center"); document.Add(Title); //将标题段加入PDF文档中 document.Close(); }
public static void Exp_SY3_SY4() { String tempname = getfilename(); if (tempname == "") { return; } Document document = new Document(); PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(tempname, FileMode.Create)); document.Open(); table = new PdfPTable(3);// 设计试验3的表格总共有3列 table.WidthPercentage = 82; table.SetTotalWidth(new float[] { 100f, 200f, 250f }); ///表頭設計 //添加段落,第二个参数指定使用fonttitle格式的字体,写入中文必须指定字体否则无法显示中文 Paragraph Title = new Paragraph("3. 滑板控制装置首板收板时间试验记录", fonttitle); Title.SetAlignment("center"); //设置居中 document.Add(Title); //将标题段加入PDF文档中 //空一行 nullb = new Paragraph(" ", fonttitle2); nullb.Leading = 10; //此数值用于调整空白大小0 document.Add(nullb); DataTable dtb = Export_All_SY.DBQuery("SY3_Timer"); //表格3设计单独做一个函数 table = Export_Table_Design.SY3_Table(table, dtb); Export_All_SY.DBDel("SY3_Timer"); document.Add(table); //空一行 nullb = new Paragraph(" ", fonttitle2); nullb.Leading = 60; //此数值用于调整空白大小0 document.Add(nullb); table = new PdfPTable(5); // 设计试验4的表格总共有5列 table.WidthPercentage = 82; table.SetTotalWidth(new float[] { 100f, 200f, 200f, 200f, 200f }); Title = new Paragraph("4. 滑板控制装置连续收板(手动20次)试验记录", fonttitle); Title.SetAlignment("center"); document.Add(Title); nullb = new Paragraph(" ", fonttitle2); nullb.Leading = 10; //此数值用于调整空白大小0 document.Add(nullb); dtb = Export_All_SY.DBQuery("SY4_Lxsb"); //表格4设计单独做一个函数 table = Export_Table_Design.SY4_Table(table, dtb); Export_All_SY.DBDel("SY4_Lxsb"); document.Add(table); //將table放到pdf文件中 Title = new Paragraph(" 注:试验中“√”表示动作正常,“×”表示动作异常", fonttitle3); document.Add(Title); //将标题段加入PDF文档中 document.Close(); }
public static void Exp_SY7() { Paragraph Title; String tempname = getfilename(); if (tempname == "") { return; } Document document = new Document(); PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(tempname, FileMode.Create)); document.Open(); table = new PdfPTable(2);// 设计试验7的表格总共有6列 table.WidthPercentage = 100; if (MainFrom.comBoxData_Form == "HBK-II/1") { Title = new Paragraph("7. 滑板控制装置连续收板(程控20次)试验记录", fonttitle); } else { Title = new Paragraph("8. 滑板控制装置连续收板(程控20次)试验记录", fonttitle); } Title.SetAlignment("center"); document.Add(Title); nullb = new Paragraph(" ", fonttitle2); nullb.Leading = 10; //此数值用于调整空白大小0 document.Add(nullb); int flag = 1; PdfPTable table1 = new PdfPTable(6); PdfPTable table2 = new PdfPTable(6); dtb = Export_All_SY.DBQuery("SY7_Lxsb_Ck"); table1 = Export_Table_Design.SY7_Table1(table1, ref flag, dtb); //表格7设计单独做一个函数 table2 = Export_Table_Design.SY7_Table2(table2, ref flag, dtb); //表格7设计单独做一个函数 Export_All_SY.DBDel("SY7_Lxsb_Ck"); cell1 = new PdfPCell(table1); cell1.Padding = 0; table.AddCell(cell1); cell1 = new PdfPCell(table2); cell1.Padding = 0.5f; table.AddCell(cell1); document.Add(table); //將table放到pdf文件中 Title = new Paragraph(" 注:试验中“√”表示动作正常,“×”表示动作异常", fonttitle3); document.Add(Title); //将标题段加入PDF文档中 document.Close(); }
/// <summary> /// 加载设计的pdf模板,并对需要赋值的地方赋值 /// </summary> public static void Exp_PDF(int status) { String str = " "; SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "Text documents (*.pdf)|*.pdf"; saveFileDialog.FilterIndex = 0; saveFileDialog.RestoreDirectory = true; saveFileDialog.CreatePrompt = true; saveFileDialog.Title = "导出Text文件到"; DateTime now = DateTime.Now; if (status == 0) { string date = now.Year.ToString().PadLeft(2) + "-" + now.Month.ToString().PadLeft(2, '0') + "-" + now.Day.ToString().PadLeft(2, '0'); SY_Data data = new SY_Data(MainFrom.comBoxData_Form, MainFrom.textB_HbData_Form, MainFrom.textB_CgqData_Form, MainFrom.Uname, date); getCount(data); string[] com = MainFrom.comBoxData_Form.Split('/'); string pno = ""; for (int k = 0; k < com.Length; k++) { pno = pno + com[k]; } saveFileDialog.FileName = count + "_" + pno + "_" + MainFrom.textB_HbData_Form + "_" + MainFrom.Uname + "_" + MainFrom.textB_CgqData_Form + "_" + now.Year.ToString().PadLeft(2) + "" + now.Month.ToString().PadLeft(2, '0') + "" + now.Day.ToString().PadLeft(2, '0') + "-" + now.Hour.ToString().PadLeft(2, '0') + "" + now.Minute.ToString().PadLeft(2, '0') + "" + now.Second.ToString().PadLeft(2, '0'); } else { string[] com = History.Cp_no.Split('/'); string p_no = ""; for (int k = 0; k < com.Length; k++) { p_no = p_no + com[k]; } saveFileDialog.FileName = History.Sycs + "_" + p_no + "_" + History.Kzx_no + "_" + History.Czy + "_" + History.Cgq_no + "_" + History.Sy_date + "-" + now.Hour.ToString().PadLeft(2, '0') + "" + now.Minute.ToString().PadLeft(2, '0') + "" + now.Second.ToString().PadLeft(2, '0'); } DialogResult result = saveFileDialog.ShowDialog(); if (result == DialogResult.OK) { PdfReader pdfReader; PdfStamper pdfStamper; AcroFields pdfFormFields; BaseFont bf1 = BaseFont.CreateFont("C:\\Windows\\Fonts\\SIMSUN.TTC,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); //文件保存的真正路径 string tempFilePath = saveFileDialog.FileName; string path = AppDomain.CurrentDomain.BaseDirectory, sql; int flag = 1; if (MainFrom.comBoxData_Form == "HBK-II/1") { path = System.IO.Directory.GetParent(path).Parent.Parent.FullName + "\\II型车.pdf"; pdfReader = new PdfReader(path);//模板的路径 pdfStamper = new PdfStamper(pdfReader, new FileStream(tempFilePath, FileMode.OpenOrCreate)); pdfFormFields = pdfStamper.AcroFields; pdfStamper.FormFlattening = true; pdfFormFields.AddSubstitutionFont(bf1); if (status == 0) { pdfFormFields.SetField("CPXH", MainFrom.comBoxData_Form); pdfFormFields.SetField("HBKZXBH", MainFrom.textB_HbData_Form); pdfFormFields.SetField("JDCGQBH", MainFrom.textB_CgqData_Form); pdfFormFields.SetField("SYY", MainFrom.Uname); } else { pdfFormFields.SetField("CPXH", History.Cp_no); pdfFormFields.SetField("HBKZXBH", History.Kzx_no); pdfFormFields.SetField("JDCGQBH", History.Cgq_no); pdfFormFields.SetField("SYY", History.Czy); } //试验1的报表 if (status == 0) { dtb = SY1_DB(); } else { dtb = History.Final_Pdf("SY1_Fdsk_Final"); } Export_Table_Design.SY1_Table(pdfFormFields, ref flag, dtb); flag = 1; if (status == 0) { dtb = SY2_DB(); } else { dtb = History.Final_Pdf("SY2_Gzzd_Final"); } Export_Table_Design.SY2_Table(pdfFormFields, ref flag, dtb); pdfStamper.Close(); pdfReader.Close(); } else { path = System.IO.Directory.GetParent(path).Parent.Parent.FullName + "\\I型车.pdf"; pdfReader = new PdfReader(path);//模板的路径 pdfStamper = new PdfStamper(pdfReader, new FileStream(tempFilePath, FileMode.OpenOrCreate)); pdfFormFields = pdfStamper.AcroFields; pdfStamper.FormFlattening = true; pdfFormFields.AddSubstitutionFont(bf1); if (status == 0) { pdfFormFields.SetField("CPXH", MainFrom.comBoxData_Form); pdfFormFields.SetField("HBKZXBH", MainFrom.textB_HbData_Form); pdfFormFields.SetField("JDCGQBH", MainFrom.textB_CgqData_Form); pdfFormFields.SetField("SYY", MainFrom.Uname); } else { pdfFormFields.SetField("CPXH", History.Cp_no); pdfFormFields.SetField("HBKZXBH", History.Kzx_no); pdfFormFields.SetField("JDCGQBH", History.Cgq_no); pdfFormFields.SetField("SYY", History.Czy); } //试验1的报表 if (status == 0) { dtb = SY1_DB(); } else { dtb = History.Final_Pdf("SY1_Fdsk_Final"); } Export_Table_Design.SY1_Table(pdfFormFields, ref flag, dtb); flag = 1; if (status == 0) { dtb = SY2_DB(); } else { dtb = History.Final_Pdf("SY2_Gzzd_Final"); } Export_Table_Design.SY2_Table(pdfFormFields, ref flag, dtb); pdfStamper.Close(); pdfReader.Close(); } Exp_PDF1(saveFileDialog.FileName, status); } }
/// <summary> /// 设计项目试验7的打印报表 /// </summary> /// <param name="filepath"></param> public static void Exp_PDF2(string filepath, int status) { PdfReader pdfReader = null; PdfImportedPage pageTemplate = null; int i, j, k; Document document = null; Paragraph Title; //============================================加载模板并在模板后添加新表格================================================== string tempPath = Path.GetDirectoryName(filepath) + Path.GetFileNameWithoutExtension(filepath) + "_temp.pdf"; try { pdfReader = new PdfReader(filepath); Rectangle pageSize = pdfReader.GetPageSize(1); document = new Document(pageSize); PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(tempPath, FileMode.Create)); document.Open(); int total = pdfReader.NumberOfPages + 1; PdfContentByte cbUnder = writer.DirectContentUnder; for (i = 1; i < total; i++) { pageTemplate = writer.GetImportedPage(pdfReader, i); cbUnder.AddTemplate(pageTemplate, 0, 0); document.NewPage(); } //============================================设计试验7的表格================================================== table = new PdfPTable(2);// 设计试验7的表格总共有6列 table.WidthPercentage = 100; if (MainFrom.comBoxData_Form == "HBK-II/1") { Title = new Paragraph("7. 滑板控制装置连续收板(程控20次)试验记录", fonttitle); } else { Title = new Paragraph("8. 滑板控制装置连续收板(程控20次)试验记录", fonttitle); } Title.SetAlignment("center"); document.Add(Title); nullb = new Paragraph(" ", fonttitle2); nullb.Leading = 10; //此数值用于调整空白大小0 document.Add(nullb); int flag = 1; PdfPTable table1 = new PdfPTable(6); PdfPTable table2 = new PdfPTable(6); if (status == 0) { dtb = SY7_DB(); } else { dtb = History.Final_Pdf("SY7_Lxsb_Ck_Final"); } table1 = Export_Table_Design.SY7_Table1(table1, ref flag, dtb); //表格7设计单独做一个函数 table2 = Export_Table_Design.SY7_Table2(table2, ref flag, dtb); //表格7设计单独做一个函数 cell1 = new PdfPCell(table1); cell1.Padding = 0; table.AddCell(cell1); cell1 = new PdfPCell(table2); cell1.Padding = 0.5f; table.AddCell(cell1); document.Add(table); //將table放到pdf文件中 Title = new Paragraph(" 注:试验中“√”表示动作正常,“×”表示动作异常", fonttitle3); document.Add(Title); //将标题段加入PDF文档中 } catch (Exception ex) { throw ex; } finally { document.Close(); if (pdfReader != null) { pdfReader.Close(); } File.Copy(tempPath, filepath, true); File.Delete(tempPath); } }
/// <summary> /// 设计试验3到试验6的打印报表 /// </summary> /// <param name="filepath"></param> public static void Exp_PDF1(string filepath, int status) { PdfReader pdfReader = null; PdfImportedPage pageTemplate = null; int i, j, k; Document document = null; Paragraph Title; //============================================加载模板并在模板后添加新表格================================================== string tempPath = Path.GetDirectoryName(filepath) + Path.GetFileNameWithoutExtension(filepath) + "_temp.pdf"; try { pdfReader = new PdfReader(filepath); Rectangle pageSize = pdfReader.GetPageSize(1); document = new Document(pageSize); PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(tempPath, FileMode.Create)); document.Open(); int total = pdfReader.NumberOfPages + 1; PdfContentByte cbUnder = writer.DirectContentUnder; for (i = 1; i < total; i++) { pageTemplate = writer.GetImportedPage(pdfReader, i); cbUnder.AddTemplate(pageTemplate, 0, 0); document.NewPage(); } //============================================设计试验3的表格================================================== table = new PdfPTable(3);// 设计试验3的表格总共有3列 table.WidthPercentage = 82; table.SetTotalWidth(new float[] { 100f, 200f, 250f }); ///表頭設計 //添加段落,第二个参数指定使用fonttitle格式的字体,写入中文必须指定字体否则无法显示中文 Title = new Paragraph("3. 滑板控制装置首板收板时间试验记录", fonttitle); Title.SetAlignment("center"); //设置居中 document.Add(Title); //将标题段加入PDF文档中 //空一行 nullb = new Paragraph(" ", fonttitle2); nullb.Leading = 10; //此数值用于调整空白大小0 document.Add(nullb); if (status == 0) { dtb = SY3_DB();//表格3设计单独做一个函数 } else { dtb = History.Final_Pdf("SY3_Timer_Final"); } table = Export_Table_Design.SY3_Table(table, dtb); document.Add(table);//將table放到pdf文件中 //===================================================设计试验4的表格================================= //空一行 nullb = new Paragraph(" ", fonttitle2); nullb.Leading = 60; //此数值用于调整空白大小0 document.Add(nullb); table = new PdfPTable(5); // 设计试验4的表格总共有5列 table.WidthPercentage = 82; table.SetTotalWidth(new float[] { 100f, 200f, 200f, 200f, 200f }); Title = new Paragraph("4. 滑板控制装置连续收板(手动20次)试验记录", fonttitle); Title.SetAlignment("center"); document.Add(Title); nullb = new Paragraph(" ", fonttitle2); nullb.Leading = 10; //此数值用于调整空白大小0 document.Add(nullb); if (status == 0) { dtb = SY4_DB();//表格4设计单独做一个函数 } else { dtb = History.Final_Pdf("SY4_Lxsb_Final"); } table = Export_Table_Design.SY4_Table(table, dtb); document.Add(table); //將table放到pdf文件中 Title = new Paragraph(" 注:试验中“√”表示动作正常,“×”表示动作异常", fonttitle3); document.Add(Title); //将标题段加入PDF文档中 //=============================================添加新的一页,设计试验5的表格========================= document.SetPageSize(PageSize.A4.Rotate()); // 重新设置文档为横向 document.NewPage(); table = new PdfPTable(18); // 设计试验5的表格总共有18列 table.WidthPercentage = 100; Title = new Paragraph("5. 滑板控制装置分档程控控制及程控精度试验记录", fonttitle); Title.SetAlignment("center"); document.Add(Title); nullb = new Paragraph(" ", fonttitle2); nullb.Leading = 10; //此数值用于调整空白大小0 document.Add(nullb); if (status == 0) { dtb = SY5_DB();//表格5设计单独做一个函数 } else { dtb = History.Final_Pdf("SY5_Fdck_Final"); } table = Export_Table_Design.SY5_Table(table, dtb); document.Add(table); //將table放到pdf文件中 Title = new Paragraph(" 注:表中θ表示尾翼板角度,β表示首下板角度,φ表示首上板角度", fonttitle3); document.Add(Title); //将标题段加入PDF文档中 //=============================================添加新的一页,设计试验6的表格========================= document.SetPageSize(PageSize.A4.Rotate()); // 重新设置文档为横向 document.NewPage(); table = new PdfPTable(21); // 设计试验6的表格总共有21列 table.WidthPercentage = 100; Title = new Paragraph("6. 滑板控制装置系统调试精度试验记录", fonttitle); Title.SetAlignment("center"); document.Add(Title); nullb = new Paragraph(" ", fonttitle2); nullb.Leading = 10; //此数值用于调整空白大小0 document.Add(nullb); if (status == 0) { dtb = SY6_DB();//表格3设计单独做一个函数 } else { dtb = History.Final_Pdf("SY6_Xtts_Final"); } table = Export_Table_Design.SY6_Table(table, dtb); document.Add(table);//將table放到pdf文件中 Title = new Paragraph("注:表中θ表示尾翼板角度,β表示首下板角度,φ表示首上板角度", fonttitle3); Title.SetAlignment("center"); document.Add(Title); //将标题段加入PDF文档中 //=============================================添加新的一页,设计火炮试验的表格========================= if (MainFrom.comBoxData_Form != "HBK-II/1") { document.SetPageSize(PageSize.A4.Rotate()); // 重新设置文档为横向 document.NewPage(); table = new PdfPTable(13); // 设计试验8的表格总共有13列 table.WidthPercentage = 100; Paragraph Title1 = new Paragraph("7. 滑板控制装置(I型车)火炮联锁试验记录", fonttitle); Title1.SetAlignment("center"); document.Add(Title1); nullb = new Paragraph(" ", fonttitle2); nullb.Leading = 10; //此数值用于调整空白大小0 document.Add(nullb); if (status == 0) { dtb = SY8_DB();//表格火炮联锁试验设计单独做一个函数 } else { dtb = History.Final_Pdf("SY8_Hplx_Final"); } table = Export_Table_Design.SY8_Table(table, dtb); document.Add(table); //將table放到pdf文件中 Title1 = new Paragraph("注:试验中“√”表示动作正常,“×”表示动作异常", fonttitle3); document.Add(Title1); //将标题段加入PDF文档中 } } catch (Exception ex) { throw ex; } finally { document.Close(); if (pdfReader != null) { pdfReader.Close(); } File.Copy(tempPath, filepath, true); File.Delete(tempPath); Exp_PDF2(filepath, status); } }