//private OXmlElement BeginTag(HtmlDocNodeBeginTag beginTag) //{ // // <p> <a> // if (beginTag.Tag == HtmlTagType.P) // return new OXmlElement { Type = OXmlElementType.Paragraph }; // return null; //} //private OXmlElement Tag(HtmlDocNodeTag tag) //{ // // <br> <img> // if (tag.Tag == HtmlTagType.BR) // return new OXmlElement { Type = OXmlElementType.Line }; // else if (tag.Tag == HtmlTagType.Img) // { // HtmlDocNodeTagImg img = (HtmlDocNodeTagImg)tag; // Uri uri = new Uri(img.Link); // string file = uri.Segments[uri.Segments.Length - 1]; // // new zDocXPictureElement { File = _pictureDir + file, Width = 300, PictureDrawing = new zDocXPictureWrapTightAnchorDrawing() { SquareSize = 21800 } } // OXmlPictureElement pictureElement = new OXmlPictureElement { File = _pictureDir + file }; // foreach (string className in img.ClassList) // SetPictureClassParam(pictureElement, className); // return pictureElement; // } // else // return null; //} //private static void SetPictureClassParam(OXmlPictureElement pictureElement, string className) //{ // // class : leftalign, nonealign, width300, width450 // switch (className.ToLower()) // { // case "nonealign": // pictureElement.PictureDrawing = new OXmlPictureInlineDrawing(); // break; // case "leftalign": // //pictureElement.PictureDrawing = new zDocXPictureWrapTightAnchorDrawing() { SquareSize = 21800 }; // pictureElement.PictureDrawing = new OXmlPictureAnchorDrawing() { Wrap = new OXmlAnchorWrapTight() { SquareSize = 21800 } }; // break; // case "width300": // pictureElement.Width = 300; // break; // case "width450": // pictureElement.Width = 450; // break; // default: // throw new pb.PBException($"unknow img class \"{className}\""); // } //} //public static IEnumerable<OXmlElement> ToOXmlXElements(IEnumerable<HtmlDocNode> nodes, WebImage[] webImages = null) //{ // HtmlToOXmlElements_v2 htmlToOXmlElements = new HtmlToOXmlElements_v2(); // htmlToOXmlElements._imageDirectory = imageDirectory; // htmlToOXmlElements._webImages = webImages; // return htmlToOXmlElements._ToOXmlXElements(nodes); //} // string imagePatchesFile = null public static HtmlToOXmlElements_v2 Create(XElement xe, string imageDirectory = null) { HtmlToOXmlElements_v2 htmlToOXmlElements = new HtmlToOXmlElements_v2(); htmlToOXmlElements._imageDirectory = imageDirectory; //htmlToOXmlElements._imagePatchesFile = imagePatchesFile; htmlToOXmlElements.Init(xe); return(htmlToOXmlElements); }
private static HtmlToOXmlElements_v2 CreateHtmlToOXmlElements(XElement xe, string imageDirectory) { HtmlToOXmlElements_v2 htmlToOXmlElements = new HtmlToOXmlElements_v2(); htmlToOXmlElements.ImageDirectory = imageDirectory; htmlToOXmlElements.TextRemoveBlank = true; htmlToOXmlElements.TextRemoveLine = true; //htmlToOXmlElements.ForcedMaxImageWidth = 300; htmlToOXmlElements.MaxImageHorizontalSize = 700; htmlToOXmlElements.ImageHorizontalLeftMarge = 2; htmlToOXmlElements.ImageHorizontalMarge = 3; htmlToOXmlElements.ImageHorizontalBorder = 71755; // 71755 = 0.2 cm htmlToOXmlElements.ImageSeparationParagraphStyle = "TinyParagraph"; htmlToOXmlElements.UseLinkImage = false; // true : take image link from tag a, false : take image link from tag img //htmlToOXmlElements.ImagePatchesFile = imagePatchesFile; htmlToOXmlElements.Init(xe.zXPathElement("HtmlToDocx")); return(htmlToOXmlElements); }