///<Summary> /// GetHTML method to get HTML ///</Summary> public string GetHTML(string fileName, string folderName) { Opts.AppName = "Editor"; Opts.FileName = fileName; Opts.FolderName = folderName; Opts.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; try { var doc = new Document(Opts.WorkingFileName); var so = new HtmlSaveOptions() { DocumentType = Pdf.HtmlDocumentType.Html5, RasterImagesSavingMode = Pdf.HtmlSaveOptions.RasterImagesSavingModes.AsPngImagesEmbeddedIntoSvg, SplitCssIntoPages = false, //CustomCssSavingStrategy = new HtmlSaveOptions.CssSavingStrategy(SaveCss), //CustomStrategyOfCssUrlCreation = new HtmlSaveOptions.CssUrlMakingStrategy(CreateCssUrl), //CustomResourceSavingStrategy = new HtmlSaveOptions.ResourceSavingStrategy(SaveResources) }; using (var stream = new MemoryStream()) { doc.Save(stream, so); // FIX the overwlow of span-elements in some documents return(UTF8WithoutBom.GetString(stream.ToArray()).Replace("letter-spacing:-107374182.4pt;", "")); } } catch (Exception ex) { Console.WriteLine(ex.Message); return(null); } }
/// <summary> /// Common method for 'Page' and 'Print' /// </summary> /// <param name="doc"></param> /// <param name="pageNumber">Starts with one</param> /// <returns></returns> private PageView PreparePageView(Document doc, int pageNumber) { var so = new HtmlFixedSaveOptions() { ExportEmbeddedFonts = true, ExportEmbeddedImages = true, ExportEmbeddedCss = true, CssClassNamesPrefix = "pg" + pageNumber, ShowPageBorder = false, Encoding = UTF8WithoutBom, PageCount = 1, PageIndex = pageNumber - 1 }; using (var stream = new MemoryStream()) { doc.Save(stream, so); var pageInfo = doc.GetPageInfo(pageNumber - 1); var size = pageInfo.GetSizeInPixels(1, 72); return(new PageView() { width = size.Width, height = size.Height, angle = 0, number = pageNumber, data = UTF8WithoutBom.GetString(stream.ToArray()).Replace("letter-spacing:-107374182.4pt;", "") }); } }
///<Summary> /// GetHTML method to get HTML ///</Summary> public string GetHTML(string fileName, string folderName) { Opts.AppName = "Editor"; Opts.FileName = fileName; Opts.FolderName = folderName; Opts.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; try { var doc = new Document(Opts.WorkingFileName); var so = new HtmlSaveOptions(SaveFormat.Html) { ExportFontsAsBase64 = true, ExportImagesAsBase64 = true, CssStyleSheetType = CssStyleSheetType.Inline, Encoding = UTF8WithoutBom, HtmlVersion = HtmlVersion.Html5 }; using (var stream = new MemoryStream()) { doc.Save(stream, so); // FIX the overwlow of span-elements in some documents return(UTF8WithoutBom.GetString(stream.ToArray()).Replace("letter-spacing:-107374182.4pt;", "")); } } catch (Exception ex) { Console.WriteLine(ex.Message); return(null); } }
/// <summary> /// Common method for 'Page' and 'Print' /// </summary> /// <param name="doc"></param> /// <param name="pageNumber">Starts with one</param> /// <returns></returns> private PageView PreparePageView(Document doc, int pageNumber) { using (var stream = new FileStream(Config.Configuration.OutputDirectory + Opts.FolderName + $"/page{pageNumber}.html", FileMode.Open)) using (var memoryStream = new MemoryStream()) { stream.CopyTo(memoryStream); var pageInfo = doc.Pages[pageNumber]; var size = pageInfo.Rect; return(new PageView() { width = size.Width, height = size.Height, angle = 0, number = pageNumber, data = UTF8WithoutBom.GetString(memoryStream.ToArray()).Replace("letter-spacing:-107374182.4pt;", "") }); } }