public static void Exp_SY5() { 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(18);// 设计试验5的表格总共有18列 table.WidthPercentage = 100; Paragraph Title = new Paragraph("5. 滑板控制装置分档程控控制及程控精度试验记录", fonttitle); Title.SetAlignment("center"); document.Add(Title); nullb = new Paragraph(" ", fonttitle2); nullb.Leading = 10; //此数值用于调整空白大小0 document.Add(nullb); dtb = Export_All_SY.DBQuery("SY5_Fdck"); table = Export_Table_Design.SY5_Table(table, dtb); Export_All_SY.DBDel("SY5_Fdck"); document.Add(table); //將table放到pdf文件中 Title = new Paragraph(" 注:表中θ表示尾翼板角度,β表示首下板角度,φ表示首上板角度", fonttitle3); document.Add(Title); //将标题段加入PDF文档中 document.Close(); }
/// <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); } }