예제 #1
0
        private PdfDocument CreatePdfWithImageFile(string fullName, string name)
        {
            PdfDocument doc  = new PdfDocument();
            PdfPage     page = doc.AddPage();
            PdfFont     font = doc.AddFont(PdfStandardFont.Helvetica);

            font.Size = 12;

            PdfRenderingResult result;

            PdfTextElement text = new PdfTextElement(0, 0, name, font);

            result = page.Add(text);
            PdfImageElement img = new PdfImageElement(0, result.PdfPageLastRectangle.Bottom + 50, fullName);

            result = page.Add(img);

            return(doc);
        }
        public ActionResult SubmitAction(FormCollection collection)
        {
            // the test file
            string filePdf = Server.MapPath("~/files/selectpdf.pdf");
            string imgFile = Server.MapPath("~/files/logo.png");
            // resize the content
            PdfResizeManager resizer = new PdfResizeManager();

            resizer.Load(filePdf);
            // add extra top and bottom margins
            resizer.PageMargins = new PdfMargins(0, 0, 90, 40);
            // add the header and footer to the existing (now resized pdf document)
            PdfDocument doc = resizer.GetDocument();
            // header template (90 points in height) with image element
            PdfTemplate     header = doc.AddTemplate(doc.Pages[0].ClientRectangle.Width, 90);
            PdfImageElement img1   = new PdfImageElement(10, 10, imgFile);

            header.Add(img1);
            // footer template (40 points in height) with text element
            PdfTemplate footer = doc.AddTemplate(new RectangleF(0,
                                                                doc.Pages[0].ClientRectangle.Height - 40,
                                                                doc.Pages[0].ClientRectangle.Width, 40));
            // create a new pdf font
            PdfFont font2 = doc.AddFont(PdfStandardFont.Helvetica);

            font2.Size = 12;
            PdfTextElement text1 = new PdfTextElement(10, 10,
                                                      "Generated by SelectPdf. Page number {page_number} of {total_pages}.",
                                                      font2);

            text1.ForeColor = System.Drawing.Color.Blue;
            footer.Add(text1);
            // save pdf document
            byte[] pdf = doc.Save();
            // close pdf document
            resizer.Close();
            // return resulted pdf document
            FileResult fileResult = new FileContentResult(pdf, "application/pdf");

            fileResult.FileDownloadName = "Document.pdf";
            return(fileResult);
        }
예제 #3
0
        private void PDF()
        {
            // create a new pdf document
            PdfDocument doc = new PdfDocument();

            // add a new page to the document
            PdfPage page = doc.AddPage();

            // create a new pdf font
            PdfFont font1 = doc.AddFont(PdfStandardFont.Helvetica);
            PdfFont font2 = doc.AddFont(PdfStandardFont.Helvetica);
            PdfFont font3 = doc.AddFont(PdfStandardFont.Helvetica);

            font1.Size = 20;
            font2.Size = 16;
            font3.Size = 12;

            // create a new text element and add it to the page

            PdfTextElement klant    = new PdfTextElement(50, 50, "Klant: " + txtKlant.Text.ToLower(), font1);
            PdfTextElement code     = new PdfTextElement(320, 50, "Code machine: " + txtMachineCode.Text, font1);
            PdfTextElement ordernr1 = new PdfTextElement(50, 80, "Ordernr: " + txtOrdernr.Text, font1);

            PdfTextElement lengteDoos2  = new PdfTextElement(50, 170, "" + txtLengte.Text, font2);
            PdfTextElement breedteDoos2 = new PdfTextElement(150, 170, "" + txtBreedte.Text, font2);
            PdfTextElement hoogteDoos2  = new PdfTextElement(250, 170, "" + txtHoogte.Text, font2);
            PdfTextElement modelDoos2   = new PdfTextElement(350, 170, "" + txtFefco.Text, font2);
            PdfTextElement aantal       = new PdfTextElement(450, 170, "" + txtTeProduceren.Text, font2);

            PdfTextElement kwaliteit2    = new PdfTextElement(50, 250, "Kwaliteit: " + kwaliteit, font1);
            PdfTextElement plaatformaat1 = new PdfTextElement(50, 290, "Plaatformaat: " + plaatformaat, font1);
            PdfTextElement aantalPlaten  = new PdfTextElement(50, 330, "Aantal platen: " + txtPlatenFabrikant.Text, font1);

            PdfTextElement page1 = new PdfTextElement(50, 130, "Lengte           Breedte          Hoogte           Model            Aantal", font2);

            //extra toegifte flappen
            int            toegifte = toegifteFlappen(kwaliteit1.ToString().ToUpper());
            PdfTextElement page2    = new PdfTextElement(130, 425, (lengtedoos + toegifte) + "         " + (breedtedoos + toegifte) + "     " + (lengtedoos + toegifte) + "         " + (breedtedoos + toegifte), font2);
            PdfTextElement rillen1  = new PdfTextElement(65, 460, "" + txtRillen1.Text, font2);
            PdfTextElement rillen2  = new PdfTextElement(65, 495, "" + txtRillen2.Text, font2);
            PdfTextElement rillen3  = new PdfTextElement(65, 535, "" + txtRillen3.Text, font2);

            PdfTextElement text1 = new PdfTextElement(65, 580, "Aantal paletten: ..........", font2);
            PdfTextElement text2 = new PdfTextElement(65, 610, "Aantal wwp: ..........   Aantal europal: ..........", font2);
            PdfTextElement text3 = new PdfTextElement(65, 640, "Aantal per pallet: ..........", font2);
            PdfTextElement text4 = new PdfTextElement(65, 670, "AANTAL GEPRODUCEERD: ..........", font1);
            PdfTextElement text5 = new PdfTextElement(65, 710, "Extra commentaar: " + txtCommentaar.Text + " " + commentaarproductie, font3);

            System.Drawing.Bitmap bitmap1 = ProspectieFiche.Properties.Resources.doos;
            //string imgFile = Path.Combine(Environment.CurrentDirectory, @"Data\", "doos.png");
            //"C:/Users/alexander/Documents/Visual Studio 2015/Projects/Productiefiche2/Productiefiche2/doos.png";
            PdfRenderingResult result;

            // create image element from file path with real image size
            PdfImageElement img1 = new PdfImageElement(100, 450, bitmap1);

            result = page.Add(img1);

            page.Add(klant);
            page.Add(code);
            page.Add(ordernr1);
            page.Add(lengteDoos2);
            page.Add(breedteDoos2);
            page.Add(hoogteDoos2);
            page.Add(modelDoos2);
            page.Add(aantal);
            page.Add(page1);
            page.Add(kwaliteit2);
            page.Add(plaatformaat1);
            page.Add(aantalPlaten);

            page.Add(rillen1);
            page.Add(rillen2);
            page.Add(rillen3);

            page.Add(page2);
            page.Add(text1);
            page.Add(text2);
            page.Add(text3);
            page.Add(text4);
            page.Add(text5);

            // save pdf document
            string path = @"c:/willbox/Orders/" + txtKlant.Text.ToLower() + "/" + "Ordernr " + ordernr + "/";

            /*
             * try
             * {
             *  // Determine whether the directory exists.
             *  if (Directory.Exists(path))
             *  {
             *
             *  }
             *  else
             *  {
             *      // Try to create the directory.
             *      DirectoryInfo di = Directory.CreateDirectory(path);
             *  }
             *
             * }
             * catch (Exception e)
             * {
             *  Console.WriteLine("The process failed: {0}", e.ToString());
             * }*/

            String padname = "ProductieFiche " + txtKlant.Text.ToLower();

            doc.Save(path + padname + ".pdf");

            // close pdf document
            doc.Close();

            MessageBox.Show("Het PDF-document is aangemaakt met als naam " + padname + ".pdf");

            this.Close();
        }