예제 #1
0
        private void RouteListPdf(Master master)
        {
            string strPdf = DateTime.Now.ToString("dd.MM.yyyy HH:mm") + "\n" + master.Name + "\nМаршрутный лист на " + dateTimePicker1.Value.ToShortDateString() + "\n";

            strPdf += "---------------------------------------------\n";
            for (int i = 0; i < master.myOrders.Count; i++)
            {
                string intercom = master.myOrders[i].Intercom?"есть":"нет";

                strPdf += (i + 1).ToString() + "  " + master.myOrders[i].Name + "  " + master.myOrders[i].TimeBeg + "  " +
                          master.myOrders[i].City + ", " + master.myOrders[i].Street + " д." + master.myOrders[i].House + ", кв." +
                          master.myOrders[i].Flat + " (оф." + master.myOrders[i].Office + "), под." + master.myOrders[i].Porch + ", эт." +
                          master.myOrders[i].Floor + ", домофон " + intercom + ", тел.1:" + master.myOrders[i].Phone1 + ", тел.2:" +
                          master.myOrders[i].Phone2 + "   " + master.myOrders[i].Description + "\n";
            }
            saveFileDialog1.Filter = "Формат .PDF (*.pdf)|*.pdf|Все файлы (*.*)|*.*";
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                //using (PdfWriter pdfWriter = new PdfWriter(Constants.MASTERS[0].Name+"_"+dateTimePicker1.Value.ToShortDateString()+".pdf"))
                using (PdfWriter pdfWriter = new PdfWriter(saveFileDialog1.FileName))
                    using (PdfDocument pdfDocument = new PdfDocument(pdfWriter))
                        using (Document document = new Document(pdfDocument))
                        {
                            PdfFont f2 = PdfFontFactory.CreateFont(FONT, "Identity-H", true);
                            document.Add(new Paragraph(strPdf).SetFont(f2));
                        }
            }
        }
예제 #2
0
 /// <summary>
 /// 字符串对象写入
 /// </summary>
 /// <param name="document">itext Document对象</param>
 /// <param name="contentEntity">内容对象</param>
 /// <returns>itext Document对象</returns>
 public static iText.Layout.Document Write <T>(this iText.Layout.Document document, T content)
     where T : IPDFBlockElement, IContentEntity
 {
     if (content == null)
     {
         return(document);
     }
     document.Add(content.CreateBlock());
     return(document);
 }
예제 #3
0
        public FileResult CreatePDF()
        {
            string[] urlLinks = new string[12];
            urlLinks = (string[])Request.Form["urls"].Split(',');
            string filepath = "E:\\demo.pdf";

            if (urlLinks[0].Length > 10)
            {
                System.Drawing.Image img = getOnineImage(urlLinks[0]);

                PdfWriter             pdfwriter = new PdfWriter(filepath);
                PdfDocument           pdf       = new PdfDocument(pdfwriter);
                iText.Layout.Document document  = new iText.Layout.Document(pdf, PageSize.A4);
                PdfFont font = PdfFontFactory.CreateFont(StandardFonts.TIMES_ROMAN);
                document.Add(new Paragraph("This pdf is created by gongjing457!")).Add(new Image(ImageDataFactory.Create(img, System.Drawing.Color.White))).SetFont(font);
                document.Close();
                return(File(new FileStream(filepath, FileMode.Open), "application/pdf", "demo"));
            }
            else
            {
                return(File(new FileStream(filepath, FileMode.Open), "application/pdf", "demo"));
            }
        }
예제 #4
0
        public bool CreateVMDasaChart(ref iText.Layout.Document pdfDocObj, DateTime dtDasaStartDate, string strDasaLord, ref string errorMessage)
        {
            try
            {
                CalculateVMDasa(dtDasaStartDate, strDasaLord);

                float   PdfDefaultFontSize = 10.0f;
                float[] columnHouses       = { 4f, 4f, 4f, 4f, 4f, 4f };

                iText.Layout.Element.Table vmDasaTable = new iText.Layout.Element.Table(UnitValue.CreatePercentArray(columnHouses)).UseAllAvailableWidth();

                int  nLineNumber = 0;
                bool bPrintTitle = true;
                for (int nDasaEntry = 1; nDasaEntry <= DasaList.Count; nDasaEntry++)
                {
                    if (nDasaEntry >= 729)
                    {
                        break;
                    }

                    if (bPrintTitle == true)
                    {
                        if (((vmDasaElement)DasaList[nDasaEntry]).DasaBeginning == true)
                        {
                            int      nDasaPlanetIndex = GetDasaPlanetIndex(((vmDasaElement)DasaList[nDasaEntry]).DasaLord);
                            DateTime dtVMDasaEndDate  = ((vmDasaElement)DasaList[nDasaEntry]).dtStartDate;
                            dtVMDasaEndDate = dtVMDasaEndDate.AddYears(DasaYears[nDasaPlanetIndex]);
                            string strVMDasaTitle = string.Format("{0} Dasa from {1} to {2} (Anthara Ending Dates)", GetDasaPlanetName(((vmDasaElement)DasaList[nDasaEntry]).DasaLord), ((vmDasaElement)DasaList[nDasaEntry]).dtStartDate.ToString("dd-MM-yyyy"), dtVMDasaEndDate.ToString("dd-MM-yyyy"));
                            vmDasaTable.AddCell(new Cell(1, 6).SetHeight(20).SetTextAlignment(TextAlignment.CENTER).SetVerticalAlignment(VerticalAlignment.MIDDLE).Add(new Paragraph(strVMDasaTitle).SetFont(PdfFontBoldObj).SetFontSize(PdfDefaultFontSize)).SetBackgroundColor(new DeviceRgb(180, 230, 99)));
                        }

                        vmDasaTable.AddCell(new Cell(1, 2).SetHeight(20).SetTextAlignment(TextAlignment.CENTER).SetVerticalAlignment(VerticalAlignment.MIDDLE).Add(new Paragraph(GetDasaPlanetName(((vmDasaElement)DasaList[nDasaEntry]).BukthiLord) + " Bukthi").SetFont(PdfFontBoldObj).SetFontSize(PdfDefaultFontSize)));
                        vmDasaTable.AddCell(new Cell(1, 2).SetHeight(20).SetTextAlignment(TextAlignment.CENTER).SetVerticalAlignment(VerticalAlignment.MIDDLE).Add(new Paragraph(GetDasaPlanetName(((vmDasaElement)DasaList[nDasaEntry + 9]).BukthiLord) + " Bukthi").SetFont(PdfFontBoldObj).SetFontSize(PdfDefaultFontSize)));
                        vmDasaTable.AddCell(new Cell(1, 2).SetHeight(20).SetTextAlignment(TextAlignment.CENTER).SetVerticalAlignment(VerticalAlignment.MIDDLE).Add(new Paragraph(GetDasaPlanetName(((vmDasaElement)DasaList[nDasaEntry + 18]).BukthiLord) + " Bukthi").SetFont(PdfFontBoldObj).SetFontSize(PdfDefaultFontSize)));
                        nLineNumber++;
                        bPrintTitle = false;
                    }

                    vmDasaTable.AddCell(new Cell().SetHeight(20).SetTextAlignment(TextAlignment.CENTER).SetVerticalAlignment(VerticalAlignment.MIDDLE).Add(new Paragraph(GetDasaPlanetName(((vmDasaElement)DasaList[nDasaEntry]).AntharaLord)).SetFont(PdfFontObj).SetFontSize(PdfDefaultFontSize)));
                    vmDasaTable.AddCell(new Cell().SetHeight(20).SetTextAlignment(TextAlignment.CENTER).SetVerticalAlignment(VerticalAlignment.MIDDLE).Add(new Paragraph(((vmDasaElement)DasaList[nDasaEntry]).EndDate).SetFont(PdfFontObj).SetFontSize(PdfDefaultFontSize)));

                    vmDasaTable.AddCell(new Cell().SetHeight(20).SetTextAlignment(TextAlignment.CENTER).SetVerticalAlignment(VerticalAlignment.MIDDLE).Add(new Paragraph(GetDasaPlanetName(((vmDasaElement)DasaList[nDasaEntry + 9]).AntharaLord)).SetFont(PdfFontObj).SetFontSize(PdfDefaultFontSize)));
                    vmDasaTable.AddCell(new Cell().SetHeight(20).SetTextAlignment(TextAlignment.CENTER).SetVerticalAlignment(VerticalAlignment.MIDDLE).Add(new Paragraph(((vmDasaElement)DasaList[nDasaEntry + 9]).EndDate).SetFont(PdfFontObj).SetFontSize(PdfDefaultFontSize)));

                    vmDasaTable.AddCell(new Cell().SetHeight(20).SetTextAlignment(TextAlignment.CENTER).SetVerticalAlignment(VerticalAlignment.MIDDLE).Add(new Paragraph(GetDasaPlanetName(((vmDasaElement)DasaList[nDasaEntry + 18]).AntharaLord)).SetFont(PdfFontObj).SetFontSize(PdfDefaultFontSize)));
                    vmDasaTable.AddCell(new Cell().SetHeight(20).SetTextAlignment(TextAlignment.CENTER).SetVerticalAlignment(VerticalAlignment.MIDDLE).Add(new Paragraph(((vmDasaElement)DasaList[nDasaEntry + 18]).EndDate).SetFont(PdfFontObj).SetFontSize(PdfDefaultFontSize)));
                    nLineNumber++;

                    if ((nDasaEntry + 18) % 27 == 0)
                    {
                        nDasaEntry  = nDasaEntry + 18;
                        bPrintTitle = true;
                    }
                }

                pdfDocObj.Add(vmDasaTable);

                return(true);
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message;
            }

            return(false);
        }
예제 #5
0
        public virtual void NarrowPageTest02A()
        {
            String      testName    = "narrowPageTest02A.pdf";
            String      outFileName = destinationFolder + testName;
            String      cmpFileName = sourceFolder + "cmp_" + testName;
            PdfDocument pdfDoc      = new PdfDocument(new PdfWriter(outFileName));
            Document    doc         = new Document(pdfDoc);

            doc.SetRenderer(new KeepTogetherTest.SpecialOddPagesDocumentRenderer(doc, new PageSize(102.0F, 102.0F)));
            Paragraph p = new Paragraph("row 10");

            p.SetKeepTogether(true);
            doc.Add(new Paragraph("a"));
            doc.Add(p);
            doc.Add(new AreaBreak());
            p.SetHeight(30);
            doc.Add(new Paragraph("a"));
            doc.Add(p);
            doc.Add(new AreaBreak());
            doc.Add(new AreaBreak());
            p.DeleteOwnProperty(Property.HEIGHT);
            doc.Add(p);
            doc.Add(new AreaBreak());
            doc.Add(new AreaBreak());
            p.SetHeight(30);
            doc.Add(p);
            doc.Close();
            NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(outFileName, cmpFileName, destinationFolder
                                                                             , testName + "_diff"));
        }