public static ICssFile GetCSS(Stream inp) { ICssFile cssFile = null; if (null != inp) { CssFileProcessor cssFileProcessor = new CssFileProcessor(); try { int i = -1; while (-1 != (i = inp.ReadByte())) { cssFileProcessor.Process((char)i); } cssFile = new CSSFileWrapper(cssFileProcessor.GetCss(), true); } catch (IOException e) { throw new RuntimeWorkerException(e); } finally { try { inp.Close(); } catch (IOException e) { throw new RuntimeWorkerException(e); } } } return(cssFile); }
/** * @return the default css file. */ public ICssFile GetDefaultCSS() { if (null == defaultCssFile) { Stream inp = Assembly.GetExecutingAssembly().GetManifestResourceStream("iTextSharp.tool.xml.css.default.css"); if (null != inp) { CssFileProcessor cssFileProcessor = new CssFileProcessor(); int i = -1; try { while (-1 != (i = inp.ReadByte())) { cssFileProcessor.Process((char)i); } defaultCssFile = new CSSFileWrapper(cssFileProcessor.GetCss(), true); } catch (IOException e) { throw new RuntimeWorkerException(e); } finally { try { inp.Close(); } catch (IOException e) { throw new RuntimeWorkerException(e); } } } } return(defaultCssFile); }
virtual public void ParseCSS() { retriever.ProcessFromStream(File.OpenRead(RESOURCES + "/css/test.css"), proc); ICssFile file = proc.GetCss(); IDictionary <String, String> map = file.Get("body"); Assert.IsTrue(map.ContainsKey("margin"), "margin not found."); Assert.AreEqual("20px", map["margin"], "Value for margin not correct."); }
virtual public void ParseCSS() { retriever.ProcessFromStream(File.OpenRead(RESOURCES + "/css/test.css"), proc); ICssFile file = proc.GetCss(); IList <CssRule> rules = file.Get(new Tag("body")); Assert.IsTrue(rules.Count == 1); Assert.IsTrue(rules[0].NormalDeclarations.ContainsKey("margin"), "margin not found."); Assert.AreEqual("20px", rules[0].NormalDeclarations["margin"], "Value for margin not correct."); }
/** * Add a file to the CssFiles Collection. * * @param href the path, if it starts with http we try to retrieve the file * from the net, if not we try a normal file operation. */ public void AddCssFile(String href, bool isPersistent) { CssFileProcessor cssFileProcessor = new CssFileProcessor(); try { retrieve.ProcessFromHref(href, cssFileProcessor); } catch (IOException e) { throw new CssResolverException(e); } ICssFile css = cssFileProcessor.GetCss(); css.IsPersistent(isPersistent); this.cssFiles.Add(css); }
/* (non-Javadoc) * @see com.itextpdf.tool.xml.pipeline.css.CSSResolver#addCss(java.lang.String) */ public void AddCss(String content, bool isPersistent) { CssFileProcessor proc = new CssFileProcessor(); IFileRetrieve retrieve = new FileRetrieveImpl(); try { retrieve.ProcessFromStream(new MemoryStream(Encoding.Default.GetBytes(content)), proc); ICssFile css = proc.GetCss(); css.IsPersistent(isPersistent); this.cssFiles.Add(css); } catch (ArgumentException e) { throw new CssResolverException(e); } catch (IOException e) { throw new CssResolverException(e); } }