/// <summary> /// Renders the specified jupyter object (returns the <see cref="TextRendererBase.Writer"/> as a render object). /// </summary> /// <param name="jupyterObject">The jupyter object.</param> /// <returns></returns> public override object Render(IJupyterObject jupyterObject) { if (jupyterObject is JupyterDocument jupyterDocument) { if (RendererHeaderAndFooter) { //Head WriteHeaderStart(); WriteCssPart(); WriteHeaderEnd(); //Body(Start) WriteHtmlBodyStart(); } //Cells foreach (var cell in jupyterDocument.Cells) { base.Render(cell); } if (RendererHeaderAndFooter) { //Body(End) WriteHtmlBodyEnd(); } } else { base.Render(jupyterObject); } //return writer return(Writer); }
/// <summary> /// Renders the specified jupyter object (returns the <see cref="TextRendererBase.Writer"/> as a render object). /// </summary> /// <param name="jupyterObject">The jupyter object.</param> /// <returns></returns> public override object Render(IJupyterObject jupyterObject) { //Instead of using IJupyterObjectRenderer, just using JsonConvert instead var result = JsonConvert.SerializeObject(jupyterObject); //write to string Write(result); //return writer return(Writer); }
public virtual void Write(RendererBase renderer, IJupyterObject obj) { var htmlRenderer = (TRenderer)renderer; var typedObj = (TObject)obj; // Try processing for (var i = 0; i < TryWriters.Count; i++) { var tryWriter = TryWriters[i]; if (tryWriter(htmlRenderer, typedObj)) { return; } } Write(htmlRenderer, typedObj); }
/// <summary> /// Renders the specified jupyter object (returns the <see cref="TextRendererBase.Writer"/> as a render object). /// </summary> /// <param name="jupyterObject">The jupyter object.</param> /// <returns></returns> public override object Render(IJupyterObject jupyterObject) { //using HtmlRenderer to renderer Html file var writer = new StringWriter(); var renderer = new HtmlRenderer(writer) { RendererHeaderAndFooter = true }; renderer.Render(jupyterObject); writer.Flush(); var htmlString = writer.ToString(); //Conver to pdf var convertor = _htmlToPdf ?? CreateDefauleHtmlToPdf(); var pdfFile = convertor.ConvertHtmlString(htmlString); //save pdfFile.Save(_stream); //return stream return(_stream); }
public abstract object Render(IJupyterObject jupyterObject);
public virtual bool Accept(RendererBase renderer, IJupyterObject obj) { return(obj is TObject); }