Ejemplo n.º 1
1
        private void button1_Click(object sender, EventArgs e)
        {
            const string wiaFormatJPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}";
            String Archivo = "D:\\EJEMPLO_ESCANEO_012"; 
	    //CommonDialogClass wiaDiag = new CommonDialogClass();
        ICommonDialog wiaDiag = new WIA.CommonDialog();
	    WIA.ImageFile wiaImage = null;
	    wiaImage = wiaDiag.ShowAcquireImage(WiaDeviceType.UnspecifiedDeviceType,WiaImageIntent.GrayscaleIntent,WiaImageBias.MaximizeQuality,
            wiaFormatJPEG ,   true, true, false );
	    WIA.Vector vector = wiaImage.FileData;
        pictureBox1.Image = Image.FromStream(new MemoryStream((byte[])vector.get_BinaryData()));
        
            Image i = Image.FromStream(new MemoryStream((byte[])vector.get_BinaryData()));
            i.Save(Archivo + ".TIFF");

            PdfSharp.Pdf.PdfDocument doc = new PdfSharp.Pdf.PdfDocument();
            doc.Pages.Add(new PdfSharp.Pdf.PdfPage());
            PdfSharp.Drawing.XGraphics xgr = PdfSharp.Drawing.XGraphics.FromPdfPage(doc.Pages[0]);
            PdfSharp.Drawing.XImage img = PdfSharp.Drawing.XImage.FromFile(Archivo + ".TIFF");

            xgr.DrawImage(img, 0, 0);
            doc.Save(Archivo + ".PDF");
            doc.Close();            
        }
Ejemplo n.º 2
0
        public static byte[] AppendImageToPdf(byte[] pdf, byte[] img, Point position, double scale)
        {
            using (System.IO.MemoryStream msPdf = new System.IO.MemoryStream(pdf))
            {
                using (System.IO.MemoryStream msImg = new System.IO.MemoryStream(img))
                {
                    System.Drawing.Image       image    = System.Drawing.Image.FromStream(msImg);
                    PdfSharp.Pdf.PdfDocument   document = PdfSharp.Pdf.IO.PdfReader.Open(msPdf);
                    PdfSharp.Pdf.PdfPage       page     = document.Pages[0];
                    PdfSharp.Drawing.XGraphics gfx      = PdfSharp.Drawing.XGraphics.FromPdfPage(page);
                    PdfSharp.Drawing.XImage    ximg     = PdfSharp.Drawing.XImage.FromGdiPlusImage(image);

                    gfx.DrawImage(
                        ximg,
                        position.X,
                        position.Y,
                        ximg.Width * scale,
                        ximg.Height * scale
                        );

                    using (System.IO.MemoryStream msFinal = new System.IO.MemoryStream())
                    {
                        document.Save(msFinal);
                        return(msFinal.ToArray());
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public static System.IO.Stream FirstPageOnly(byte[] pdfBytes)
        {
            System.IO.MemoryStream msOutput = new System.IO.MemoryStream();

            // using(System.IO.MemoryStream msOutput = new System.IO.MemoryStream())
            //{

            using (System.IO.MemoryStream msInput = new System.IO.MemoryStream(pdfBytes))
            {
                using (PdfSharp.Pdf.PdfDocument pdfOutputDoc = new PdfSharp.Pdf.PdfDocument())
                {
                    using (PdfSharp.Pdf.PdfDocument pdfInputDocument = PdfSharp.Pdf.IO.PdfReader.Open(msInput, PdfSharp.Pdf.IO.PdfDocumentOpenMode.Import))
                    {
                        if (pdfInputDocument.Pages.Count > 0)
                        {
                            pdfOutputDoc.AddPage(pdfInputDocument.Pages[0]);
                        } // End if (pdfInputDocument.Pages.Count > 0)
                    }     // End Using pdfInputDocument

                    pdfOutputDoc.Save(msOutput);
                } // End Using pdfOutputDoc
            }     // End Using msInput

            // } //End Using ' msOutput

            return(msOutput);
        } // End Sub FirstPageOnly
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            using (var doc = new PdfSharp.Pdf.PdfDocument())
            {
                var page         = doc.AddPage();
                var graphics     = PdfSharp.Drawing.XGraphics.FromPdfPage(page);
                var textFormater = new PdfSharp.Drawing.Layout.XTextFormatter(graphics);
                var font         = new PdfSharp.Drawing.XFont("Arial", 14, PdfSharp.Drawing.XFontStyle.BoldItalic);

                // Acrescentando Textos.
                textFormater.Alignment = PdfSharp.Drawing.Layout.XParagraphAlignment.Center;
                textFormater.DrawString("Testando PdfSharp", font, PdfSharp.Drawing.XBrushes.Red, new PdfSharp.Drawing.XRect(0, 50, page.Width, page.Height));

                // Desenhando figuras geometricas.
                graphics.DrawLine(PdfSharp.Drawing.XPens.Blue, 150, 150, 200, 200);
                graphics.DrawRoundedRectangle(PdfSharp.Drawing.XPens.Green, PdfSharp.Drawing.XBrushes.LightBlue, 100, 300, 100, 50, 10, 10);

                // Inserindo uma imagen
                graphics.DrawImage(PdfSharp.Drawing.XImage.FromFile(@"C:\Users\DELL 3470\Google Drive\Mc Molas\Material Grafico - MC Molas\favicon-96x96.PNG"), 250, 300);

                //Gerando o arquivo PDF
                doc.Save("NovoPdf3.pdf");

                //Abrindo o arquivo gerado, com o leitor escolhio por default do sistema.
                System.Diagnostics.Process.Start("NovoPdf3.pdf");
            }
        }
        private static string GeneratePlaceholderFile(string workingFolder, string fileName, string documentHandle)
        {
            string pdfFileToAppend = Path.Combine(workingFolder, Guid.NewGuid() + ".pdf");

            using (PdfSharp.Pdf.PdfDocument document = new PdfSharp.Pdf.PdfDocument())
            {
                // Create an empty page
                PdfSharp.Pdf.PdfPage page = document.AddPage();

                // Get an XGraphics object for drawing
                using (XGraphics gfx = XGraphics.FromPdfPage(page))
                {
                    // Create a font
                    XFont font = new XFont("Verdana", 14, XFontStyle.Bold);

                    // Draw the text
                    gfx.DrawString("Handle " + documentHandle + " fileName " + fileName + " has no pdf format",
                                   font,
                                   XBrushes.Black,
                                   new XRect(0, 0, page.Width, page.Height),
                                   XStringFormats.TopCenter);
                }

                document.Save(pdfFileToAppend);
            }

            return(pdfFileToAppend);
        }
Ejemplo n.º 6
0
        //PDF文件加密,传入的PDF不加密的,经过此方法后,此PDF文件就不能复制与打印
        public void PDFSecurity(string strSourcePDFFile, string strDestPDFFile, bool AddUserPassword, string strPassword)
        {
            try
            {
                PdfSharp.Pdf.PdfDocument pdfsourcedoc = PdfSharp.Pdf.IO.PdfReader.Open(strSourcePDFFile, PdfSharp.Pdf.IO.PdfDocumentOpenMode.Modify);
                pdfsourcedoc.SecuritySettings.DocumentSecurityLevel             = PdfSharp.Pdf.Security.PdfDocumentSecurityLevel.Encrypted128Bit;
                pdfsourcedoc.SecuritySettings.OwnerPassword                     = "******";
                pdfsourcedoc.SecuritySettings.PermitAccessibilityExtractContent = false;
                pdfsourcedoc.SecuritySettings.PermitAnnotations                 = false;
                pdfsourcedoc.SecuritySettings.PermitAssembleDocument            = false;
                pdfsourcedoc.SecuritySettings.PermitExtractContent              = false;
                pdfsourcedoc.SecuritySettings.PermitFormsFill                   = false;

                pdfsourcedoc.SecuritySettings.PermitFullQualityPrint = false;

                pdfsourcedoc.SecuritySettings.PermitModifyDocument = false;


                pdfsourcedoc.SecuritySettings.PermitPrint = false;

                if (AddUserPassword == true)
                {
                    pdfsourcedoc.SecuritySettings.UserPassword = strPassword;
                }

                pdfsourcedoc.Save(strDestPDFFile);
                pdfsourcedoc.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 protected void CopyPages(PdfSharp.Pdf.PdfDocument from, PdfSharp.Pdf.PdfDocument to)
 {
     for (int i = 0; i < from.PageCount; i++)
     {
         to.AddPage(from.Pages[i]);
     }
 }
Ejemplo n.º 8
0
        static void Main(string[] args)
        {
            using (var doc = new PdfSharp.Pdf.PdfDocument())
            {
                var page          = doc.AddPage();
                var graphics      = PdfSharp.Drawing.XGraphics.FromPdfPage(page);
                var textFormatter = new PdfSharp.Drawing.Layout.XTextFormatter(graphics);

                var Foto = @"C:\Users\leona\Pictures\IMG_20140412_174325270.jpg";

                graphics.DrawImage(PdfSharp.Drawing.XImage.FromFile($@"{Foto}"), 1, 1, page.Width, page.Height);

                doc.Save("arquivo.pdf");
                System.Diagnostics.Process.Start("arquivo.pdf");


                //Metodo para escrever no pdf
                //var font = new PdfSharp.Drawing.XFont("Arial", 14, PdfSharp.Drawing.XFontStyle.BoldItalic);
                //textFormatter.DrawString("Que belo texto!", font, PdfSharp.Drawing.XBrushes.Red, new PdfSharp.Drawing.XRect(0, 50, page.Width, page.Height));
                //textFormatter.Alignment = PdfSharp.Drawing.Layout.XParagraphAlignment.Center;

                //fazer um traçado no pdf
                //graphics.DrawLine(PdfSharp.Drawing.XPens.Blue, 150, 150, 250, 200);

                //fazer um retangulo verde
                //graphics.DrawRoundedRectangle(PdfSharp.Drawing.XPens.Green, PdfSharp.Drawing.XBrushes.LightGreen, 100, 300, 100, 50, 10, 10);
            }
        }
Ejemplo n.º 9
0
        static void PdfSharpTest()
        {
            PdfSharp.Pdf.PdfDocument pdfDocument = PdfSharp.Pdf.IO.PdfReader.Open(@"C:\MERCURY\flyer.pdf", PdfSharp.Pdf.IO.PdfDocumentOpenMode.ReadOnly);



            foreach (PdfSharp.Pdf.PdfPage currentPage in pdfDocument.Pages)
            {
                System.Diagnostics.Debug.WriteLine("[Page] " + currentPage.Reference.ToString());

                PdfSharpTestParsePage(currentPage);


                // PdfSharpTextParseElements (currentPage.Elements);

                foreach (PdfSharp.Pdf.PdfItem currentItem in currentPage.Contents)
                {
                    if (currentItem is PdfSharp.Pdf.Advanced.PdfReference)
                    {
                        PdfSharp.Pdf.Advanced.PdfReference currentReference = currentItem as PdfSharp.Pdf.Advanced.PdfReference;

                        PdfSharpTestParseReference(currentReference);
                    }

                    else
                    {
                        System.Diagnostics.Debug.WriteLine("[Page Item] " + currentItem.ToString());
                    }
                }
            }



            return;
        }
Ejemplo n.º 10
0
 public PdfFile() {
     try {
         _doc = new PdfSharp.Pdf.PdfDocument();
         _font_pageNumber = new PdfSharp.Drawing.XFont("Arial", 8);
         addPage();
     } catch (Exception ex) {
         throw new ApplicationException(ex.Message);
     }
 }
Ejemplo n.º 11
0
        private static void WriteHTMLtoPDF(string _HTMLstring, string destination_file)
        {
            PdfSharp.Pdf.PdfDocument pdf = PdfGenerator.GeneratePdf(_HTMLstring, PdfSharp.PageSize.A4, 60);


            pdf.Save(destination_file);

            Console.WriteLine("Ready writing PDF file to disk!");
        }
Ejemplo n.º 12
0
        public static void Main()
        {
            //Microsoft.Azure.Devices.Client a;              Microsoft.Azure.Devices.Client.DeviceAuthenticationWithX509Certificate
            // Create a new PDF document
            PdfSharp.Pdf.PdfDocument document = new PdfSharp.Pdf.PdfDocument();

            // Create an empty page
            PdfSharp.Pdf.PdfPage page = document.AddPage();
        }
Ejemplo n.º 13
0
 public PdfFile()
 {
     try {
         _doc             = new PdfSharp.Pdf.PdfDocument();
         _font_pageNumber = new PdfSharp.Drawing.XFont("Arial", 8);
         addPage();
     } catch (Exception ex) {
         throw new ApplicationException(ex.Message);
     }
 }
Ejemplo n.º 14
0
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            try
            {
                string file = txtSelected.Text;

                if (!string.IsNullOrEmpty(file))
                {
                    PdfSharp.Pdf.PdfDocument doc = PdfSharp.Pdf.IO.PdfReader.Open(file);

                    PdfSharp.Pdf.Security.PdfSecuritySettings securitySettings = doc.SecuritySettings;

                    if (txtPassword1.Text == txtPassword2.Text)
                    {
                        // Setting one of the passwords automatically sets the security level to
                        // PdfDocumentSecurityLevel.Encrypted128Bit.
                        securitySettings.UserPassword  = txtPassword1.Text;
                        securitySettings.OwnerPassword = txtPassword2.Text;

                        //Don't use 40 bit encryption unless needed for compatibility reasons
                        //securitySettings.DocumentSecurityLevel = PdfDocumentSecurityLevel.Encrypted40Bit;

                        // Restrict some rights.
                        securitySettings.PermitAccessibilityExtractContent = false;
                        securitySettings.PermitAnnotations      = false;
                        securitySettings.PermitAssembleDocument = false;
                        securitySettings.PermitExtractContent   = false;
                        securitySettings.PermitFormsFill        = true;
                        securitySettings.PermitFullQualityPrint = false;
                        securitySettings.PermitModifyDocument   = true;
                        securitySettings.PermitPrint            = false;

                        // Save the document...
                        doc.Save(file);

                        MessageBox.Show("Password set successfully.");

                        Process.Start(file);

                        clearTextBoxes();
                    }
                    else
                    {
                        MessageBox.Show("Passwords don't match. No changes have been saved.");
                        clearPasswordBoxes();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Ejemplo n.º 15
0
        } // End Sub Main

        static void TestPdfReader()
        {
            string fn = "in/TwoPagesOnOne_tempfile.pdf";

            int version = PdfSharp.Pdf.IO.PdfReader.TestPdfFile(fn);

            System.Console.WriteLine(version);

            using (PdfSharp.Pdf.PdfDocument pr = PdfSharp.Pdf.IO.PdfReader.Open(fn))
            {
                System.Console.WriteLine(pr.Pages.Count);
            }
        }
Ejemplo n.º 16
0
        } // End Sub Main

        static void TestPdfReader()
        {
            string fn = @"C:\Program Files\Microsoft\R Client\R_SERVER\doc\manual\fullrefman.pdf";

            int version = PdfSharp.Pdf.IO.PdfReader.TestPdfFile(fn);

            System.Console.WriteLine(version);

            using (PdfSharp.Pdf.PdfDocument pr = PdfSharp.Pdf.IO.PdfReader.Open(fn))
            {
                System.Console.WriteLine(pr.Pages.Count);
            }
        }
Ejemplo n.º 17
0
        /// <summary>
        /// Método que monta um arquivo pdf a partir de imagens. O método cria um arquivo pdf a partir de uma imagem com a página no tamanho de uma página A4 comum
        /// </summary>
        /// <param name="caminhoImagem">Diretório das imagens a serem tratada</param>
        /// <param name="nome_arquivoSaida">Diretório de saída do arquivo pdf</param>
        /// <param name="mensagemErro">String que controla a mensagem caso exista algum erro</param>
        /// <returns>True o arquivo PDF foi gerado com sucesso</returns>
        public bool MontaPDFFromImages(List <string> caminhoImagem, string nome_arquivoSaida, Info_PDF_file info, out string mensagemErro)
        {
            Util.CL_Files.WriteOnTheLog("Documento.MontaPDFFromImages", Global.TipoLog.DETALHADO);

            mensagemErro = "";
            try
            {
                PdfSharp.Pdf.PdfDocument document = new PdfSharp.Pdf.PdfDocument();
                document.Info.Author       = info.AUTHOR;
                document.Info.CreationDate = info.CREATION_DATE;
                document.Info.Creator      = info.CREATOR;
                document.Info.Title        = info.TITLE;
                document.Info.Keywords     = info.KEYWORDS;

                PdfSharp.Pdf.PdfPage page;
                XGraphics            gfx;

                foreach (string caminho in caminhoImagem)
                {
                    if (!VerificaExisteFile(caminho))
                    {
                        mensagemErro = "A imagem " + caminho + " não existe!";
                        return(false);
                    }

                    XImage image = XImage.FromFile(caminho);

                    page = document.AddPage();
                    gfx  = XGraphics.FromPdfPage(page);
                    gfx.DrawImage(image, 0, 0);
                    gfx.Save();
                    page.Close();

                    page = null;
                    image.Dispose();
                    gfx.Dispose();
                }

                document.Save(nome_arquivoSaida);
                document.Close();
                document.Dispose();

                return(true);
            }
            catch (Exception e)
            {
                mensagemErro = e.Message;
                Util.CL_Files.WriteOnTheLog(mensagemErro, Global.TipoLog.SIMPLES);
                return(false);
            }
        }
Ejemplo n.º 18
0
        private void OnSourceFileChange(SourceFileChangedEventArgs e)
        {
            if (radioButton1.Checked)
            {
                if (sourceDocument == null || sourceDocument.FullPath != newSourceFile.Text)
                {
                    if (File.Exists(newSourceFile.Text))
                    {
                        sourceDocument = PdfSharp.Pdf.IO.PdfReader.Open(newSourceFile.Text, PdfSharp.Pdf.IO.PdfDocumentOpenMode.Import);
                    }
                    else
                    {
                        sourceDocument = new PdfSharp.Pdf.PdfDocument();
                    }
                }
            }
            else if (existingFileRadioButton.Checked)
            {
                if (sourceDocument == null || sourceDocument.FullPath != existingSourceFile.Text)
                {
                    sourceDocument = PdfSharp.Pdf.IO.PdfReader.Open(existingSourceFile.Text, PdfSharp.Pdf.IO.PdfDocumentOpenMode.Import);
                }
            }
            if (sourceDocument.PageCount > 0)
            {
                extractStartPage.Minimum  = 1;
                extractStartPage.Maximum  = sourceDocument.PageCount;
                extractStartPage.Value    = 1;
                extractEndingPage.Minimum = 1;
                extractEndingPage.Maximum = sourceDocument.PageCount;
                extractEndingPage.Value   = 1;
                insertAfterPage.Minimum   = 1;
                insertAfterPage.Maximum   = sourceDocument.PageCount;
                if (e.ChangeType == SourceFileChangedEventArgs.ChangeTypes.Insert && insertAfterPage.Value < insertAfterPage.Maximum)
                {
                    insertAfterPage.Value += 1;
                }
                currentPageCount.Text   = sourceDocument.PageCount.ToString();
                removeStartPage.Minimum = 1;
                removeStartPage.Maximum = sourceDocument.PageCount;
                removeStartPage.Value   = 1;
                removeEndPage.Minimum   = 1;
                removeEndPage.Maximum   = sourceDocument.PageCount;
                removeEndPage.Value     = 1;

                // Draw preview
            }
            extractOptions.Enabled      = sourceDocument.PageCount > 0;
            insertPagesControls.Enabled = true;
            removePagesControls.Enabled = sourceDocument.PageCount > 0;
        }
Ejemplo n.º 19
0
        private void BtnGerar_Click(object sender, EventArgs e)
        {
            int h = 50;
            int w = 5;

            using (var doc = new PdfSharp.Pdf.PdfDocument())
            {
                var page = doc.AddPage();
                page.Size = PdfSharp.PageSize.A4;
                var graphics      = PdfSharp.Drawing.XGraphics.FromPdfPage(page);
                var textFormatter = new PdfSharp.Drawing.Layout.XTextFormatter(graphics);
                var font          = new PdfSharp.Drawing.XFont("Arial", 12);

                var titleFormatter = new PdfSharp.Drawing.Layout.XTextFormatter(graphics);
                titleFormatter.Alignment = PdfSharp.Drawing.Layout.XParagraphAlignment.Center;
                titleFormatter.DrawString("Relatório de Gastos", font, PdfSharp.Drawing.XBrushes.Red, new PdfSharp.Drawing.XRect(0, 0, page.Width, page.Height));

                var descricao = new PdfSharp.Drawing.Layout.XTextFormatter(graphics);
                descricao.DrawString("Descrição", font, PdfSharp.Drawing.XBrushes.Red, new PdfSharp.Drawing.XRect(0, 25, page.Width, page.Height));

                var tipo = new PdfSharp.Drawing.Layout.XTextFormatter(graphics);
                tipo.DrawString("Tipo", font, PdfSharp.Drawing.XBrushes.Red, new PdfSharp.Drawing.XRect(175, 25, page.Width, page.Height));

                var val = new PdfSharp.Drawing.Layout.XTextFormatter(graphics);
                val.DrawString("Valor", font, PdfSharp.Drawing.XBrushes.Red, new PdfSharp.Drawing.XRect(300, 25, page.Width, page.Height));

                var data = new PdfSharp.Drawing.Layout.XTextFormatter(graphics);
                data.DrawString("Data", font, PdfSharp.Drawing.XBrushes.Red, new PdfSharp.Drawing.XRect(400, 25, page.Width, page.Height));

                for (int i = 0; i < this.dgvRelatorio.RowCount; i++)
                {
                    w = 0;
                    string[] valor = new string[4];
                    valor[0] = this.dgvRelatorio.Rows[i].Cells[0].Value.ToString();
                    valor[1] = this.dgvRelatorio.Rows[i].Cells[1].Value.ToString();
                    valor[2] = this.dgvRelatorio.Rows[i].Cells[2].Value.ToString();
                    valor[3] = this.dgvRelatorio.Rows[i].Cells[3].Value.ToString();
                    textFormatter.DrawString(valor[0], font, PdfSharp.Drawing.XBrushes.Black,
                                             new PdfSharp.Drawing.XRect(0, h, page.Width, page.Height));
                    textFormatter.DrawString(valor[1], font, PdfSharp.Drawing.XBrushes.Black,
                                             new PdfSharp.Drawing.XRect(w += 175, h, page.Width, page.Height));
                    textFormatter.DrawString(valor[2], font, PdfSharp.Drawing.XBrushes.Black,
                                             new PdfSharp.Drawing.XRect(w += 125, h, page.Width, page.Height));
                    textFormatter.DrawString(valor[3], font, PdfSharp.Drawing.XBrushes.Black,
                                             new PdfSharp.Drawing.XRect(w += 100, h, page.Width, page.Height));
                    h += 20;
                }
                doc.Save("pdf.pdf");
                System.Diagnostics.Process.Start("pdf.pdf");
            }
        }
Ejemplo n.º 20
0
        public static string generaPDF(int tipo, int idArticulo)
        {
            string estado = "0";

            try
            {
                int       idUsuario = Int32.Parse(HttpContext.Current.Session["idUsuario"].ToString());
                DataTable dt        = metodo.WSConsultarArticuloxId(idArticulo, idUsuario).Tables[0];

                string contenido      = dt.Rows[0][2].ToString();
                string tituloArticulo = dt.Rows[0][1].ToString();

                string fecha = DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss");

                fecha = fecha.Replace(" ", "_");
                fecha = fecha.Replace(":", "_");
                fecha = fecha.Replace("-", "_");

                //Se genera PDF
                //var Renderer = new IronPdf.HtmlToPdf();
                //var PDF = Renderer.RenderHtmlAsPdf(contenido);
                PdfSharp.Pdf.PdfDocument pdf = PdfGenerator.GeneratePdf("<h3>" + tituloArticulo + "</h3>" + contenido, PdfSharp.PageSize.A4, 65);
                var config = new PdfGenerateConfig()
                {
                    MarginBottom = 70,
                    MarginLeft   = 20,
                    MarginRight  = 20,
                    MarginTop    = 70,
                };

                string OutputPath = HttpContext.Current.Server.MapPath("~/SUPPORTCENTERPDF/" + tituloArticulo + fecha + ".pdf");
                pdf.Save(OutputPath);

                if (tipo == 1)
                {
                    estado = "../SUPPORTCENTERPDF/" + tituloArticulo + fecha + ".pdf";
                }
                else
                {
                    estado = OutputPath;
                }
            }
            catch (Exception exp)
            {
                estado = "3";
            }

            return(estado);
        }
        protected void mergepdf()
        {
            // writetoreleasedpdf();
            getfrontpage();
            geteditorpage();

            //Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
            //HTMLWorker htmlparser = new HTMLWorker(pdfDoc);

            //FileStream stream = new FileStream(Server.MapPath("~/frontpagepdf/" + taskid.Text + ".pdf"), FileMode.Open, FileAccess.Write);

            //PdfWriter writer = PdfWriter.GetInstance(pdfDoc, stream);

            //pdfDoc.Open();

            //PdfContentByte cb = writer.DirectContent;
            //BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
            //cb.SetColorFill(BaseColor.DARK_GRAY);
            //cb.SetFontAndSize(bf, 10);
            //datelabel.Text = DateTime.Now.ToString("dd/MM/yyyy");
            //cb.BeginText();
            ////string text = datelabel.Text.ToString();
            //// put the alignment and coordinates here
            //cb.ShowTextAligned(1, datelabel.Text, 20, 517, 0);
            //cb.EndText();
            //pdfDoc.Close();

            string frontpagelocation = frontpagedata.Text;

            string filelocation = editorpage.Text;

            taskid.Text = Session["Name"].ToString();

            string Filepath  = Server.MapPath("~/" + filelocation);
            string frontpage = Server.MapPath("~/" + frontpagelocation);

            string finalpath = Server.MapPath("~/finalreleasedpdf/" + taskid.Text + ".pdf");

            using (PdfSharp.Pdf.PdfDocument one = PdfSharp.Pdf.IO.PdfReader.Open(frontpage, PdfDocumentOpenMode.Import))
                using (PdfSharp.Pdf.PdfDocument two = PdfSharp.Pdf.IO.PdfReader.Open(Filepath, PdfDocumentOpenMode.Import))

                    using (PdfSharp.Pdf.PdfDocument outPdf = new PdfSharp.Pdf.PdfDocument())
                    {
                        CopyPages(one, outPdf);
                        CopyPages(two, outPdf);

                        outPdf.Save(finalpath);
                    }
        }
Ejemplo n.º 22
0
 private void mergePDFs(string targetPath, string[] files)
 {
     using (PdfSharp.Pdf.PdfDocument targetDoc = new PdfSharp.Pdf.PdfDocument()) {
         foreach (string pdf in files)
         {
             using (PdfSharp.Pdf.PdfDocument pdfDoc = PdfSharp.Pdf.IO.PdfReader.Open(pdf, PdfSharp.Pdf.IO.PdfDocumentOpenMode.Import)) {
                 for (int i = 0; i < pdfDoc.PageCount; i++)
                 {
                     targetDoc.AddPage(pdfDoc.Pages[i]);
                 }
             }
         }
         targetDoc.Save(targetPath);
     }
 }
Ejemplo n.º 23
0
 private static void CombineMultiplePDFs(string[] args, string outFile)
 {
     PdfSharp.Pdf.PdfDocument pdfdocument = new PdfSharp.Pdf.PdfDocument();
     foreach (string str in args)
     {
         PdfSharp.Pdf.PdfDocument inputDocument = PdfSharp.Pdf.IO.PdfReader.Open(str, PdfSharp.Pdf.IO.PdfDocumentOpenMode.Import);
         int count = inputDocument.PageCount;
         for (int idx = 0; idx < count; idx++)
         {
             PdfSharp.Pdf.PdfPage page = inputDocument.Pages[idx];
             pdfdocument.AddPage(page);
         }
     }
     pdfdocument.Save(outFile);
 }
Ejemplo n.º 24
0
        public static void EscreverPDF(string nome, string Texto)
        {
            using (var doc = new PdfSharp.Pdf.PdfDocument())
            {
                var page          = doc.AddPage();
                var graphics      = PdfSharp.Drawing.XGraphics.FromPdfPage(page);
                var textFormatter = new PdfSharp.Drawing.Layout.XTextFormatter(graphics);
                var font          = new PdfSharp.Drawing.XFont("Arial", 14);

                textFormatter.DrawString(Texto, font, PdfSharp.Drawing.XBrushes.Red, new PdfSharp.Drawing.XRect(50, 50, page.Width, page.Height));

                doc.Save(nome);
                System.Diagnostics.Process.Start(nome);
            }
        }
Ejemplo n.º 25
0
        public void actualizeCheckPdf()
        {
            clearCheckPdf();
            string directory = textBox1.Text;

            if (directory.Length == 0 || !Directory.Exists(directory))
            {
                return;
            }

            directory_info = new DirectoryInfo(directory);
            if (directory_info == null)
            {
                return;
            }

            int  total_pages = 0;
            long total_size  = 0L;

            FileInfo[] files = directory_info.GetFiles("*.pdf");

            foreach (FileInfo fi in files)
            {
                FileStream stream = fi.OpenRead();
                long       size   = stream.Length;
                total_size += size;

                PdfSharp.Pdf.PdfDocument doc = null;
                string pages_count_text      = null;
                try
                {
                    doc              = PdfSharp.Pdf.IO.PdfReader.Open(stream);
                    total_pages     += doc.PageCount;
                    pages_count_text = doc.PageCount.ToString();
                }
                catch
                {
                    pages_count_text = "unknown";
                }

                dataGridView1.Rows.Add(new object[] { fi.Name, pages_count_text, longToMb(size).ToString("n2") });
                stream.Close();
            }

            label3.Text = files.Length.ToString();
            label4.Text = total_pages.ToString();
            label6.Text = String.Format("{0} MB", longToMb(total_size).ToString("n2"));
        }
Ejemplo n.º 26
0
        private void createCombinedPdf_PdfSharp(List <string> selectedPdfFiles, string newFileName)
        {
            var outputPDFDocument = new PdfSharp.Pdf.PdfDocument();

            foreach (var pdfFile in selectedPdfFiles)
            {
                var inputPDFDocument = PdfSharp.Pdf.IO.PdfReader.Open(pdfFile, PdfSharp.Pdf.IO.PdfDocumentOpenMode.Import);
                outputPDFDocument.Version = inputPDFDocument.Version;
                foreach (PdfSharp.Pdf.PdfPage page in inputPDFDocument.Pages)
                {
                    outputPDFDocument.AddPage(page);
                }
            }
            outputPDFDocument.Info.Author  = "Cockle Legal Briefs";
            outputPDFDocument.Info.Creator = "Cockle Legal Briefs";
            outputPDFDocument.Save(newFileName);
        }
Ejemplo n.º 27
0
        static PdfSharp.Pdf.PdfObject PdfSharpGetItem(PdfSharp.Pdf.PdfDocument document, Int32 forObjectId)
        {
            PdfSharp.Pdf.PdfObject item = null;

            foreach (PdfSharp.Pdf.PdfObject currentItem in document.Internals.GetAllObjects())
            {
                if (currentItem.Internals.ObjectID.ObjectNumber == forObjectId)
                {
                    item = currentItem;

                    break;
                }
            }


            return(item);
        }
Ejemplo n.º 28
0
        public void Converter(string LocalArquivo, string LocalSalvar, string NomeArquivo)
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            var Dados = File.ReadAllText(LocalArquivo);

            using (var doc = new PdfSharp.Pdf.PdfDocument())
            {
                var page          = doc.AddPage();
                var graphics      = XGraphics.FromPdfPage(page);
                var textFormatter = new PdfSharp.Drawing.Layout.XTextFormatter(graphics);
                textFormatter.DrawString(Dados, new XFont("Arial", 9),
                                         XBrushes.Black,
                                         new XRect(0, 0, page.Width, page.Height));

                doc.Save(LocalSalvar + "\\" + NomeArquivo + ".pdf");
            }
        }
Ejemplo n.º 29
0
        public static void Test(PdfSharp.Pdf.PdfDocument document)
        {
            // Create an empty XForm object with the specified width and height
            // A form is bound to its target document when it is created. The reason is that the form can
            // share fonts and other objects with its target document.
            XForm form = new XForm(document, XUnit.FromMillimeter(70), XUnit.FromMillimeter(55));

            // Create an XGraphics object for drawing the contents of the form.
            XGraphics formGfx = XGraphics.FromForm(form);

            // Draw a large transparent rectangle to visualize the area the form occupies
            XColor back = XColors.Orange;

            back.A = 0.2;
            XSolidBrush brush = new XSolidBrush(back);

            formGfx.DrawRectangle(brush, -10000, -10000, 20000, 20000);

            // On a form you can draw...

            // ... text
            formGfx.DrawString("Text, Graphics, Images, and Forms", new XFont("Verdana", 10, XFontStyle.Regular), XBrushes.Navy, 3, 0, XStringFormats.TopLeft);
            XPen pen = XPens.LightBlue.Clone();

            pen.Width = 2.5;

            // ... graphics like Bézier curves
            formGfx.DrawBeziers(pen, XPoint.ParsePoints("30,120 80,20 100,140 175,33.3"));

            // ... raster images like GIF files
            XGraphicsState state = formGfx.Save();

            formGfx.RotateAtTransform(17, new XPoint(30, 30));
            formGfx.DrawImage(XImage.FromFile("../../../../../../dev/XGraphicsLab/images/Test.gif"), 20, 20);
            formGfx.Restore(state);

            // ... and forms like XPdfForm objects
            state = formGfx.Save();
            formGfx.RotateAtTransform(-8, new XPoint(165, 115));
            formGfx.DrawImage(XPdfForm.FromFile("../../../../../PDFs/SomeLayout.pdf"), new XRect(140, 80, 50, 50 * System.Math.Sqrt(2)));
            formGfx.Restore(state);

            // When you finished drawing on the form, dispose the XGraphic object.
            formGfx.Dispose();
        }
Ejemplo n.º 30
0
        static void Main(string[] args)
        {
            if (!args.Any())
            {
                Console.WriteLine("You must give the path to a PDF file that needs to be split");
                Console.ReadKey();
                return;
            }

            var combinedPDFPath = args[0];

            if (!File.Exists(combinedPDFPath))
            {
                Console.WriteLine("Could not open file " + combinedPDFPath);
                Console.ReadKey();
                return;
            }

            var doc = PdfReader.Open(combinedPDFPath, PdfDocumentOpenMode.Import);

            for (int pageNumber = 0; pageNumber < doc.PageCount; pageNumber++)
            {
                var page = doc.Pages[pageNumber];

                var text = page.ExtractString();
                var name = FindTextBetween(text, "This is to certify that", "has completed").Trim();

                if (string.IsNullOrWhiteSpace(name))
                {
                    Console.WriteLine("Could not find text from page " + pageNumber);
                    continue;
                }

                var splitdoc = new PdfSharp.Pdf.PdfDocument();
                splitdoc.AddPage(page);
                var filename = name + ".pdf";
                splitdoc.Save(filename);
                splitdoc.Close();
                Console.WriteLine("Saved page " + filename);
            }

            Console.WriteLine("");
            Console.WriteLine("Press any key to close.");
            Console.ReadKey();
        }
Ejemplo n.º 31
0
        private void btnPDF_Click(object sender, EventArgs e)
        {
            try
            {
                using (var doc = new PdfSharp.Pdf.PdfDocument())
                {
                    var page          = doc.AddPage();
                    var graphics      = PdfSharp.Drawing.XGraphics.FromPdfPage(page);
                    var textFormatter = new PdfSharp.Drawing.Layout.XTextFormatter(graphics);
                    var font          = new PdfSharp.Drawing.XFont("Arial", 10);
                    int cont          = up.listarTodos().Rows.Count;
                    /*cont = 2;*/
                    int   posicaoY = 20;
                    int[] posicaoX = { 20, 25, 90, 160, 260, 340, 390 };
                    for (int i = 0; i < cont - 1; i++)
                    {
                        for (int j = 0; j < 7; j++)
                        {
                            /*if (i == cont)
                             *  break;*/
                            textFormatter.DrawString(up.listarTodos().Rows[i][j].ToString(), font, PdfSharp.Drawing.XBrushes.Red, new PdfSharp.Drawing.XRect(posicaoX[j], posicaoY, page.Width, page.Height));
                        }
                        posicaoY += 10;

                        /*if (i == cont)
                         *  break;*/
                    }
                    doc.Save("arquivo.pdf");
                    System.Diagnostics.Process.Start("arquivo.pdf");
                }
            }
            catch (Exception erro)
            {
                MessageBox.Show(erro.Message);
            }

            /*  Document documento = new Document(PageSize.A4, 5, 5, 15, 15);
             * PdfWriter.GetInstance(documento, new Fil(HttpContext.Current.Server.MapPath("~/documento.pdf"), FileMode.Create));
             * documento.Open();
             * // cria tablela de 4 coluna
             * PdfPTable tabela = new PdfPTable(4);
             * // cria uma célula - será usada para cada célula abaixo
             *
             * PdfPCell celula = new PdfPCell();*/
        }
Ejemplo n.º 32
0
        public void HTMLToPDFV5()
        {
            // string html = File.ReadAllText("input.htm");
            string html = File.ReadAllText(@"C:\Users\asingh30\Downloads\sample cv\purple light download.html");

            PdfSharp.Pdf.PdfDocument pdf3 = PdfGenerator.GeneratePdf(html, PdfSharp.PageSize.A4);
            pdf3.Save(@"C:\Users\asingh30\Downloads\sample cv\purple light downloadPDf.pdf");

            //PdfDocument pdf = PdfGenerator.GeneratePdf(html, PdfSharp.PageSize.A4);
            //pdf.Save("document.pdf");



            //PdfGenerateConfig config = new PdfGenerateConfig();
            //config.PageSize = PageSize.A4;
            //config.SetMargins(20);
            //PdfDocument pdf2 = PdfGenerator.GeneratePdf(html, PdfSharp.PageSize.A4);//, null, DemoUtils.OnStylesheetLoad, HtmlRenderingHelper.OnImageLoadPdfSharp);
        }
Ejemplo n.º 33
0
        private void PaitentFinances_Click(object sender, EventArgs e)
        {
            int PID;
            try {
                PID = Convert.ToInt32(PatientBox.Text);
            }
            catch {
                PID = -1;
                PatientBox.Text = "Number Reqired";
            }

            if (PID > -1) {
                MiddleWare.middle.OpenConnection();

                SqlCommand GetData = new SqlCommand(string.Format("select FirstName, LastName from Patients WHERE PatientID='{0}';", PID), MiddleWare.middle.dbConnection);
                SqlDataReader dataReader = GetData.ExecuteReader();
                if (dataReader.HasRows) {
                    dataReader.Read();
                    String name = dataReader.GetString(0) + " " + dataReader.GetString(1);
                    MiddleWare.middle.CloseConnection();

                    MiddleWare.middle.OpenConnection();
                    String feeID = "";
                    String grossCost = "";
                    String DiscountedCost = "";
                    int totalCost = 0;
                    SqlDataAdapter adapter = new SqlDataAdapter();
                    DataSet ds = new DataSet();
                    GetData = new SqlCommand(string.Format("SELECT Treatment.PatientID, Fees.FeeID, Fees.GrossCost, Fees.TotalCost FROM Treatment INNER JOIN Fees ON Treatment.FeeID = Fees.FeeID WHERE Treatment.PatientID = '{0}'", PID), MiddleWare.middle.dbConnection);
                    adapter.SelectCommand = GetData;
                    adapter.Fill(ds);

                    MiddleWare.middle.CloseConnection();

                    string printString;
                    PdfSharp.Pdf.PdfDocument PDFDocument = new PdfSharp.Pdf.PdfDocument();
                    PDFDocument.Info.Title = "Patient Invoice";
                    PdfSharp.Pdf.PdfPage PDFPage = PDFDocument.AddPage();
                    PdfSharp.Drawing.XGraphics PDFGraphics = PdfSharp.Drawing.XGraphics.FromPdfPage(PDFPage);
                    PdfSharp.Drawing.XFont font = new PdfSharp.Drawing.XFont("Verdana", 12, PdfSharp.Drawing.XFontStyle.Bold);
                    PdfSharp.Drawing.XRect rec = new PdfSharp.Drawing.XRect((PDFPage.Width / 8), 110, PDFPage.Width, PDFPage.Height);
                    // 0 - 90 banner
                    PDFGraphics.DrawString("Q Medic Hospital Banner Goes Here", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect((PDFPage.Width / 4), 50, PDFPage.Width, PDFPage.Height), PdfSharp.Drawing.XStringFormats.TopLeft);

                    printString = "Patient ID: " + PID;
                    PDFGraphics.DrawString(printString, font, PdfSharp.Drawing.XBrushes.Black, rec, PdfSharp.Drawing.XStringFormats.TopLeft);
                    rec.X = (PDFPage.Width / 8) + 20;

                    printString = "Name: " + name;
                    rec.Y = 150;
                    PDFGraphics.DrawString(printString, font, PdfSharp.Drawing.XBrushes.Black, rec, PdfSharp.Drawing.XStringFormats.TopLeft);
                    int yPoint = 220;

                    PDFGraphics.DrawString("Invoice Number", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(40, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                    PDFGraphics.DrawString("Gross Cost", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(180, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                    PDFGraphics.DrawString("Discounted Cost", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(300, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                    PDFGraphics.DrawString("TotalCost", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(420, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                    yPoint = 250;
                    for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
                {
                    if (yPoint > 820) {
                        yPoint = 50;
                        PDFPage = PDFDocument.AddPage();
                        PDFGraphics = PdfSharp.Drawing.XGraphics.FromPdfPage(PDFPage);

                        PDFGraphics.DrawString("Invoice Number", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(40, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                        PDFGraphics.DrawString("Gross Cost", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(180, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                        PDFGraphics.DrawString("Discounted Cost", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(300, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                        PDFGraphics.DrawString("TotalCost", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(420, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);
                        yPoint = 70;
                    }
                    feeID = ds.Tables[0].Rows[i].ItemArray[1].ToString ();
                    grossCost = ds.Tables[0].Rows[i].ItemArray[2].ToString();
                    DiscountedCost = ds.Tables[0].Rows[i].ItemArray[3].ToString();

                    PDFGraphics.DrawString(feeID, font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(40, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                    PDFGraphics.DrawString("$"+grossCost+".00", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(180, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                    PDFGraphics.DrawString("$"+DiscountedCost+".00", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(300, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);
                    try {
                        totalCost += Convert.ToInt32(DiscountedCost);
                        PDFGraphics.DrawString("$" + totalCost + ".00", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(420, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);
                    }
                    catch {
                        PDFGraphics.DrawString("NaN", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(420, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                    }
                        yPoint = yPoint + 20;
                }
                    yPoint += 40;
                    PDFGraphics.DrawString("Grand Total: ", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(320, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);
                    PDFGraphics.DrawString("$" + totalCost+".00", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(420, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                    String filename = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\HospitalExport\\" +  PID + "_PaitentStatement.pdf";
                    PDFDocument.Save(filename);
                }
            }
            // finances for patient
        }
        private static string GeneratePlaceholderFile(string workingFolder, string fileName, string documentHandle)
        {
            string pdfFileToAppend = Path.Combine(workingFolder, Guid.NewGuid() + ".pdf");
            using (PdfSharp.Pdf.PdfDocument document = new PdfSharp.Pdf.PdfDocument())
            {
                // Create an empty page
                PdfSharp.Pdf.PdfPage page = document.AddPage();

                // Get an XGraphics object for drawing
                using (XGraphics gfx = XGraphics.FromPdfPage(page))
                {
                    // Create a font
                    XFont font = new XFont("Verdana", 14, XFontStyle.Bold);

                    // Draw the text
                    gfx.DrawString("Handle " + documentHandle + " fileName " + fileName +  " has no pdf format",
                        font,
                        XBrushes.Black,
                      new XRect(0, 0, page.Width, page.Height),
                      XStringFormats.TopCenter);
                }

                document.Save(pdfFileToAppend);
            }

            return pdfFileToAppend;
        }
Ejemplo n.º 35
0
		public static void PDFMergeDocs(string sDocNumber, string sDocFolderName)
		{
			string sFinalDocParentFolder = "";
			string sFinalDocSIFolder = sDocFolderName;

			if (ConfigurationManager.AppSettings["FinalDocsFolder"] != null)
				sFinalDocParentFolder = ConfigurationManager.AppSettings["FinalDocsFolder"];
			else
				sFinalDocParentFolder = Application.StartupPath + "\\FinalDocs";

			try
			{
				// Open INPUT/OUTPUT documents
				PdfSharp.Pdf.PdfDocument inputDocument = new PdfSharp.Pdf.PdfDocument();
				PdfSharp.Pdf.PdfDocument outputDocument = new PdfSharp.Pdf.PdfDocument();

				//Page 1 - CRYSTAL EXPORT
				inputDocument = PdfReader.Open(Application.StartupPath + "\\SI_Docs\\Source\\" + sDocNumber + ".pdf", PdfDocumentOpenMode.Import);

				//Get PAGE 1 from EXTERNAL DOC
				PdfSharp.Pdf.PdfPage page = inputDocument.Pages[0];
				outputDocument.AddPage(page);

				//Page 2 - QUALITY FORM
				inputDocument = PdfReader.Open(Application.StartupPath + "\\SI_Docs\\Source\\PQF.pdf", PdfDocumentOpenMode.Import);

				//Get PAGE 2 from EXTERNAL DOC
				page = inputDocument.Pages[0];
				outputDocument.AddPage(page);

				//Page 3 - PRODUCTION FORM
				inputDocument = PdfReader.Open(Application.StartupPath + "\\SI_Docs\\Source\\PPF.pdf", PdfDocumentOpenMode.Import);

				//Get PAGE 3 from EXTERNAL DOC
				page = inputDocument.Pages[0];
				outputDocument.AddPage(page);
				//page = inputDocument.Pages[1];
				//outputDocument.AddPage(page);

				//Save OUPUT DOC
				string sOutputFolder = sFinalDocParentFolder + "\\" + sFinalDocSIFolder + "\\";
				string sFileName = sOutputFolder + sDocNumber + ".pdf";

				if (Directory.Exists(sOutputFolder))
					outputDocument.Save(sFileName);
				else
				{
					Directory.CreateDirectory(sOutputFolder);
					outputDocument.Save(sFileName);
				}								
				
				//Open PDF Viewer
				Process.Start(sFileName);

			}
			catch (Exception ex)
			{
				MessageBox.Show("Error Merging PDF Files", "Merge Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
			}

		}
Ejemplo n.º 36
0
		public static void printDeliveryNote(Main frmMain, string sDocumentNumber, string sMessage01, string sMessage02, string sCoordinates, string sCollected, bool bFirstPrint, bool sendToDepot, PrintDialog pdPrintDetails)
		{
			using (PsqlConnection oPastelConn = new PsqlConnection(Connect.sPastelConnStr))
			{
				using (PsqlConnection oLiquidConn = new PsqlConnection(Connect.sConnStr))
				{
					ReportClass reportDelivery = null;
					
					oPastelConn.Open();
					string sSql = "";
					if (Global.sDeliveryNoteTemplate == "Talisman - Thubatse")
					{

						reportDelivery = new Solsage_Process_Management_System.Documents.Templates.Delivery.Del_Thubatse();
						sSql = "Select HistoryHeader.DocumentNumber, HistoryHeader.CustomerCode, HistoryHeader.DocumentDate, HistoryHeader.SalesmanCode, DelAddress01, DelAddress02, DelAddress03, DelAddress04, DelAddress05, HistoryLines.ItemCode, UnitUsed, HistoryLines.Description, Qty, UnitPrice ";
						sSql += ",LinkNum, CustomerDesc, PostAddress01,PostAddress02,PostAddress03,PostAddress04,PostAddress05, OrderNumber,UserDefNum01, UserDefNum02, DiscountPercentage, UserDefined05 ";
						sSql += " From HistoryHeader Left Join HistoryLines on HistoryHeader.DocumentNumber = HistoryLines.DocumentNumber ";
						sSql += " Left Join CustomerMaster on HistoryHeader.CustomerCode = CustomerMaster.CustomerCode";
						sSql += " Left Join Inventory on HistoryLines.ItemCode = Inventory.ItemCode";
						sSql += " Where HistoryHeader.DocumentNumber = '" + sDocumentNumber + "' and HistoryHeader.DocumentType in (102,2) and HistoryLines.DocumentType in (102,2) order by LinkNum";
						Datasets.dsDeliveryNote.delivery_01DataTable dtDelivery = new Solsage_Process_Management_System.Datasets.dsDeliveryNote.delivery_01DataTable();
						using (PsqlDataReader rdReader = Connect.getDataCommand(sSql, oPastelConn).ExecuteReader())
						{
							while (rdReader.Read())
							{
								DataRow drRow = dtDelivery.NewRow();
								drRow["DocumentNumber"] = rdReader["DocumentNumber"];
								drRow["CustomerCode"] = rdReader["CustomerCode"];
								drRow["DocumentDate"] = rdReader["DocumentDate"];
								drRow["DelAddress01"] = rdReader["DelAddress01"];
								drRow["DelAddress02"] = rdReader["DelAddress02"];
								drRow["DelAddress03"] = rdReader["DelAddress03"];
								drRow["DelAddress04"] = rdReader["DelAddress04"];
								drRow["DelAddress05"] = rdReader["DelAddress05"];
								drRow["ItemCode"] = rdReader["ItemCode"];
								drRow["UnitUsed"] = rdReader["UnitUsed"];
								drRow["Description"] = rdReader["Description"];
								drRow["Qty"] = rdReader["Qty"];
								drRow["UnitPrice"] = rdReader["UnitPrice"];
								drRow["LinkNum"] = rdReader["LinkNum"];
								drRow["CustomerDesc"] = rdReader["CustomerDesc"];
								drRow["PostAddress01"] = rdReader["PostAddress01"];
								drRow["PostAddress02"] = rdReader["PostAddress02"];
								drRow["PostAddress03"] = rdReader["PostAddress03"];
								drRow["PostAddress04"] = rdReader["PostAddress04"];
								drRow["PostAddress05"] = rdReader["PostAddress05"];
								drRow["OrderNumber"] = rdReader["OrderNumber"];
								drRow["LineDiscount"] = rdReader["DiscountPercentage"];
								drRow["DiscountCode"] = rdReader["UserDefined05"];
								drRow["sTermsAndConditions"] = Global.sTermsAndConditions.Trim();


								//get salesman name from solus 06/13/2011
								string sSqlUs = "Select UserName from SOLUS where Code = '" + rdReader["SalesmanCode"].ToString() + "'";
								string sUserName = Connect.getDataCommand(sSqlUs, oLiquidConn).ExecuteScalar().ToString();
								drRow["SalesmanCode"] = sUserName;

								if (rdReader["ItemCode"].ToString().Trim() != "'" && !rdReader["ItemCode"].ToString().Trim().StartsWith("*D"))
								{
									if (rdReader["UserDefNum01"].ToString() == "1")
									{
										sSql = "select Convert(Multiplier,SQL_VARCHAR) + '|' + Convert(Status,SQL_VARCHAR)  from SOLHL where Header = '" + rdReader["DocumentNumber"].ToString().Trim() + "' and LinkNum =" + rdReader["LinkNum"];
										string[] aMultiplierRet = Connect.getDataCommand(sSql, oLiquidConn).ExecuteScalar().ToString().Split("|".ToCharArray()[0]);
										drRow["Multiplier"] = aMultiplierRet[0];
										if (aMultiplierRet[1] == "1")
										{
											drRow["Returned"] = "*Ret";
										}
										else
										{
											drRow["Returned"] = "";
										}

									}
									else
									{
										sSql = "select Convert(Multiplier,SQL_VARCHAR) + '|' + Convert(Status,SQL_VARCHAR) from SOLHL where Header = '" + rdReader["DocumentNumber"].ToString().Trim() + "' and LinkNum =" + rdReader["LinkNum"];
										string[] aQtyRet = Connect.getDataCommand(sSql, oLiquidConn).ExecuteScalar().ToString().Split("|".ToCharArray()[0]);
										drRow["Multiplier"] = aQtyRet[0];
										if (aQtyRet[1] == "1")
										{
											drRow["Returned"] = "*Ret";
										}
										else
										{
											drRow["Returned"] = "";
										}

									}
								}
								dtDelivery.Rows.Add(drRow);

							}
							rdReader.Close();
						}

						//extObject txtDeliveryMessage = (TextObject)((Solsage_Process_Management_System.Documents.Templates.Delivery.Del_02)reportDelivery).Section5.ReportObjects["txtConditions"];
						//if (txtDeliveryMessage != null)
						//{
						//    txtDeliveryMessage.Text = txtDeliveryMessage.Text.Replace("<Company>", Global.sDeliveryNoteCompany);
						//}
						reportDelivery.SetDataSource((DataTable)dtDelivery);
						foreach (CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition forReport in reportDelivery.DataDefinition.FormulaFields)
						{

							switch (forReport.FormulaName)
							{
								case "{@sGlobCompanyName}":
									forReport.Text = "'" + Global.sCompanyName.Trim() + "'";
									break;
								case "{@sGlobCompanyRegName}":
									forReport.Text = "'" + Global.sRegName.Trim() + "'";
									break;
								case "{@sGlobVat}":
									forReport.Text = "'" + Global.sVAT.Trim() + "'";
									break;
								case "{@sGlobReg}":
									forReport.Text = "'" + Global.sReg.Trim() + "'";
									break;
								case "{@sGlobTel}":
									forReport.Text = "'" + Global.sCompanyTel.Trim() + "'";
									break;
								case "{@sGlobFax}":
									forReport.Text = "'" + Global.sCompanyFax.Trim() + "'";
									break;
								case "{@sGlobPost1}":
									forReport.Text = "'" + Global.sCompanyPostAd1.Trim() + "'";
									break;
								case "{@sGlobPost2}":
									forReport.Text = "'" + Global.sCompanyPostAd2.Trim() + "'";
									break;
								case "{@sGlobPost3}":
									forReport.Text = "'" + Global.sCompanyPostAd3.Trim() + "'";
									break;
								case "{@sGlobAdd1}":
									forReport.Text = "'" + Global.sCompanyAd1.Trim() + "'";
									break;
								case "{@sGlobAdd2}":
									forReport.Text = "'" + Global.sCompanyAd2.Trim() + "'";
									break;
								case "{@sGlobAdd3}":
									forReport.Text = "'" + Global.sCompanyAd3.Trim() + "'";
									break;
								case "{@sInvoiceMessage01}":
									forReport.Text = sMessage01;
									break;
								case "{@sInvoiceMessage02}":
									forReport.Text = sMessage02;
									break;
								case "{@sCoordinates}":
									forReport.Text = "'" + sCoordinates + "'";
									break;
								case "{@Collected}":
									if (sCollected == "COLLECTED")
										sCollected = sCollected + " BY:";
									else
										sCollected = sCollected + " TO:";
									forReport.Text = "'" + sCollected + "'";
									break;
								case "{@CompanyCell}":
									forReport.Text = "'" + Global.sInvoiceContactNumber + "'";
									break;
							}
						}
					}
					else if (Global.sDeliveryNoteTemplate == "Talisman - Lydenburg; Phalaborwa; Thubatse; Wonderboom")
					{
						
						reportDelivery = new Solsage_Process_Management_System.Documents.Templates.Delivery.Del_02();
						sSql = "Select HistoryHeader.DocumentNumber, HistoryHeader.CustomerCode, HistoryHeader.DocumentDate, HistoryHeader.SalesmanCode, DelAddress01, DelAddress02, DelAddress03, DelAddress04, DelAddress05, HistoryLines.ItemCode, UnitUsed, HistoryLines.Description, Qty, UnitPrice ";
						sSql += ",LinkNum, CustomerDesc, PostAddress01,PostAddress02,PostAddress03,PostAddress04,PostAddress05, OrderNumber,UserDefNum01, UserDefNum02, DiscountPercentage, UserDefined05 ";
						sSql += " From HistoryHeader Left Join HistoryLines on HistoryHeader.DocumentNumber = HistoryLines.DocumentNumber ";
						sSql += " Left Join CustomerMaster on HistoryHeader.CustomerCode = CustomerMaster.CustomerCode";
						sSql += " Left Join Inventory on HistoryLines.ItemCode = Inventory.ItemCode";
						sSql += " Where HistoryHeader.DocumentNumber = '" + sDocumentNumber + "' and HistoryHeader.DocumentType in (102,2) and HistoryLines.DocumentType in (102,2) order by LinkNum";				
						Datasets.dsDeliveryNote.delivery_01DataTable dtDelivery = new Solsage_Process_Management_System.Datasets.dsDeliveryNote.delivery_01DataTable();						
						using (PsqlDataReader rdReader = Connect.getDataCommand(sSql, oPastelConn).ExecuteReader())
						{
							while (rdReader.Read())
							{
								DataRow drRow = dtDelivery.NewRow();
								drRow["DocumentNumber"] = rdReader["DocumentNumber"];
								drRow["CustomerCode"] = rdReader["CustomerCode"];
								drRow["DocumentDate"] = rdReader["DocumentDate"];					
								drRow["DelAddress01"] = rdReader["DelAddress01"];
								drRow["DelAddress02"] = rdReader["DelAddress02"];
								drRow["DelAddress03"] = rdReader["DelAddress03"];
								drRow["DelAddress04"] = rdReader["DelAddress04"];
								drRow["DelAddress05"] = rdReader["DelAddress05"];
								drRow["ItemCode"] = rdReader["ItemCode"];
								drRow["UnitUsed"] = rdReader["UnitUsed"];
								drRow["Description"] = rdReader["Description"];
								drRow["Qty"] = rdReader["Qty"];
								drRow["UnitPrice"] = rdReader["UnitPrice"];
								drRow["LinkNum"] = rdReader["LinkNum"];
								drRow["CustomerDesc"] = rdReader["CustomerDesc"];
								drRow["PostAddress01"] = rdReader["PostAddress01"];
								drRow["PostAddress02"] = rdReader["PostAddress02"];
								drRow["PostAddress03"] = rdReader["PostAddress03"];
								drRow["PostAddress04"] = rdReader["PostAddress04"];
								drRow["PostAddress05"] = rdReader["PostAddress05"];
								drRow["OrderNumber"] = rdReader["OrderNumber"];
								drRow["LineDiscount"] = rdReader["DiscountPercentage"];
								drRow["DiscountCode"] = rdReader["UserDefined05"];
								drRow["sTermsAndConditions"] = Global.sTermsAndConditions.Trim();
								
															
								//get salesman name from solus 06/13/2011
								string sSqlUs = "Select UserName from SOLUS where Code = '" + rdReader["SalesmanCode"].ToString() + "'";
								string sUserName = Connect.getDataCommand(sSqlUs, oLiquidConn).ExecuteScalar().ToString();
								drRow["SalesmanCode"] = sUserName;

								if (rdReader["ItemCode"].ToString().Trim() != "'" && !rdReader["ItemCode"].ToString().Trim().StartsWith("*D"))
								{
									if (rdReader["UserDefNum01"].ToString() == "1")
									{
										sSql = "select Convert(Multiplier,SQL_VARCHAR) + '|' + Convert(Status,SQL_VARCHAR)  from SOLHL where Header = '" + rdReader["DocumentNumber"].ToString().Trim() + "' and LinkNum =" + rdReader["LinkNum"];
										string[] aMultiplierRet = Connect.getDataCommand(sSql, oLiquidConn).ExecuteScalar().ToString().Split("|".ToCharArray()[0]);
										drRow["Multiplier"] = aMultiplierRet[0];
										if (aMultiplierRet[1] == "1")
										{
											drRow["Returned"] = "*Ret";
										}
										else
										{
											drRow["Returned"] = "";
										}
										
									}
									else
									{
										sSql = "select Convert(Multiplier,SQL_VARCHAR) + '|' + Convert(Status,SQL_VARCHAR) from SOLHL where Header = '" + rdReader["DocumentNumber"].ToString().Trim() + "' and LinkNum =" + rdReader["LinkNum"];
										string[] aQtyRet = Connect.getDataCommand(sSql, oLiquidConn).ExecuteScalar().ToString().Split("|".ToCharArray()[0]);
										drRow["Multiplier"] = aQtyRet[0];
										if (aQtyRet[1] == "1")
										{
											drRow["Returned"] = "*Ret";
										}
										else
										{
											drRow["Returned"] = "";
										}

									}
								}
								dtDelivery.Rows.Add(drRow);

							}
							rdReader.Close();
						}

						//extObject txtDeliveryMessage = (TextObject)((Solsage_Process_Management_System.Documents.Templates.Delivery.Del_02)reportDelivery).Section5.ReportObjects["txtConditions"];
						//if (txtDeliveryMessage != null)
						//{
						//    txtDeliveryMessage.Text = txtDeliveryMessage.Text.Replace("<Company>", Global.sDeliveryNoteCompany);
						//}
						reportDelivery.SetDataSource((DataTable)dtDelivery);
						foreach (CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition forReport in reportDelivery.DataDefinition.FormulaFields)
						{

							switch (forReport.FormulaName)
							{
								case "{@sGlobCompanyName}":
									forReport.Text = "'" + Global.sCompanyName.Trim() + "'";
									break;
								case "{@sGlobCompanyRegName}":
									forReport.Text = "'" + Global.sRegName.Trim() + "'";
									break;
								case "{@sGlobVat}":
									forReport.Text = "'" + Global.sVAT.Trim() + "'";
									break;
								case "{@sGlobReg}":
									forReport.Text = "'" + Global.sReg.Trim() + "'";
									break;
								case "{@sGlobTel}":
									forReport.Text = "'" + Global.sCompanyTel.Trim() + "'";
									break;
								case "{@sGlobFax}":
									forReport.Text = "'" + Global.sCompanyFax.Trim() + "'";
									break;
								case "{@sGlobPost1}":
									forReport.Text = "'" + Global.sCompanyPostAd1.Trim() + "'";
									break;
								case "{@sGlobPost2}":
									forReport.Text = "'" + Global.sCompanyPostAd2.Trim() + "'";
									break;
								case "{@sGlobPost3}":
									forReport.Text = "'" + Global.sCompanyPostAd3.Trim() + "'";
									break;
								case "{@sGlobAdd1}":
									forReport.Text = "'" + Global.sCompanyAd1.Trim() + "'";
									break;
								case "{@sGlobAdd2}":
									forReport.Text = "'" + Global.sCompanyAd2.Trim() + "'";
									break;
								case "{@sGlobAdd3}":
									forReport.Text = "'" + Global.sCompanyAd3.Trim() + "'";
									break;
								case "{@sInvoiceMessage01}":
									forReport.Text = sMessage01;
									break;
								case "{@sInvoiceMessage02}":
									forReport.Text = sMessage02;
									break;
								case "{@sCoordinates}":
									forReport.Text = "'" + sCoordinates + "'";
									break;
								case "{@Collected}":
									if (sCollected == "COLLECTED")
										sCollected = sCollected + " BY:";
									else
										sCollected = sCollected + " TO:";
									forReport.Text = "'" + sCollected + "'";
									break;
								case "{@CompanyCell}":
									forReport.Text = "'" + Global.sInvoiceContactNumber + "'";
									break;
							}
						}
					}
					else if (Global.sDeliveryNoteTemplate == "Kings Hire")
					{
						reportDelivery = new Solsage_Process_Management_System.Documents.Templates.Delivery.Site();
						sSql = "Select HistoryHeader.DocumentNumber, HistoryHeader.CustomerCode, HistoryHeader.DocumentDate, HistoryHeader.SalesmanCode, DelAddress01, DelAddress02, DelAddress03, DelAddress04, DelAddress05, HistoryLines.ItemCode, UnitUsed, HistoryLines.Description, Qty, UnitPrice ";
						sSql += ",LinkNum, CustomerDesc, PostAddress01,PostAddress02,PostAddress03,PostAddress04,PostAddress05, OrderNumber,UserDefNum01, UserDefNum02, DiscountPercentage ";
						sSql += " From HistoryHeader Left Join HistoryLines on HistoryHeader.DocumentNumber = HistoryLines.DocumentNumber ";
						sSql += " Left Join CustomerMaster on HistoryHeader.CustomerCode = CustomerMaster.CustomerCode";
						sSql += " Left Join Inventory on HistoryLines.ItemCode = Inventory.ItemCode";
						sSql += " Where HistoryHeader.DocumentNumber = '" + sDocumentNumber + "'  and HistoryHeader.DocumentType in (102,2) and HistoryLines.DocumentType in (102,2) order by LinkNum";
						Datasets.dsDeliveryNote.delivery_01DataTable dtDelivery = new Solsage_Process_Management_System.Datasets.dsDeliveryNote.delivery_01DataTable();
						using (PsqlDataReader rdReader = Connect.getDataCommand(sSql, oPastelConn).ExecuteReader())
						{
							while (rdReader.Read())
							{
								DataRow drRow = dtDelivery.NewRow();
								drRow["DocumentNumber"] = rdReader["DocumentNumber"];
								drRow["CustomerCode"] = rdReader["CustomerCode"];
								drRow["DocumentDate"] = rdReader["DocumentDate"];
								//get salesman name from solus 06/13/2011
								string sSqlUs = "Select UserName from SOLUS where Code = '" + rdReader["SalesmanCode"].ToString() + "'";
								string sUserName = Connect.getDataCommand(sSqlUs, oLiquidConn).ExecuteScalar().ToString();
								drRow["SalesmanCode"] = sUserName;
								
								using (PsqlConnection oConn = new PsqlConnection(Solsage_Process_Management_System.Classes.Connect.sConnStr))
								{
									oConn.Open();
									if (rdReader["SalesmanCode"].ToString().Trim() != "")
									{
										sSql = "Select top 1 TelephoneNumber From SOLUS where Code = '" + rdReader["SalesmanCode"].ToString() + "'";
										drRow["TelephoneNumber"] = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql, oConn).ExecuteScalar().ToString();
									}
									else
									{
										drRow["TelephoneNumber"] = "";
									}

									oConn.Dispose();
								}

								using (PsqlConnection oConn = new PsqlConnection(Solsage_Process_Management_System.Classes.Connect.sConnStr))
								{
									oConn.Open();
									if (rdReader["SalesmanCode"].ToString().Trim() != "")
									{
										sSql = "Select top 1 Shortname From SOLUS where Code = '" + rdReader["SalesmanCode"].ToString() + "'";
										drRow["ShortName"] = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql, oConn).ExecuteScalar().ToString();
									}
									else
									{
										drRow["ShortName"] = "";
									}

									oConn.Dispose();
								}

								using (PsqlConnection oConn = new PsqlConnection(Solsage_Process_Management_System.Classes.Connect.sConnStr))
								{
									oConn.Open();
									if (rdReader["SalesmanCode"].ToString().Trim() != "")
									{
										sSql = "Select top 1 Description From SOLUS where Code = '" + rdReader["SalesmanCode"].ToString() + "'";
										drRow["SalesmanName"] = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql, oConn).ExecuteScalar().ToString();
									}
									else
									{
										drRow["SalesmanName"] = "";
									}

									oConn.Dispose();
								}
								drRow["DelAddress01"] = rdReader["DelAddress01"];
								drRow["DelAddress02"] = rdReader["DelAddress02"];
								drRow["DelAddress03"] = rdReader["DelAddress03"];
								drRow["DelAddress04"] = rdReader["DelAddress04"];
								drRow["DelAddress05"] = rdReader["DelAddress05"];
								drRow["ItemCode"] = rdReader["ItemCode"];
								drRow["UnitUsed"] = rdReader["UnitUsed"];
								drRow["Description"] = rdReader["Description"];
								drRow["Qty"] = rdReader["Qty"];
								drRow["UnitPrice"] = rdReader["UnitPrice"];
								drRow["LinkNum"] = rdReader["LinkNum"];
								drRow["CustomerDesc"] = rdReader["CustomerDesc"];
								drRow["PostAddress01"] = rdReader["PostAddress01"];
								drRow["PostAddress02"] = rdReader["PostAddress02"];
								drRow["PostAddress03"] = rdReader["PostAddress03"];
								drRow["PostAddress04"] = rdReader["PostAddress04"];
								drRow["PostAddress05"] = rdReader["PostAddress05"];
								drRow["OrderNumber"] = rdReader["OrderNumber"];
								drRow["LineDiscount"] = rdReader["DiscountPercentage"];
								if (rdReader["ItemCode"].ToString().Trim() != "'" && !rdReader["ItemCode"].ToString().Trim().StartsWith("*D"))
								{
									if (rdReader["UserDefNum01"].ToString() == "1")
									{
										sSql = "select Convert(Multiplier,SQL_VARCHAR) + '|' + Convert(Status,SQL_VARCHAR)  from SOLHL where Header = '" + rdReader["DocumentNumber"].ToString().Trim() + "' and LinkNum =" + rdReader["LinkNum"];
										string[] aMultiplierRet = Connect.getDataCommand(sSql, oLiquidConn).ExecuteScalar().ToString().Split("|".ToCharArray()[0]);
										drRow["Multiplier"] = aMultiplierRet[0];
										if (aMultiplierRet[1] == "1")
										{
											drRow["Returned"] = "*Ret";
										}
										else
										{
											drRow["Returned"] = "";
										}
									}
									else
									{
										sSql = "select Convert(Multiplier,SQL_VARCHAR) + '|' + Convert(Status,SQL_VARCHAR) from SOLHL where Header = '" + rdReader["DocumentNumber"].ToString().Trim() + "' and LinkNum =" + rdReader["LinkNum"];
										string[] aQtyRet = Connect.getDataCommand(sSql, oLiquidConn).ExecuteScalar().ToString().Split("|".ToCharArray()[0]);
										drRow["Multiplier"] = aQtyRet[0];
										if (aQtyRet[1] == "1")
										{
											drRow["Returned"] = "*Ret";
										}
										else
										{
											drRow["Returned"] = "";
										}
									}
								}
								dtDelivery.Rows.Add(drRow);
							}
							rdReader.Close();
						}

						TextObject txtDeliveryMessage = (TextObject)((Solsage_Process_Management_System.Documents.Templates.Delivery.Site)reportDelivery).Section5.ReportObjects["txtConditions"];
						if (txtDeliveryMessage != null)
						{
							txtDeliveryMessage.Text = txtDeliveryMessage.Text.Replace("<Company>", Global.sDeliveryNoteCompany);
						}
						reportDelivery.SetDataSource((DataTable)dtDelivery);
						foreach (CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition forReport in reportDelivery.DataDefinition.FormulaFields)
						{

							switch (forReport.FormulaName)
							{
								case "{@sGlobCompanyName}":
									forReport.Text = "'" + Global.sCompanyName.Trim() + "'";
									break;
								case "{@sGlobCompanyRegName}":
									forReport.Text = "'" + Global.sRegName.Trim() + "'";
									break;
								case "{@sGlobVat}":
									forReport.Text = "'" + Global.sVAT.Trim() + "'";
									break;
								case "{@sGlobReg}":
									forReport.Text = "'" + Global.sReg.Trim() + "'";
									break;
								case "{@sGlobTel}":
									forReport.Text = "'" + Global.sCompanyTel.Trim() + "'";
									break;
								case "{@sGlobFax}":
									forReport.Text = "'" + Global.sCompanyFax.Trim() + "'";
									break;
								case "{@sGlobPost1}":
									forReport.Text = "'" + Global.sCompanyPostAd1.Trim() + "'";
									break;
								case "{@sGlobPost2}":
									forReport.Text = "'" + Global.sCompanyPostAd2.Trim() + "'";
									break;
								case "{@sGlobPost3}":
									forReport.Text = "'" + Global.sCompanyPostAd3.Trim() + "'";
									break;
								case "{@sGlobAdd1}":
									forReport.Text = "'" + Global.sCompanyAd1.Trim() + "'";
									break;
								case "{@sGlobAdd2}":
									forReport.Text = "'" + Global.sCompanyAd2.Trim() + "'";
									break;
								case "{@sGlobAdd3}":
									forReport.Text = "'" + Global.sCompanyAd3.Trim() + "'";
									break;
								case "{@sInvoiceMessage01}":
									forReport.Text = sMessage01;
									break;
								case "{@sInvoiceMessage02}":
									forReport.Text = sMessage02;
									break;
								case "{@sCoordinates}":
									forReport.Text = "'" + sCoordinates + "'";
									break;
								case "{@Collected}":
									if (sCollected == "COLLECTED")
										sCollected = sCollected + " BY:";
									else
										sCollected = sCollected + " TO:";
									forReport.Text = "'" + sCollected + "'";
									break;
								case "{@CompanyCell}":
									forReport.Text = "'" + Global.sInvoiceContactNumber + "'";
									break;
							}
						}
					}

					else if (Global.sDeliveryNoteTemplate == "Talisman - Faerie Glenn")
					{
						reportDelivery = new Solsage_Process_Management_System.Documents.Templates.Delivery.Del_01();
						sSql = "Select HistoryHeader.DocumentNumber, HistoryHeader.CustomerCode, HistoryHeader.DocumentDate, HistoryHeader.SalesmanCode, DelAddress01, DelAddress02, DelAddress03, DelAddress04, DelAddress05, HistoryLines.ItemCode, UnitUsed, HistoryLines.Description, Qty, UnitPrice ";
						sSql += ",LinkNum, CustomerDesc, PostAddress01,PostAddress02,PostAddress03,PostAddress04,PostAddress05, OrderNumber,UserDefNum01, UserDefNum02, DiscountPercentage ";
						sSql += " From HistoryHeader Left Join HistoryLines on HistoryHeader.DocumentNumber = HistoryLines.DocumentNumber ";
						sSql += " Left Join CustomerMaster on HistoryHeader.CustomerCode = CustomerMaster.CustomerCode";
						sSql += " Left Join Inventory on HistoryLines.ItemCode = Inventory.ItemCode";
						sSql += " Where HistoryHeader.DocumentNumber = '" + sDocumentNumber + "'  and HistoryHeader.DocumentType in (102,2) and HistoryLines.DocumentType in (102,2) order by LinkNum";

						Datasets.dsDeliveryNote.delivery_01DataTable dtDelivery = new Solsage_Process_Management_System.Datasets.dsDeliveryNote.delivery_01DataTable();
						using (PsqlDataReader rdReader = Connect.getDataCommand(sSql, oPastelConn).ExecuteReader())
						{
							while (rdReader.Read())
							{
								DataRow drRow = dtDelivery.NewRow();
								drRow["DocumentNumber"] = rdReader["DocumentNumber"];
								drRow["CustomerCode"] = rdReader["CustomerCode"];
								drRow["DocumentDate"] = rdReader["DocumentDate"];
								drRow["SalesmanCode"] = rdReader["SalesmanCode"];
								drRow["DelAddress01"] = rdReader["DelAddress01"];
								drRow["DelAddress02"] = rdReader["DelAddress02"];
								drRow["DelAddress03"] = rdReader["DelAddress03"];
								drRow["DelAddress04"] = rdReader["DelAddress04"];
								drRow["DelAddress05"] = rdReader["DelAddress05"];
								drRow["ItemCode"] = rdReader["ItemCode"];
								drRow["UnitUsed"] = rdReader["UnitUsed"];
								drRow["Description"] = rdReader["Description"];
								drRow["Qty"] = rdReader["Qty"];
								drRow["UnitPrice"] = rdReader["UnitPrice"];
								drRow["LinkNum"] = rdReader["LinkNum"];
								drRow["CustomerDesc"] = rdReader["CustomerDesc"];
								drRow["PostAddress01"] = rdReader["PostAddress01"];
								drRow["PostAddress02"] = rdReader["PostAddress02"];
								drRow["PostAddress03"] = rdReader["PostAddress03"];
								drRow["PostAddress04"] = rdReader["PostAddress04"];
								drRow["PostAddress05"] = rdReader["PostAddress05"];
								drRow["OrderNumber"] = rdReader["OrderNumber"];
								drRow["sTermsAndConditions"] = Global.sTermsAndConditions;
								if (rdReader["UserDefNum01"].ToString() == "1")
								{
									sSql = "select Convert(Multiplier,SQL_VARCHAR) + '|' + Convert(Status,SQL_VARCHAR)  from SOLHL where Header = '" + rdReader["DocumentNumber"].ToString().Trim() + "' and LinkNum =" + rdReader["LinkNum"];
									string[] aMultiplierRet = Connect.getDataCommand(sSql, oLiquidConn).ExecuteScalar().ToString().Split("|".ToCharArray()[0]);
									drRow["Multiplier"] = aMultiplierRet[0];
									if (aMultiplierRet[1] == "1")
									{
										drRow["Returned"] = "*Ret";
									}
									else
									{
										drRow["Returned"] = "";
									}
								}
								else
								{
									sSql = "select Convert(Multiplier,SQL_VARCHAR) + '|' + Convert(Status,SQL_VARCHAR) from SOLHL where Header = '" + rdReader["DocumentNumber"].ToString().Trim() + "' and LinkNum =" + rdReader["LinkNum"];
									try
									{
										string[] aQtyRet = Connect.getDataCommand(sSql, oLiquidConn).ExecuteScalar().ToString().Split("|".ToCharArray()[0]);
										drRow["Multiplier"] = aQtyRet[0];
										if (aQtyRet[1] == "1")
										{
											drRow["Returned"] = "*Ret";
										}
										else
										{
											drRow["Returned"] = "";
										}
									}
									catch
									{
										drRow["Returned"] = "";
									}
								}
								dtDelivery.Rows.Add(drRow);
							}
							rdReader.Close();
						}
						reportDelivery.SetDataSource((DataTable)dtDelivery);
						foreach (CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition forReport in reportDelivery.DataDefinition.FormulaFields)
						{

							switch (forReport.FormulaName)
							{
								case "{@sGlobCompanyName}":
									forReport.Text = "'" + Global.sCompanyName.Trim() + "'";
									break;
								case "{@sGlobCompanyRegName}":
									forReport.Text = "'" + Global.sRegName.Trim() + "'";
									break;
								case "{@sGlobVat}":
									forReport.Text = "'" + Global.sVAT.Trim() + "'";
									break;
								case "{@sGlobReg}":
									forReport.Text = "'" + Global.sReg.Trim() + "'";
									break;
								case "{@sGlobTel}":
									forReport.Text = "'" + Global.sCompanyTel.Trim() + "'";
									break;
								case "{@sGlobFax}":
									forReport.Text = "'" + Global.sCompanyFax.Trim() + "'";
									break;
								case "{@sGlobPost1}":
									forReport.Text = "'" + Global.sCompanyPostAd1.Trim() + "'";
									break;
								case "{@sGlobPost2}":
									forReport.Text = "'" + Global.sCompanyPostAd2.Trim() + "'";
									break;
								case "{@sGlobPost3}":
									forReport.Text = "'" + Global.sCompanyPostAd3.Trim() + "'";
									break;
								case "{@sGlobAdd1}":
									forReport.Text = "'" + Global.sCompanyAd1.Trim() + "'";
									break;
								case "{@sGlobAdd2}":
									forReport.Text = "'" + Global.sCompanyAd2.Trim() + "'";
									break;
								case "{@sGlobAdd3}":
									forReport.Text = "'" + Global.sCompanyAd3.Trim() + "'";
									break;
								case "{@sInvoiceMessage01}":
									forReport.Text = sMessage01;
									break;
								case "{@sInvoiceMessage02}":
									forReport.Text = sMessage02;
									break;
								case "{@sCoordinates}":
									forReport.Text = "'" + sCoordinates + "'";
									break;
								case "{@Collected}":
									if (sCollected == "COLLECTED")
										sCollected = sCollected + " BY:";
									else
										sCollected = sCollected + " TO:";
									forReport.Text = "'" + sCollected + "'";
									break;
								case "{@CompanyCell}":
									forReport.Text = "'" + Global.sInvoiceContactNumber + "'";
									break;
							
							}
						}
					}

					decimal iFPQuantity = Convert.ToDecimal(ConfigurationSettings.AppSettings.Get("DeliveryNoteFirstPrintCopies"));
					decimal iDPQuantity = Convert.ToDecimal(ConfigurationSettings.AppSettings.Get("DeliveryNoteDuplicatePrintCopies"));
					string filename = "";

					//Printing of delivery note
					try
					{
						//convert to pdf for terms attachment
						if (Global.sDeliveryNoteTemplate == "Kings Hire")
						{
							// clear temp directory                       
							if (Directory.Exists(Application.StartupPath + "\\Temp"))
							{
								Directory.Delete(Application.StartupPath + "\\Temp", true);
							}
								
							Directory.CreateDirectory(Application.StartupPath + "\\Temp");							
							reportDelivery.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Application.StartupPath + "\\Temp\\DeliveryNote.pdf");
							//merge terms and conditions with report
							try
							{
								// Open the output document
								PdfSharp.Pdf.PdfDocument outputDocument = new PdfSharp.Pdf.PdfDocument();
								PdfSharp.Pdf.PdfDocument inputDocument = new PdfSharp.Pdf.PdfDocument();
								int i = 0;
								int n = 1;
								try
								{
									while (i < n + 1)
									{
										if (i == 0) //1st page
										{
											inputDocument = PdfReader.Open(Application.StartupPath + "\\Temp\\DeliveryNote.pdf", PdfDocumentOpenMode.Import);
										}
										else
										{
											//add terms file
											if (File.Exists(Application.StartupPath + "\\Attachments\\Kings Hire terms and conditions.pdf"))
											{
												inputDocument = PdfReader.Open(Application.StartupPath + "\\Attachments\\Kings Hire terms and conditions.pdf", PdfDocumentOpenMode.Import);
												//PdfSharp.Pdf.PdfPage pagelast = inputDocument.Pages[0];
												// ...and add it to the output document.
												//outputDocument.AddPage(pagelast);                               
											}
											else
											{
												MessageBox.Show("Please confirm that Terms and condition file exists");
											}
										}
										  // Get the page from the external document...
											PdfSharp.Pdf.PdfPage page = inputDocument.Pages[0];
											// ...and add it to the output document.
											outputDocument.AddPage(page);									  								  
										i++;
									}
								}
								catch
								{

								}
								// Save the document...
								try
								{
									filename = Application.StartupPath + "\\Temp\\TempDeliveryNote.pdf"; //Application.StartupPath + "\\Qoutes\\" + sDocumentNumber +".pdf";
									outputDocument.Save(filename);
									Process.Start(filename);                                                                     
									//MessageBox.Show("Files are merged successfully");
									// ...and start a viewer.                                
								}
								catch
								{
									MessageBox.Show("Error saving file to directory, please verify path in Company Setup");
								}
							}
							catch (Exception Ex)
							{
								MessageBox.Show("Error Merging PDF Files, Please verify path of attached pictures.");

							}
							
													
						}


						if (sendToDepot)
						{
							//Send file to workstation
							if (!Directory.Exists(Application.StartupPath + "\\Temp"))
							{
								Directory.CreateDirectory(Application.StartupPath + "\\Temp");
							}
							string sFilename = sDocumentNumber + ".rpt";
							if (File.Exists(Application.StartupPath + "\\Temp\\" + sFilename))
							{
								File.Delete(Application.StartupPath + "\\Temp\\" + sFilename);
							}
//                            reportDelivery.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Application.StartupPath + "\\Temp\\" + sFilename);
							reportDelivery.SaveAs(Application.StartupPath + "\\Temp\\" + sFilename, true);

							sDepotFilename = Application.StartupPath + "\\Temp\\" + sFilename;                            
							oPastelConn.Dispose();
							return;
						}

						if (Global.sDeliveryNoteTemplate == "Kings Hire")
						{
							if (bFirstPrint)
							{
								//reportDelivery.PrintOptions.PrinterName = Global.sDefaultDocPrinter;																
								//reportDelivery.PrintToPrinter(Convert.ToInt16(iFPQuantity), false, 0, 0);		
						
								//ddk 09/06/2011
								//reportDelivery.PrintOptions.PrinterName = pdPrintDetails.PrinterSettings.PrinterName;
								//reportDelivery.PrintToPrinter(pdPrintDetails.PrinterSettings.Copies, false, 0, 0);						
								
							}
							if (!bFirstPrint)
							{																								
								//reportDelivery.PrintOptions.PrinterName = Global.sDefaultDocPrinter;
								//reportDelivery.PrintToPrinter(Convert.ToInt16(iDPQuantity), false, 0, 0);

								//ddk 09/06/2011
								//reportDelivery.PrintOptions.PrinterName = pdPrintDetails.PrinterSettings.PrinterName;
								//reportDelivery.PrintToPrinter(Convert.ToInt16(pdPrintDetails.PrinterSettings.Copies), false, 0, 0);	
							}
						}
						else if (Global.sDeliveryNoteTemplate == "Talisman - Faerie Glenn")
						{
							reportDelivery.PrintOptions.PrinterName = Global.sDefaultDocPrinter;
							reportDelivery.PrintToPrinter(2, false, 0, 0);
						}
						else
						{                            
						   reportDelivery.PrintOptions.PrinterName = Global.sDefaultDocPrinter;                                                    
						   reportDelivery.PrintToPrinter(1, false, 0, 0);                                                    
						}
					}
					catch (Exception Ex)
					{
						using (Solsage_Process_Management_System.Documents.PrintInvoice frmPrint = new Solsage_Process_Management_System.Documents.PrintInvoice())
						{
							frmPrint.crystalReportViewer1.ReportSource = reportDelivery;
							frmPrint.printThisDocument();
						}
					}
					
					oPastelConn.Dispose();
				}
			}
		}
Ejemplo n.º 37
0
		public static void printQoute(string sDocumentNumber, string sPost01, string sPost02, string sPost03, string sPost04, string sCustDescription)
		{
			//build datatable for report
			Datasets.dsQoute.dtQouteDataTable dtQoute = new Datasets.dsQoute.dtQouteDataTable();
			ReportClass reportQoute = new ReportClass();
			
			if (Global.sQuoteTemplate == "DSNJHB")
			{
				reportQoute = new Solsage_Process_Management_System.Documents.Templates.Qoute.DsnjhbQuote();
			}
			else if(Global.sQuoteTemplate == "Solutionserver")
			{
				reportQoute = new Solsage_Process_Management_System.Documents.Templates.Qoute.SolQuote();
			}
					
			using (PsqlConnection oConn = new PsqlConnection(Solsage_Process_Management_System.Classes.Connect.sConnStr))
			{
				string sSqlHH = "Select * From SOLQHH where DocNumber = '" + sDocumentNumber + "'";
				using (PsqlDataReader rdReaderQHH = Connect.getDataCommand(sSqlHH, oConn).ExecuteReader())
				{
					while (rdReaderQHH.Read())
					{
						string sTotalTax = "";
						string sTotalExcl = "";
						string sTotalIncl = "";
						foreach (CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition QouteReport in reportQoute.DataDefinition.FormulaFields)
						{
							switch (QouteReport.FormulaName)
							{
								case "{@sGlobCompanyName}":
									QouteReport.Text = "'" + Global.sCompanyName.Trim().Replace("'", "''") + "'";
									break;
								case "{@sGlobCompanyRegName}":
									QouteReport.Text = "'" + Global.sRegName.Trim().Replace("'", "''") + "'";
									break;
								case "{@sGlobVat}":
									QouteReport.Text = "'" + Global.sVAT.Trim() + "'";
									break;
								case "{@sGlobReg}":
									QouteReport.Text = "'" + Global.sReg.Trim() + "'";
									break;
								case "{@sGlobTel}":
									QouteReport.Text = "'" + Global.sCompanyTel.Trim().Replace("'", "''") + "'";
									break;
								case "{@sGlobFax}":
									QouteReport.Text = "'" + Global.sCompanyFax.Trim().Replace("'", "''") + "'";
									break;
								case "{@sGlobPost1}":
									QouteReport.Text = "'" + Global.sCompanyPostAd1.Trim().Replace("'", "''") + "'";
									break;
								case "{@sGlobPost2}":
									QouteReport.Text = "'" + Global.sCompanyPostAd2.Trim().Replace("'", "''") + "'";
									break;
								case "{@sGlobPost3}":
									QouteReport.Text = "'" + Global.sCompanyPostAd3.Trim().Replace("'", "''") + "'";
									break;
								case "{@sGlobAdd1}":
									QouteReport.Text = "'" + Global.sCompanyAd1.Trim().Replace("'", "''") + "'";
									break;
								case "{@sGlobAdd2}":
									QouteReport.Text = "'" + Global.sCompanyAd2.Trim().Replace("'", "''") + "'";
									break;
								case "{@sGlobAdd3}":
									QouteReport.Text = "'" + Global.sCompanyAd3.Trim().Replace("'", "''") + "'";
									break;
								case "{@CompanyCell}":
									QouteReport.Text = "'" + Global.sInvoiceContactNumber + "'";
									break;
								case "{@DelAddress01}":
									QouteReport.Text = "'" + rdReaderQHH["DelAddress01"].ToString().Replace("'","''") + "'";
									break;
								case "{@DelAddress02}":
									QouteReport.Text = "'" + rdReaderQHH["DelAddress02"].ToString().Replace("'", "''") + "'";
									break;
								case "{@DelAddress03}":
									QouteReport.Text = "'" + rdReaderQHH["DelAddress03"].ToString().Replace("'", "''") + "'";
									break;
								case "{@DelAddress04}":
									QouteReport.Text = "'" + rdReaderQHH["DelAddress04"].ToString().Replace("'", "''") + "'";
									break;
								case "{@DelAddress05}":
									QouteReport.Text = "'" + rdReaderQHH["DelAddress05"].ToString().Replace("'", "''") + "'";
									break;
								case "{@PostAddress01}":
									QouteReport.Text = "'" + sPost01.Replace("'", "''") + "'";
									break;
								case "{@PostAddress02}":
									QouteReport.Text = "'" + sPost02.Replace("'", "''") + "'";
									break;
								case "{@PostAddress03}":
									QouteReport.Text = "'" + sPost03.Replace("'", "''") + "'";
									break;
								case "{@PostAddress04}":
									QouteReport.Text = "'" + sPost04.Replace("'", "''") + "'";
									break;
								case "{@DocDate}":
									QouteReport.Text = "'" + Convert.ToString(Convert.ToDateTime(rdReaderQHH["DocDate"].ToString()).ToString("dd/MM/yyyy")) + "'";
									break;
								case "{@CustomerCode}":
									QouteReport.Text = "'" + rdReaderQHH["CustCode"].ToString().Replace("'", "''") + "'";
									break;
								case "{@CustomerDescription}":
									QouteReport.Text = "'" + sCustDescription.Replace("'", "''") + "'";
									break;
								case "{@CustRef}":
									QouteReport.Text = "'" + rdReaderQHH["CustRef"].ToString().Replace("'", "''") + "'";
									break;
								case "{@SalesCode}":
									QouteReport.Text = "'" + rdReaderQHH["SalesCode"].ToString() + "'";
									break;
								case "{@Note}":
									QouteReport.Text = "'" + rdReaderQHH["Notes"].ToString().Replace("\r\n", "  ").Replace("'", "''") + "'";
									break;
								case "{@CustTel}":
									QouteReport.Text = "'" + rdReaderQHH["Tel"].ToString() + "'";
									break;
								case "{@CustFax}":
									QouteReport.Text = "'" + rdReaderQHH["Fax"].ToString() + "'";
									break;
								case "{@CustContact}":
									QouteReport.Text = "'" + rdReaderQHH["Contact"].ToString() + "'";
									break;
								case "{@TotalDiscount}":
									QouteReport.Text = "'" + rdReaderQHH["TotalDiscount"].ToString() + "'";
									break;
								case "{@TotalExcl}":
									QouteReport.Text = "'" + rdReaderQHH["TotalExcl"].ToString() + "'";
									sTotalExcl = rdReaderQHH["TotalExcl"].ToString();
									break;
								case "{@TotalTax}":
									QouteReport.Text = "'" + rdReaderQHH["TotalTax"].ToString() + "'";
									sTotalTax = rdReaderQHH["TotalTax"].ToString();
									break;
								case "{@TotalIncl}":
									QouteReport.Text = "'" + rdReaderQHH["Total"].ToString() + "'";
									sTotalIncl = rdReaderQHH["Total"].ToString();
									break;
								case "{@DocNumber}":
									QouteReport.Text = "'" + rdReaderQHH["DocNumber"].ToString() + "'";
									break;						   
							}
												
						}
						string sSqlHL = "Select * From SOLQHL where DocNumber = '" + sDocumentNumber + "' order by LinkNum";
						using (PsqlDataReader rdReaderQHL = Connect.getDataCommand(sSqlHL, oConn).ExecuteReader())
						{
							while (rdReaderQHL.Read())
							{
								DataRow drRow = dtQoute.NewRow();
								drRow["ItemCode"] = rdReaderQHL["ItemCode"].ToString();
								drRow["Unit"] = rdReaderQHL["Unit"].ToString();
								drRow["ItemDescription"] = rdReaderQHL["Description"].ToString();
								drRow["Quantity"] = rdReaderQHL["Qty"].ToString();
								drRow["Discount"] = rdReaderQHL["DiscountPercentage"].ToString();
								drRow["ExclPrice"] = rdReaderQHL["UnitPrice"].ToString();
								drRow["Nett"] = rdReaderQHL["LineTotalExcl"].ToString();
								drRow["TotalExcl"] = sTotalExcl;
								drRow["TotalTax"] = sTotalTax;
								drRow["TotalIncl"] = sTotalIncl;

								dtQoute.Rows.Add(drRow);
							}
							rdReaderQHL.Close();
						}
					}
					oConn.Dispose();
					rdReaderQHH.Close();
				}
			}
			DataSet dsQoute = new DataSet();
			dsQoute.Tables.Add(dtQoute);
			reportQoute.SetDataSource(dsQoute.Tables["dtQoute"]);
			//convert attached pic to pdf
			int n = 1; //pdf counter
			using (PsqlConnection oConn = new PsqlConnection(Solsage_Process_Management_System.Classes.Connect.sConnStr))
			{
			   
				string sSql = "Select * From SOLQA where FkDocNumber = '" + sDocumentNumber + "'";
				using (PsqlDataReader rdReader = Connect.getDataCommand(sSql, oConn).ExecuteReader())
				{
					while (rdReader.Read())
					{                       
						string source = rdReader["Path"].ToString();
						int iLength = source.Length;
						if (source.Substring(iLength - 3, 3).ToUpper() == "PDF")
						{
							//only copy file
							 string destinaton = Application.StartupPath + "\\Attachments\\Pic" + n + ".pdf";
							 File.Copy(source, destinaton);

						}
						else
						{
							string destinaton = Application.StartupPath + "\\Attachments\\Pic" + n + ".pdf";
							PdfSharp.Pdf.PdfDocument doc = new PdfSharp.Pdf.PdfDocument();
							doc.Pages.Add(new PdfSharp.Pdf.PdfPage());
							XGraphics xgr = XGraphics.FromPdfPage(doc.Pages[0]);
							XImage img = XImage.FromFile(source);
							xgr.DrawImage(img, 0, 0);
							doc.Save(destinaton);
							doc.Close();
						}
						
						n++;
					}
				}
			}

			reportQoute.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Application.StartupPath + "\\Attachments\\Qoute.pdf");
			MergeDocs(n, sDocumentNumber);
			//print report
			//reportQoute.PrintToPrinter(1, false, 0, 0);
			
		}
Ejemplo n.º 38
0
		public static void MergeDocs(int n, string sDocumentNumber)
		{
			try
			{
				// Open the output document
				PdfSharp.Pdf.PdfDocument outputDocument = new PdfSharp.Pdf.PdfDocument();
				PdfSharp.Pdf.PdfDocument inputDocument = new PdfSharp.Pdf.PdfDocument();					
				int i = 0;
				try
				{
					while (i < n + 1)
					{
						if (i == 0) //1st page
						{
							inputDocument = PdfReader.Open(Application.StartupPath + "\\Attachments\\Qoute.pdf", PdfDocumentOpenMode.Import);
						}
						else if (i == 1 && Global.sQuoteTemplate == "DSNJHB")
						{
							//add terms file
							if (File.Exists(Application.StartupPath + "\\Terms.pdf"))
							{
								inputDocument = PdfReader.Open(Application.StartupPath + "\\Terms.pdf", PdfDocumentOpenMode.Import);
								//PdfSharp.Pdf.PdfPage pagelast = inputDocument.Pages[0];
								// ...and add it to the output document.
								//outputDocument.AddPage(pagelast);                               
							}
						}
						else
						{

							inputDocument = PdfReader.Open(Application.StartupPath + "\\Attachments\\Pic" + (i - 1) + ".pdf", PdfDocumentOpenMode.Import);


						}
						if (inputDocument.PageCount == 1)
						{
							// Get the page from the external document...
							PdfSharp.Pdf.PdfPage page = inputDocument.Pages[0];
							// ...and add it to the output document.
							outputDocument.AddPage(page);
						}
						else
						{
							int ipagecount = 0;
							while (ipagecount < inputDocument.PageCount)
							{
								// Get the page from the external document...
								PdfSharp.Pdf.PdfPage page = inputDocument.Pages[ipagecount];
								// ...and add it to the output document.
								outputDocument.AddPage(page);
								ipagecount++;
							}

						}


						i++;
					}
				}
				catch
				{

				}
				// Save the document...
				try
				{
					string filename = Global.sQuotePath + "\\" + sDocumentNumber + ".pdf"; //Application.StartupPath + "\\Qoutes\\" + sDocumentNumber +".pdf";
					outputDocument.Save(filename);
					//MessageBox.Show("Files are merged successfully");
					// ...and start a viewer.
					Process.Start(filename);
				}
				catch
				{
					MessageBox.Show("Error saving file to directory, please verify path in Company Setup");
				}
			}
			catch (Exception Ex)
			{
				MessageBox.Show("Error Merging PDF Files, Please verify path of attached pictures.");

			}
			//delete converted pdf's
			int i2 = 1;
			while (i2 < n)
			{
				File.Delete(Application.StartupPath + "\\Attachments\\Pic"+ i2 +".pdf");
				i2++;

			}
			File.Delete(Application.StartupPath + "\\Attachments\\Qoute.pdf");
		}
Ejemplo n.º 39
0
        private void PaitentTreatments_Click(object sender, EventArgs e)
        {
            int PID;
            try {
                PID = Convert.ToInt32(PatientBox.Text);
            }
            catch {
                PID = -1;
                PatientBox.Text = "Number Reqired";
            }

            if (PID > -1) {
                MiddleWare.middle.OpenConnection();

                SqlCommand GetData = new SqlCommand(string.Format("select FirstName, LastName from Patients WHERE PatientID='{0}';", PID), MiddleWare.middle.dbConnection);
                SqlDataReader dataReader = GetData.ExecuteReader();
                if (dataReader.HasRows) {
                    dataReader.Read();
                    String name = dataReader.GetString(0) + " " + dataReader.GetString(1);
                    MiddleWare.middle.CloseConnection();

                    MiddleWare.middle.OpenConnection();
                    String TreatmentID = "";
                    String staffName = "";
                    String TreatmentDate = "";
                    String TreatmentTime = "";
                    int totalCost = 0;
                    SqlDataAdapter adapter = new SqlDataAdapter();
                    DataSet ds = new DataSet();
                    GetData = new SqlCommand(string.Format("SELECT Treatment.TreatmentID, Staff.StaffID, StaffType.StaffTypeName, Staff.FirstName, Staff.LastName, Treatment.PatientID, Treatment.TreatmentDate, Treatment.TreatmentTime FROM Treatment INNER JOIN Staff ON Treatment.StaffID = Staff.StaffID INNER JOIN StaffType ON Staff.StaffTypeID = StaffType.StaffTypeID WHERE (Treatment.PatientID = '{0}')", PID), MiddleWare.middle.dbConnection);
                    adapter.SelectCommand = GetData;
                    adapter.Fill(ds);

                    MiddleWare.middle.CloseConnection();

                    string printString;
                    PdfSharp.Pdf.PdfDocument PDFDocument = new PdfSharp.Pdf.PdfDocument();
                    PDFDocument.Info.Title = "Patient Treatments";
                    PdfSharp.Pdf.PdfPage PDFPage = PDFDocument.AddPage();
                    PdfSharp.Drawing.XGraphics PDFGraphics = PdfSharp.Drawing.XGraphics.FromPdfPage(PDFPage);
                    PdfSharp.Drawing.XFont font = new PdfSharp.Drawing.XFont("Verdana", 12, PdfSharp.Drawing.XFontStyle.Bold);
                    PdfSharp.Drawing.XRect rec = new PdfSharp.Drawing.XRect((PDFPage.Width / 8), 110, PDFPage.Width, PDFPage.Height);
                    // 0 - 90 banner
                    PDFGraphics.DrawString("Q Medic Hospital Banner Goes Here", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect((PDFPage.Width / 4), 50, PDFPage.Width, PDFPage.Height), PdfSharp.Drawing.XStringFormats.TopLeft);

                    printString = "Patient ID: " + PID;
                    PDFGraphics.DrawString(printString, font, PdfSharp.Drawing.XBrushes.Black, rec, PdfSharp.Drawing.XStringFormats.TopLeft);
                    rec.X = (PDFPage.Width / 8) + 20;

                    printString = "Name: " + name;
                    rec.Y = 150;
                    PDFGraphics.DrawString(printString, font, PdfSharp.Drawing.XBrushes.Black, rec, PdfSharp.Drawing.XStringFormats.TopLeft);
                    int yPoint = 220;

                    PDFGraphics.DrawString("Treatment ID", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(40, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);
                    PDFGraphics.DrawString("Staff", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(180, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);
                    PDFGraphics.DrawString("Treatment Date", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(300, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);
                    PDFGraphics.DrawString("Treatment Time", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(420, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                    yPoint = 250;
                    for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++) {
                        TreatmentID = ds.Tables[0].Rows[i].ItemArray[0].ToString();
                        staffName = ds.Tables[0].Rows[i].ItemArray[3].ToString() + " " + ds.Tables[0].Rows[i].ItemArray[4].ToString();
                        TreatmentDate = ds.Tables[0].Rows[i].ItemArray[6].ToString();
                        TreatmentTime = ds.Tables[0].Rows[i].ItemArray[7].ToString();

                        PDFGraphics.DrawString(TreatmentID, font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(40, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);
                        PDFGraphics.DrawString(staffName, font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(180, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);
                        PDFGraphics.DrawString(TreatmentDate, font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(300, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);
                       PDFGraphics.DrawString(TreatmentTime, font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(420, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                        yPoint = yPoint + 20;
                    }

                    String filename = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\HospitalExport\\" + PID + "_PaitentTreatment.pdf";
                    PDFDocument.Save(filename);
                }
            }
            // treatment for patients
        }
Ejemplo n.º 40
0
        private void ToDaysFinances_Click(object sender, EventArgs e)
        {
            MiddleWare.middle.OpenConnection();
                    SqlCommand GetData = new SqlCommand(string.Format("select FeeID, GrossCost, TotalCost, comments from Fees;"), MiddleWare.middle.dbConnection);
                    String feeID = "";
                    String grossCost = "";
                    String DiscountedCost = "";
                    String comments = "";
                    int totalCost = 0;
                    SqlDataAdapter adapter = new SqlDataAdapter();
                    DataSet ds = new DataSet();
                    adapter.SelectCommand = GetData;
                    adapter.Fill(ds);

                    MiddleWare.middle.CloseConnection();

                    string printString;
                    PdfSharp.Pdf.PdfDocument PDFDocument = new PdfSharp.Pdf.PdfDocument();
                    PDFDocument.Info.Title = "Financial History";
                    PdfSharp.Pdf.PdfPage PDFPage = PDFDocument.AddPage();
                    PdfSharp.Drawing.XGraphics PDFGraphics = PdfSharp.Drawing.XGraphics.FromPdfPage(PDFPage);
                    PdfSharp.Drawing.XFont font = new PdfSharp.Drawing.XFont("Verdana", 12, PdfSharp.Drawing.XFontStyle.Bold);
                    PdfSharp.Drawing.XRect rec = new PdfSharp.Drawing.XRect((PDFPage.Width / 8), 110, PDFPage.Width, PDFPage.Height);
                    // 0 - 90 banner
                    PDFGraphics.DrawString("Q Medic Hospital Banner Goes Here", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect((PDFPage.Width / 4), 50, PDFPage.Width, PDFPage.Height), PdfSharp.Drawing.XStringFormats.TopLeft);

                    printString = "Q Medic Financials";
                    rec.Y = 150;
                    PDFGraphics.DrawString(printString, font, PdfSharp.Drawing.XBrushes.Black, rec, PdfSharp.Drawing.XStringFormats.TopLeft);
                    int yPoint = 220;

                    PDFGraphics.DrawString("Invoice No", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(40, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                    PDFGraphics.DrawString("Gross Cost", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(120, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                    PDFGraphics.DrawString("Discounted Cost", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(220, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                    PDFGraphics.DrawString("TotalCost", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(360, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                    PDFGraphics.DrawString("Comments", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(500, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                    yPoint = 250;
                    for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++) {
                        if (yPoint > 820){
                            yPoint = 50;
                            PDFPage = PDFDocument.AddPage();
                            PDFGraphics = PdfSharp.Drawing.XGraphics.FromPdfPage(PDFPage);
                            PDFGraphics.DrawString("Invoice No", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(40, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                            PDFGraphics.DrawString("Gross Cost", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(120, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                            PDFGraphics.DrawString("Discounted Cost", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(220, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                            PDFGraphics.DrawString("TotalCost", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(360, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                            PDFGraphics.DrawString("Comments", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(500, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);
                            yPoint = 70;
                        }
                        feeID = ds.Tables[0].Rows[i].ItemArray[0].ToString();
                        grossCost = ds.Tables[0].Rows[i].ItemArray[1].ToString();
                        DiscountedCost = ds.Tables[0].Rows[i].ItemArray[2].ToString();
                        comments = ds.Tables[0].Rows[i].ItemArray[3].ToString();

                        PDFGraphics.DrawString(feeID, font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(40, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                        PDFGraphics.DrawString("$" + grossCost + ".00", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(120, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                        PDFGraphics.DrawString("$" + DiscountedCost + ".00", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(220, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);
                        try {
                            totalCost += Convert.ToInt32(DiscountedCost);
                            PDFGraphics.DrawString("$" + totalCost + ".00", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(360, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);
                        }
                        catch {
                            PDFGraphics.DrawString("NaN", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(500, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);
                        }
                        PDFGraphics.DrawString(comments, font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(500, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);
                        yPoint = yPoint + 20;
                    }
                    yPoint += 40;
                    PDFGraphics.DrawString("Grand Total: ", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(320, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);
                    PDFGraphics.DrawString("$" + totalCost + ".00", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect(420, yPoint, PDFPage.Width.Point, PDFPage.Height.Point), PdfSharp.Drawing.XStringFormats.TopLeft);

                    String filename = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\HospitalExport\\" +  "Hospital_Takings.pdf";
                    PDFDocument.Save(filename);

            // tabel of all the treatments
        }
Ejemplo n.º 41
0
 private void PrintSubScheduleButton_Click(object sender, RoutedEventArgs e)
 {
     if (!System.IO.Directory.Exists(System.Environment.CurrentDirectory + "/temp")) System.IO.Directory.CreateDirectory(System.Environment.CurrentDirectory + "/temp");
     string filename = System.Environment.CurrentDirectory + "/temp/" + Guid.NewGuid().ToString().ToUpper() + ".pdf";
     var document = new PdfSharp.Pdf.PdfDocument(filename);
     document.Info.Creator = "Schedule";
     var page = document.AddPage();
     page.Size = PageSize.A4;
     page.Orientation = PageOrientation.Landscape;
     var gfx = XGraphics.FromPdfPage(page);
     LeaveChart.DrawSubSchedule(gfx, CurrentWeek);
     document.Close();
     System.Diagnostics.Process.Start(filename);
 }
Ejemplo n.º 42
0
        private void ExportPaitentDetails_Click(object sender, EventArgs e)
        {
            int PID;
            try {
                PID = Convert.ToInt32(PatientBox.Text);
            }
            catch {
                PID = -1;
                PatientBox.Text = "Number Reqired";
            }

            if (PID > -1) {
                MiddleWare.middle.OpenConnection();

                SqlCommand GetData = new SqlCommand(string.Format("select FirstName, LastName, Gender, DateOfBirth, StreetNo, StreetAddress, Suburb, PostCode, PhoneNumber, MobileNumber, Email from Patients WHERE PatientID='{0}';", PID), MiddleWare.middle.dbConnection);
                SqlDataReader dataReader = GetData.ExecuteReader();
                if (dataReader.HasRows) {
                    dataReader.Read();
                    String name = dataReader.GetString(0) + " " + dataReader.GetString(1);
                    String gender;
                    if (dataReader.GetBoolean(2) == true) {
                        gender = "Female";
                    } else {
                        gender = "Male";
                    }
                    String DOB = dataReader.GetString(3);
                    String address = dataReader.GetString(4) + " " + dataReader.GetString(5) + " " + dataReader.GetString(6) + " - PostCode: " + dataReader.GetString(7);
                    String phoneNumber = dataReader.GetString(8);
                    String mobileNumber = dataReader.GetString(9);
                    String Email = dataReader.GetString(10);

                    MiddleWare.middle.CloseConnection();

                    string printString;
                    PdfSharp.Pdf.PdfDocument PDFDocument = new PdfSharp.Pdf.PdfDocument();
                    PDFDocument.Info.Title = "Patient Details";
                    PdfSharp.Pdf.PdfPage PDFPage = PDFDocument.AddPage();
                    PdfSharp.Drawing.XGraphics PDFGraphics = PdfSharp.Drawing.XGraphics.FromPdfPage(PDFPage);
                    PdfSharp.Drawing.XFont font = new PdfSharp.Drawing.XFont("Verdana", 12, PdfSharp.Drawing.XFontStyle.Bold);
                    PdfSharp.Drawing.XRect rec = new PdfSharp.Drawing.XRect((PDFPage.Width / 8), 110, PDFPage.Width, PDFPage.Height);
                    // 0 - 90 banner
                    PDFGraphics.DrawString("Q Medic Hospital Banner Goes Here", font, PdfSharp.Drawing.XBrushes.Black, new PdfSharp.Drawing.XRect((PDFPage.Width / 4), 50, PDFPage.Width, PDFPage.Height), PdfSharp.Drawing.XStringFormats.TopLeft);

                    printString = "Patient ID: " + PID;
                    PDFGraphics.DrawString(printString, font, PdfSharp.Drawing.XBrushes.Black, rec, PdfSharp.Drawing.XStringFormats.TopLeft);
                    rec.X = (PDFPage.Width / 8) + 20;

                    printString = "Name: " + name;
                    rec.Y = 150;
                    PDFGraphics.DrawString(printString, font, PdfSharp.Drawing.XBrushes.Black, rec, PdfSharp.Drawing.XStringFormats.TopLeft);

                    printString = "Gender: " + gender;
                    rec.Y = 170;
                    PDFGraphics.DrawString(printString, font, PdfSharp.Drawing.XBrushes.Black, rec, PdfSharp.Drawing.XStringFormats.TopLeft);

                    printString = "Date Of Birth: " + DOB;
                    rec.Y = 190;
                    PDFGraphics.DrawString(printString, font, PdfSharp.Drawing.XBrushes.Black, rec, PdfSharp.Drawing.XStringFormats.TopLeft);

                    printString = "Address: " + address;
                    rec.Y = 210;
                    PDFGraphics.DrawString(printString, font, PdfSharp.Drawing.XBrushes.Black, rec, PdfSharp.Drawing.XStringFormats.TopLeft);

                    printString = "Phone Number: " + phoneNumber;
                    rec.Y = 230;
                    PDFGraphics.DrawString(printString, font, PdfSharp.Drawing.XBrushes.Black, rec, PdfSharp.Drawing.XStringFormats.TopLeft);

                    printString = "Mobile Number: " + mobileNumber;
                    rec.Y = 250;
                    PDFGraphics.DrawString(printString, font, PdfSharp.Drawing.XBrushes.Black, rec, PdfSharp.Drawing.XStringFormats.TopLeft);

                    printString = "E-mail: " + Email;
                    rec.Y = 270;
                    PDFGraphics.DrawString(printString, font, PdfSharp.Drawing.XBrushes.Black, rec, PdfSharp.Drawing.XStringFormats.TopLeft);

                    String filename = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\HospitalExport\\" +  PID + "_PaitentDetails.pdf";
                    PDFDocument.Save(filename);
                }
            }
        }