public static Error ConvertHtmlFileToPDF(string sourceFile, string targetFile, bool bLandscape = false, HtmlToPdfPageProperties pageProps = null) { if (pageProps == null) { pageProps = new HtmlToPdfPageProperties(); } // To convert to PDF we use the Winnovative HTML-PDF library. var error = new Error(); // Create the PDF converter. Optionally the HTML viewer width can // be specified as parameter // The default HTML viewer width is 1024 pixels. var pdfConverter = new PdfConverter(); // set the license key - required pdfConverter.LicenseKey = "R8nYyNnI2MjRxtjI29nG2drG0dHR0Q=="; // Eval license //pdfConverter.LicenseKey = "Mb+vvq++r6amvqewrr6tr7CvrLCnp6en"; // Paid for license // set the converter options - optional pdfConverter.PdfDocumentOptions.PdfPageSize = ConvertPageSize(pageProps.PageSize); pdfConverter.PdfDocumentOptions.PdfCompressionLevel = PdfCompressionLevel.Normal; pdfConverter.PdfDocumentOptions.PdfPageOrientation = (bLandscape ? PdfPageOrientation.Landscape : PdfPageOrientation.Portrait); // Html viewer if (pageProps.ViewerWidth != 0) { pdfConverter.HtmlViewerWidth = pageProps.ViewerWidth; } // set if header and footer are shown in the PDF - optional - default is false pdfConverter.PdfDocumentOptions.ShowHeader = false; // cbAddHeader.Checked; pdfConverter.PdfDocumentOptions.ShowFooter = false; // cbAddFooter.Checked; // set if the HTML content is resized if necessary to fit the PDF // page width - default is true pdfConverter.PdfDocumentOptions.FitWidth = true; // cbFitWidth.Checked; // set the embedded fonts option - optional - default is false pdfConverter.PdfDocumentOptions.EmbedFonts = true; // cbEmbedFonts.Checked; // set the live HTTP links option - optional - default is true pdfConverter.PdfDocumentOptions.LiveUrlsEnabled = true; // cbLiveLinks.Checked; // Set PDF page margins in points or leave them not set to have a PDF page without pageProps if (pageProps.Left != 0) { pdfConverter.PdfDocumentOptions.LeftMargin = pageProps.Left; } if (pageProps.Right != 0) { pdfConverter.PdfDocumentOptions.RightMargin = pageProps.Right; } if (pageProps.Top != 0) { pdfConverter.PdfDocumentOptions.TopMargin = pageProps.Top; } if (pageProps.Bottom != 0) { pdfConverter.PdfDocumentOptions.BottomMargin = pageProps.Bottom; } // set if the JavaScript is enabled during conversion to a PDF - default // is true pdfConverter.JavaScriptEnabled = false; // cbClientScripts.Checked; // set if the images in PDF are compressed with JPEG to reduce the // PDF document size - default is true pdfConverter.PdfDocumentOptions.JpegCompressionEnabled = true; // cbJpegCompression.Checked; // Performs the conversion and get the pdf document bytes that can try { pdfConverter.SavePdfFromHtmlFileToFile(sourceFile, targetFile); } catch (Exception e1) { error.SetError(e1); } return(error); }
private void btnPrint_Click(object sender, EventArgs e) { string htmlToConvert = string.Empty; DateTime dtNow = DateTime.Now; PdfConverter pdfConverter = new PdfConverter(); pdfConverter.LicenseKey = "831ufGlsfGprfGlybHxvbXJtbnJlZWVl"; pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4; pdfConverter.PdfDocumentOptions.RightMargin = 30; pdfConverter.PdfDocumentOptions.LeftMargin = 30; pdfConverter.PdfDocumentOptions.PdfCompressionLevel = PdfCompressionLevel.NoCompression; pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait; // pdfConverter.RenderedHtmlElementSelector = "#divcontener"; pdfConverter.PdfFooterOptions.FooterHeight = 55; //pdfConverter.PdfFooterOptions.AddElement(footerHtml); pdfConverter.PdfDocumentOptions.ShowHeader = true; pdfConverter.PdfDocumentOptions.ShowFooter = true; pdfConverter.PdfDocumentOptions.FitWidth = true; pdfConverter.PdfDocumentOptions.EmbedFonts = true; pdfConverter.JavaScriptEnabled = true; pdfConverter.PdfDocumentOptions.JpegCompressionEnabled = true; pdfConverter.PdfDocumentOptions.AvoidImageBreak = true; pdfConverter.ConversionDelay = 3; //string downLoadFileName = reportLabel.Replace(" ", "_") + "_" + Convert.ToString(dtReportInfo.Rows[0]["ProjectName"]).Replace(" ", "_") + "_" + month.Trim() + "_" + (DateTime.Now).ToString("dd_MM_yyyy_HH_mm").Trim() + ".pdf"; //byte[] pdfBytes = pdfConverter.GetPdfBytesFromUrl(htmlToConvert); StringBuilder readText = new StringBuilder(); //readText.Append(File.ReadAllText("Report-Test.htm")); readText.Append(File.ReadAllText("GeetaNeutriHeal _ Sample Report.html")); readText = readText.Replace("{CenterAddressLine1}", "Geeta Nutri Heal Center"); readText = readText.Replace("{CenterAddressLine1}", "Pune"); //Initiallize Dummy Data For Report readText = createReportWithDummyData(readText); ////////////////////////////////////////////// ////Patient Details Section //readText = readText.Replace("{Date}", dtNow.ToString("dd/MM/yyy")); //readText = readText.Replace("{Time}", dtNow.ToString("HH:mm")); //readText = readText.Replace("{PatientName}", txtPatientName.Text); //readText = readText.Replace("{PatientID}", txtPatientID.Text); //readText = readText.Replace("{Age}", txtPatientAge.Text); //readText = readText.Replace("{Gender}", cmbGender.SelectedItem.ToString()); //readText = readText.Replace("{DOB}", txtDOB.Text); ////Anthrpometrics Section //readText = readText.Replace("{MsrWt}", txtMeasuredWeight.Text); //readText = readText.Replace("{MsrHt}", txtMeasuredHeight.Text); //readText = readText.Replace("{IdealBodyWt}", txtIdealBodyWeight.Text); //readText = readText.Replace("{NeckCRCM}", txtNeckCircumference.Text); //readText = readText.Replace("{BMI}", txtCalculatedBMI.Text); //readText = readText.Replace("{MUAC}", txtMUAC.Text); //readText = readText.Replace("{BMICAT}", cmbBMICategory.SelectedItem.ToString()); //readText = readText.Replace("{MsrWaist}", txtMeasuredWaist.Text); //readText = readText.Replace("{BP}", txtBloodPressure.Text); ////Bio Chemical Labs Section //readText = readText.Replace("{FastingGlucose}", txtFastingGlucose.Text); //readText = readText.Replace("{Creatinine}", txtCreatinine.Text); //readText = readText.Replace("{Albumin}", txtAlbumin.Text); //readText = readText.Replace("{HbA1C}", txtHbA1C.Text); //readText = readText.Replace("{SGPT}", txtAltSGPT.Text); //readText = readText.Replace("{SGOT}", txtAltSGOT.Text); //readText = readText.Replace("{Hematocrit}", txtHematocrit.Text); //readText = readText.Replace("{Triglycerides}", txtTriglycerides.Text); //readText = readText.Replace("{HDL}", txtHDL.Text); //readText = readText.Replace("{TotalChol}", txtCholesterol.Text); //readText = readText.Replace("{AlkPhosphate}", txtAlkalinePhosphatase.Text); //readText = readText.Replace("{VitD3}", txtVitaminD3.Text); //readText = readText.Replace("{VitB12}", txtVitaminB12.Text); //readText = readText.Replace("{OthersBIO}", txtOtherBiochemicalDetails.Text); ////////////////////////////////////////// string temp = readText.ToString(); string dir = Directory.GetCurrentDirectory(); string file = txtPatientName.Text + "_" + dtNow.ToString("yyyyMMdd_HHmm"); using (StreamWriter swReport = new StreamWriter(file + ".html")) { swReport.Write(temp); } //pdfConverter.SavePdfFromHtmlFileToFile(dir+"\\Report-Test.htm", file+".pdf"); pdfConverter.SavePdfFromHtmlFileToFile(dir + "\\" + file + ".html", file + ".pdf"); //pdfConverter.ConvertUrlToPdfDocumentObject("Report-Test.htm"); //pdfConverter.ConvertHtmlFileToPdfDocumentObject("Report-Test.htm"); //pdfConverter.SavePdfFromHtmlStringToFile(temp, "Test2.pdf"); MessageBox.Show("Report Print Complete"); }