为有中文需求的客户提供多渠道中文技术支持.

Tue May 21, 2024 8:51 am

下面这是我的代码,可以帮忙解决一下吗,谢谢 。
/// <summary>
/// 往指定书签处插入图片
/// </summary>
/// <param name="data"></param>
/// <param name="image"></param>
/// <param name="paragraph"></param>
public void AppendPicture(BookmarksNavigator navigator, Image image, Paragraph paragraph)
{
//为段落添加图片
DocPicture picture = paragraph.AppendPicture(image);
//把含有图片的段落插入到书签位置
navigator.InsertParagraph(paragraph);
}

jslzhangtao
 
Posts: 5
Joined: Sat Mar 09, 2024 7:07 am

Wed May 22, 2024 7:36 am

你好,

感谢留言。
从您贴出的代码可以看出您创建了一个新的段落,然后将新的段落插入到了书签内,所以会换一行再插入。
请参考下面的代码测试。
如果还是有问题,请将测试文件发送到邮箱‘support@e-iceblue.com’,我们会根据您的文档进一步调整代码。

Code: Select all
            Document doc = new Document();
            doc.LoadFromFile("书签测试.docx");
            Image image = Image.FromFile("PDF-NET.png");
            BookmarksNavigator navigator = new BookmarksNavigator(doc);
            navigator.MoveToBookmark("pic");

            TextBodyPart textBodyPart = navigator.GetBookmarkContent();
            for (int i = 0; i < textBodyPart.BodyItems.Count; i++)
            {
                if (textBodyPart.BodyItems[i].DocumentObjectType == DocumentObjectType.Paragraph)
                {
                    Paragraph para = textBodyPart.BodyItems[i] as Paragraph;
                    para.AppendPicture(image);
                }
            }
            navigator.DeleteBookmarkContent(true);
            navigator.InsertTextBodyPart(textBodyPart);
            doc.SaveToFile("书签测试_out.docx");


Sincerely,
Doris
E-iceblue support team
User avatar

Doris.Liu
 
Posts: 377
Joined: Mon Nov 07, 2022 8:10 am

Return to 中文技术支持