【问题标题】:transfering images and shapes from word file to pictureBox control将图像和形状从 word 文件传输到 pictureBox 控件
【发布时间】:2013-06-14 06:02:01
【问题描述】:

我可以从 Word 文件中读取图像和形状,并在 C# 中的图片框控件中实用地显示它们吗?

实际上,我有一个 Word 文件,其中有多个答案的问题,有些问题还包含图像和形状。

所以我想做的是用 C# 读取文档并显示要在pictureBoxcontrol 中显示的图像和形状。在 C# 中是否有可能,如果是,那么解决方案是什么。我在 Google 上搜索了很多,但没有找到。

【问题讨论】:

    标签: c# ms-word


    【解决方案1】:

    我已经有一段时间没有进行 Word 自动化了,也从未使用过此功能,但您可以尝试使用 Range.Copy - 您必须找到各种 Shape 对象和图像,复制它们并尝试粘贴将它们放入您的图片框中。

    另请查看questionthis one

    【讨论】:

      【解决方案2】:

      您可以像上面的代码一样循环浏览您的 Word 文档。 它的基本功能是拍摄每张图片、图表、表格。

      foreach (NetOffice.WordApi.InlineShape s in docWord.InlineShapes)
      {
            #region Set Shapes
            if (s.Type==NetOffice.WordApi.Enums.WdInlineShapeType.wdInlineShapePicture &&  s.AlternativeText.Contains("|"))
            {
                   Clipboard.SetImage(s.Select());
            }
      }
      

      现在将其设置到您的 PictureBoxControl 中:

      pictureBox1.Image = new Bitmap(@"\Program Files\PictureBoxControl\tinyemulator_content.jpg");
      

      从剪贴板:

      pictureBox1.Image = new Bitmap(Clipboard.GetImage());
      

      【讨论】:

      • visual studio 现在在Clipboard.SetImage(s.Select()); 上给出错误“参数类型无效不能分配给参数类型'System.Drawing.Image'”所以我是如何解决这个错误的。请帮助我,因为我已经接受了您的回答,但现在面临问题\
      【解决方案3】:

      您可以在 Word 文档或 C# 代码中创建宏。 我不知道如何从你的 c# 代码中“模拟”一个 vba 宏,但我知道你会在 stackoverflow 上找到很多解决方案。您需要的代码类似于。

      activeDocument.Shapes(x).select 
      

      activeDocument.InlineShapes(x).select 
      

      您必须检查您的图像是内联形状还是形状。然后用

      复制它
      Selection.copy
      

      这是 vba 代码。 该图像现在在您的剪贴板中,因此您需要按照 c# 代码来检索它。

      if (Clipboard.ContainsImage())
      {
         Image img = Clipboard.GetImage();
      }
      

      【讨论】:

        猜你喜欢
        • 2013-06-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多