/// <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");
             }
         }
     }
 }