/// <summary> /// Processes the CSS styles. /// </summary> /// <param name="printContext">The print context.</param> /// <param name="ePubDocument">The e pub html.</param> private void ProcessCssStyles(PrintContext printContext, Epub.Document ePubDocument) { //add style sheets - needs to be revisited. link tags are not being closed foreach (var styleId in ((MultilistField)this.RenderingItem.Fields["StyleSheets"]).TargetIDs) { var styleSheet = printContext.Database.GetItem(styleId); if (styleSheet != null) { if (!string.IsNullOrEmpty(styleSheet["Custom Css"])) { var filePath = String.Concat("css/", styleSheet.Name, ".css"); ePubDocument.AddStylesheetData(filePath, styleSheet["Custom Css"]); printContext.StyleSheets.Add(filePath, String.Concat("../", filePath)); } if (!string.IsNullOrEmpty(styleSheet["MediaLibrary Reference"])) { var cssMediaItem = (MediaItem)((FileField)styleSheet.Fields["MediaLibrary Reference"]).MediaItem; if (cssMediaItem != null) { var filePath = String.Concat("css/", cssMediaItem.Name, ".", cssMediaItem.Extension); ePubDocument.AddData(filePath, ReadFully(cssMediaItem.GetMediaStream()), "text/css"); printContext.StyleSheets.Add(filePath, String.Concat("../", filePath)); } } } } }
/// <summary> /// Processes the fonts. /// </summary> /// <param name="printContext">The print context.</param> /// <param name="ePubDocument">The e pub html.</param> private void ProcessFonts(PrintContext printContext, Epub.Document ePubDocument) { // add fonts foreach (var fontId in ((MultilistField)this.RenderingItem.Fields["Fonts"]).TargetIDs) { var font = printContext.Database.GetItem(fontId); if (font != null) { if (font.Fields["MediaLibrary Reference"] != null) { var fontItem = (MediaItem)((FileField)font.Fields["MediaLibrary Reference"]).MediaItem; ePubDocument.AddData(String.Concat(font["ePub Base Path"], fontItem.Name, ".", fontItem.Extension), ReadFully(fontItem.GetMediaStream()), "application/octet-stream"); } else { ePubDocument.AddFile(font["ePub Base Path"] + font["File Name"], font["ePub Base Path"] + font["File Name"], "application/octet-stream"); } } } }