/// <summary>
        /// Converts HTML string into PDF file using EVOPDF utility.
        /// </summary>
        /// <param name="innerHtml">
        /// The inner html.
        /// </param>
        private void CreatePdfEvoUtility(string innerHtml)
        {
            var thread = new Thread(
            new ThreadStart(
                delegate
                {
                    // Get the location to save PDF file.
                    var exportPdfFilename = Path.Combine(
                        Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
                        "PDFTest");
                    if (!string.IsNullOrEmpty(exportPdfFilename))
                    {
                        var pdf = new PdfConverter();
                        using (Stream file = File.Create(exportPdfFilename))
                        {
                            pdf.SavePdfFromHtmlStringToStream(innerHtml, string.Format(ReportServerLocationUriFormat, this.rtviServerIp), file);
                        }
                    }

                    // Stop busy indicator
                    this.dispatcherService.BeginInvoke(DispatcherPriority.Background, () => this.UpdateStatusToView(string.Empty, false));
                }));
            thread.SetApartmentState(ApartmentState.STA);
            thread.Start();
        }
예제 #2
0
        /// <summary>
        /// 将HTML文件转换为PDF文件流
        /// </summary>
        /// <param name="templateFile">模板文件名称</param>
        /// <param name="values">需要填充的值</param>
        /// <param name="impactOnCurrentYearData">表格形式的值</param>
        /// <param name="futureImpactData">表格形式的值</param>
        /// <returns>PDF文件流</returns>
        public static Stream HtmlConvertToPDFStreamWithComments(HtmlTempalteType templateType, Dictionary <string, string> values, List <SubmissionApprovalRecord> records)
        {
            var    html         = GenerateHtmlFromTemplateWithComments(templateType, values, records);
            var    pdfConverter = new PdfConverter();
            Stream stream       = null;

            pdfConverter.SavePdfFromHtmlStringToStream(html, stream);
            return(stream);
        }
예제 #3
0
        /// <summary>
        /// Create a pdf and return the file path
        /// </summary>
        /// <param name="content">The html content</param>
        /// <returns></returns>
        public string CreateInFile(string filename)
        {
            this._Filename = Path.GetDirectoryName(filename) + "\\" + Path.GetFileName(filename);

            using (var s = File.Open(_Filename, FileMode.OpenOrCreate))
            {
                _Converter.SavePdfFromHtmlStringToStream(Content, s);
            }

            return(this._Filename);
        }