Beispiel #1
0
        //ExEnd:SaveHTMLDocumentWithResourcesFolder

        //ExStart:TraverseHTMLResourcesAndCSS
        /// <summary>
        /// Traverse HTML document and save resources by specifying resource folder name.
        /// </summary>
        public static void TraverseHTMLResourcesAndCSS()
        {
            // Obtain document stream
            Stream sourceStream = File.Open(Path.Combine(Common.sourcePath, Common.sourceFile), FileMode.Open, FileAccess.Read);

            using (InputHtmlDocument htmlDoc = EditorHandler.ToHtml(sourceStream))
            {
                foreach (IFontResource fontResource in htmlDoc.FontResources)
                {
                    Console.WriteLine(fontResource.FilenameWithExtension);
                    Console.WriteLine(fontResource.Name);
                    Console.WriteLine(fontResource.ByteContent);
                    Console.WriteLine(fontResource.TextContent);

                    string pathToResource = string.Format(Path.Combine(Common.resultPath, Common.resultResourcesFolder) + "\\{0}", fontResource.FilenameWithExtension);
                    fontResource.Save(pathToResource);
                }

                foreach (RasterImageResourceBase imageResource in htmlDoc.ImageResources)
                {
                    Console.WriteLine(imageResource.FilenameWithExtension);
                    Console.WriteLine(imageResource.ByteContent);
                    Console.WriteLine(imageResource.Name);
                    Console.WriteLine(imageResource.TextContent);
                    Console.WriteLine(imageResource.LinearDimensions.Height);
                    Console.WriteLine(imageResource.LinearDimensions.Width);
                    Console.WriteLine(imageResource.LinearDimensions.IsSquare);

                    string pathToResource = string.Format(Path.Combine(Common.resultPath, Common.resultResourcesFolder) + "\\{0}", imageResource.FilenameWithExtension);
                    imageResource.Save(pathToResource);
                }

                CssText css = htmlDoc.Css;
                Console.WriteLine(css.FilenameWithExtension);
                Console.WriteLine(css.ByteContent);
                Console.WriteLine(css.Name);
                Console.WriteLine(css.TextContent);
                Console.WriteLine(css.Encoding);

                string pathToCss = string.Format(Path.Combine(Common.resultPath, Common.resultResourcesFolder) + "\\{0}", css.FilenameWithExtension);
                css.Save(pathToCss);

                // saving output html file.
                htmlDoc.Save(Path.Combine(Common.resultPath, Common.resultFile), Path.Combine(Common.resultPath, Common.resultResourcesFolder));
            }

            // close stream object to release file for other methods.
            sourceStream.Close();
        }
Beispiel #2
0
 /// <summary>
 /// Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table.
 /// </summary>
 /// <returns></returns>
 public override int GetHashCode()
 {
     return(CssText.GetHashCode());
 }