C# 将图像从 PowerPoint 复制到 Word

2024-01-24

我需要一个应用程序将文本和图像从 PowerPoint 复制到 Word。我使用这个库:Microsoft.Office.Interop.PowerPoint 和 Microsoft.Office.Interop.Word。

文本很容易传输,但是当我在 PowerPoint 中发现一个仅包含图像的形状时,它会显示此错误:“GDI+ 发生一般错误”,在这部分代码中:

foreach (PowerPoint.Shape shape in slide.Shapes)
{
   if (shape.HasTextFrame != MsoTriState.msoTrue){
      shape.Copy();
      Image img = (Image)Clipboard.GetData(DataFormats.Bitmap);
      string filepath = Environment.SpecialFolder.Desktop + "\\img.jpg";
      if (File.Exists(filepath))
      {
         File.Delete(filepath);
      }
      img.Save(filepath);
      doc.Shapes.AddPicture(filepath, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
   }
}

在这种情况下,如何将包含图像的形状从 PowerPoint 复制到 Word? 欢迎任何帮助。我更喜欢一些代码示例。

Thanks.


如果你像这样重写你的代码,它会工作吗? GetImage 将进行自动转换以确保它是图像。如果您知道它是位图,您可以在代码中包含我的检查,以确保剪贴板实际上包含图像。

shape.Copy();
bool imgOk = Clipboard.ContainsImage();
if (imgOk)
{
    Image img = Clipboard.GetImage();
    MessageBox.Show(imgOk.ToString());
    string filepath = @"c:\temp\img.jpg";
    if (File.Exists(filepath))
    {
        File.Delete(filepath);
    }
    img.Save(filepath);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 将图像从 PowerPoint 复制到 Word 的相关文章

  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 在 Android 中调整可绘制对象的大小

    我正在为进度对话框设置一个可绘制对象 pbarDialog 但我的问题是我想每次调整可绘制的大小 但不知道如何调整 这是一些代码 Handler progressHandler new Handler public void handleM
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • WPF:定义绑定的默认值

    在 WPF 中 我希望能够对默认情况下应用绑定的方式进行模板化 例如 我想写 Text Binding Path PedigreeName 但这就像我输入了 Text Binding Path PedigreeName Mode TwoWa
  • 你能在 javascript 或 jquery 中从一个数组中删除另一个数组吗

    我在 javascript 中有三个数组 var array1 new Array 1 2 3 4 5 var array2 new Array a b c d e var array3 new Array a c d 我基本上想要 创建一
  • gcc 的有效消毒剂抑制字符串是什么?

    当与 gcc 一起使用消毒剂时 可以提供一份异常 抑制列表来处理误报等 抑制文件格式的记录很少 每个抑制的形式为 name of check path or name 有效值是多少name of check 我求助于从源代码中获取值 这些基
  • 出现错误:CS1061

    Refer to 在 ASP net MVC 中良好且完整地实现 RSS 提要 https stackoverflow com questions 369794 good and full implementation of rss fee
  • R SSH 隧道 MySQL

    我正在寻找一种方法 允许我在 R 中使用 SSH 隧道连接到 MySQL 服务器 而不是文件 我假设它需要 RCurl 和 RODBC 的组合 但我似乎无法让它正常工作 我碰到这个帖子 https stackoverflow com que
  • 是否可以使用Javascript更新mySQL数据库中的数据?

    我开始使用 javascript 学习一些 SQL 我想将我的变量 来自 javascript 的 Val Points 放入用户 例如 Robert 的表 Usuarios 中 这是可以通过Javascript实现的还是还有其他方法 va
  • MySQL:#126 - 表的密钥文件不正确

    我从 MySQL 查询中收到以下错误 126 Incorrect key file for table 我什至还没有声明该表的键 但我确实有索引 有谁知道可能是什么问题 根据我的经验 每次发生这种情况时 磁盘都已满 EDIT 还值得注意的是
  • asp.net 中的表单身份验证 Cookie 值漏洞

    在asp net中 我可以像往常一样使用表单身份验证登录 复制我们的身份验证cookie值 注销 使用Chrome的 编辑此Cookie 插件将cookie人工添加到客户端 刷新 匿名 登陆页面嘿 很快我又登录了 这似乎是一个漏洞 有没有办
  • 计算垂直于直线的点

    我有一条由 x1 y1 x2 y2 指定的线 L 并想要计算 该点的坐标为 位于与 L 的一半长度相交的法线上 距 L 一定距离 D 例子 如果直线是 x1 a x2 a 水平 则 计算出的点将为 x2 x1 2 D 如果直线是 a y1
  • Define 是未定义的 Javascript 节点

    我正在尝试使用 Node 运行 Javascript 文件 以将博客更新发布到 Tumblr 到目前为止 在我的 main js 文件中 我有以下内容 Tumblr Information var tumblr require vendor
  • 由于图形 API 不再可用,有什么方法可以通过 API 创建 facebook 事件

    我想使用 API 创建 Facebook 事件 我了解到 Graph API 不再可用于发布事件 我还尝试了 Javascript SDK 和 PHP SDK 但收到相同的错误消息 有没有办法通过 Javascript API 创建 Fac
  • 将嵌套 XML 绑定到 CheckboxList

    我有一个嵌套的xml包含菜单和子菜单的文件 我需要在页面加载时将其绑定到 asp net CheckBox 控件 我正在尝试使用下面的 C 代码进行绑定 C DataSet ds new DataSet try Reading the da
  • 当设备方向改变时,UIWebview 中出现黑条

    我有一个 UIWebView 正在加载到另一个视图上 旋转时 纵向或横向的一切看起来都很好 但是当我处于纵向时 当我从纵向旋转到横向时 我通过捏或双击稍微放大 视图不会完全填充使用 uiwebview 右侧大约有 10 个像素变黑 如该屏幕
  • 使用 JavaScript 通过 websocket 进行视频流传输

    最快的直播方式是什么live使用 JavaScript 制作视频 TCP 上的 WebSockets 是否是足够快的协议来传输 30fps 的视频 TCP 上的 WebSockets 是否是足够快的协议来传输 30fps 的视频 是的 是的
  • TYPO3 扩展生成器多个图像上传不起作用

    我的目标是使用 TYPO3 7 6 2 版本中的扩展生成器创建扩展 我从扩展构建器文档创建了类别产品扩展 除了上传单个图像之外 它工作得很好 但我必须创建将多个图像添加到单个产品并在前端显示图像轮播的功能 但扩展生成器不适用于文件上传 我是
  • 组合连续原子变量的存储/加载

    参考 稍微过时的 paper http www open std org JTC1 SC22 WG21 docs papers 2007 n2338 html作者 Hans Boehm 在 原子操作 下 它提到内存模型 当时提出 不会阻止优
  • 使用 Swift 强制 NSLocalizedString 使用特定语言

    通过 swift 我如何强制我的应用程序从特定的 Localized strings 读取数据 我在实例化 ViewController 之前将其放入 didFinishLaunchingWithOptions 中 但它仍然以英语显示应用程
  • 斯威夫特3;范围“超出范围”

    我刚刚将 Xcode 更新到 8 0 beta 2 和 swift 3 0 从 swift 2 3 更新后 我遇到了很多错误 我有一个字符串扩展 它将 self 字符串中的范围转换为 NSRange extension String fun
  • 为什么我应该用 c++ 而不是 c 设置插件接口

    由于我的previous https stackoverflow com questions 1054697 why isnt my new operator called 问题 https stackoverflow com questi
  • C# 将图像从 PowerPoint 复制到 Word

    我需要一个应用程序将文本和图像从 PowerPoint 复制到 Word 我使用这个库 Microsoft Office Interop PowerPoint 和 Microsoft Office Interop Word 文本很容易传输