当前位置: 代码迷 >> 综合 >> C#Aspose.word在指定标签处插入图片
  详细解决方案

C#Aspose.word在指定标签处插入图片

热度:46   发布时间:2023-12-17 03:52:54.0

    /// <summary>
        /// 在指定标签后插入图片
        /// </summary>
        /// <param name="doc"></param>
        /// <param name="bm"></param>
        /// <param name="pic"></param>
        /// <param name="width"></param>
        /// <param name="height"></param>
        public static void ModifyPicture(Document doc, string bm, string pic,double width=40)
        {
            try
            {
                //判断标签和图片是否存在
                if (BookMarkIsExist(doc, bm) is true && File.Exists(pic))
                {

                    //获取标签
                    Bookmark bookmark = doc.Range.Bookmarks[bm];

                    DocumentBuilder builder = new DocumentBuilder(doc);

                    builder.MoveToBookmark(bm);

                    //获取当前所在的段落
                    Paragraph paragraph = builder.CurrentParagraph;

                    //Shape shape= builder.InsertImage(pic, RelativeHorizontalPosition.Character, paragraph.GetText().Length, RelativeVerticalPosition.Paragraph, 1, width, height, WrapType.None);

                    Shape shape = builder.InsertImage(pic);

                    double w = shape.Width;

                    shape.Width = width;

                    shape.Height = (width * 1.0 / w) * shape.Height;

                    shape.RelativeVerticalPosition = RelativeVerticalPosition.Paragraph;

                    shape.RelativeHorizontalPosition = RelativeHorizontalPosition.Character;

                    shape.Left = paragraph.GetText().Length;

                    shape.WrapType = WrapType.None;

                }
            }
            catch (Exception)
            {

                throw;
            }
        }

  相关解决方案