Word中截取部分内容并保存为jpg图片的方法

news/2025/2/12 7:45:06/

private void button1_Click(object sender, EventArgs e)
{
var appWord = new Microsoft.Office.Interop.Word.Application();
var doc = new Microsoft.Office.Interop.Word.Document();
object oMissing = System.Reflection.Missing.Value;//这个是什么东西,我始终没搞明白-_-
//打开模板文档,并指定doc的文档类型
object objTemplate = @"c:\18_0000f032-1c39-4bc9-a47c-327d8d493978.docx";
object objDocType = WdDocumentType.wdTypeDocument;
appWord.Visible = true;
doc = appWord.Documents.Add(ref objTemplate, ref oMissing, ref objDocType, ref oMissing);
object start = 0;
object end = 160;
doc.Range(ref start, ref end).Select();
appWord.Selection.Range.Copy();

var process = new Process();
process = Process.Start("mspaint.exe",@"c:\1.jpg");
var processId = process.Id;
var element = FindWindowByProcessId(processId);
SendKeys.SendWait("^v"); //发送 Ctrl + s 键
SendKeys.SendWait("^s"); //发送 Ctrl + s 键
SendKeys.SendWait("%{F4}"); // 发送 Alt + F4 键
}public static AutomationElement FindWindowByProcessId(int processId)
{
AutomationElement targetWindow = null;
int count = 0;
try
{
Process p = Process.GetProcessById(processId);
targetWindow = AutomationElement.FromHandle(p.MainWindowHandle);
return targetWindow;
}
catch (Exception ex)
{
count++;
StringBuilder sb = new StringBuilder();
string message = sb.AppendLine(string.Format("Target window is not existing.try #{0}", count)).ToString();
if (count > 5)
{
throw new InvalidProgramException(message, ex);
}
else
{
return FindWindowByProcessId(processId);
}
}
}


http://www.ppmy.cn/news/50196.html

相关文章

Codeforces Round 863 (Div. 3) G2. Vlad and the Nice Paths (hard version)

题意: 给定一个长度为 n n n的序列和整数 k k k,每个序列颜色为 a [ i ] a[i] a[i],找出一个子序列的长度为 k k k的倍数,假设为 l e n len len,则将这个子序列分为 l e n / k len/k len/k份,每份的颜色都…

MySQL数据库——MySQL使用DISTINCT过滤重复数据

在 MySQL 中使用 SELECT 语句执行简单的数据查询时,返回的是所有匹配的记录。如果表中的某些字段没有唯一性约束,那么这些字段就可能存在重复值。 为了实现查询不重复的数据,MySQL 提供了 DISTINCT 关键字。 DISTINCT 关键字的主要作用就是…

最新版本VSCode配置Python、PyQt5、QtDesigner环境并创建一个ui界面测试

参考链接:最新版本VSCode配置Python、PyQt5、QtDesigner环境并创建一个ui界面测试 一、安装Python3 PyQt5所支持的python版本是从3.5开始的,因此安装的Python3版本必须大于3.5。 我安装的位置是C:\Python\Python38。 参见真小白入门Pyhton的安装 二、安…

【音视频第17天】RTSP、RTMP协议初识

被叫去搞直播了,悲喜交加。先学习一下基本的技术栈,RTSP RTMP HTTP 先简单随便看看吧。 目录 什么是流媒体协议RTMPRTMP 工作原理 RTSPRTSP 工作原理 RTMP 与 RTSP 区别详细看看RTSP简介RTSP交互流程OPTIONSDESCRIBESETUPPLAYPAUSESET_PARAMETERGET_PAR…

3. 排序

3. 排序 3.1 总纲 3.2 Comparable与Comparator接口介绍 由于我们这里要讲排序,所以肯定会在元素之间进行比较。规则的。在实际应用中,我们往往有需要比较两个自定义对象大小的地方。而这些自定义对象的比较,就不像简单的整型数据那么简单&a…

Android主流网络请求开源库的对比

目录 一、为什么要用网络请求开源库? 网络请求开源库是一个将网络请求的相关功能封装好的类库 没有网络请求框架之前 App想与服务器进行网络请求交互是一件很痛苦的事:因为Android的主线程不能进行网络请求,需另开1个线程请求、考虑到线程池…

CSS基础——定位及背景处理

目录 定位 相对定位 相对定位特点 绝对定位 绝对定位的特点 固定定位 固定定位和绝对定位不同的特点 层级问题 opacity IE处理 背景 background-image background-color background-repeat background-position 图片整合技术 优点 background-attachment 属性…

几种加密算法

一、概述 在安全领域,利用密钥加密算法来对通信的过程进行加密是一种常见的安全手段。利用该手段能够保障数据安全通信的三个目标: 1、数据的保密性,防止用户的数据被窃取或泄露 2、保证数据的完整性,防止用户传输的数据被篡改 3…