コード例 #1
0
        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();
        }
コード例 #2
0
        /// <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);
            }
        }