处理eq问题
using System;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using MSWord = Microsoft.Office.Interop.Word;
namespace ConvertEquationToPng
{
public partial class MainForm : Form
{
private MSWord.Application m_word;
private MSWord.Document m_doc;
public MainForm()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
var processes = Process.GetProcessesByName("winword");
foreach (var process in processes)
{
process.Kill();
}
}
catch (Exception)
{
}
m_word = new MSWord.Application();
object filefullname =Application.StartupPath+@"\\845AD2AE-23C0-4AC4-AFE7-F832BD088673_ONLY_QUESTION.doc";
var obj = Type.Missing;
try
{
m_word.Documents.Open(ref filefullname,ref obj, ref obj, ref obj,ref obj, ref obj, ref obj,ref obj, ref obj,ref obj, ref obj, ref obj, ref obj,ref obj, ref obj, ref obj);
m_word.Visible = false;
var document = m_word.Documents[1];
var count = 0;
foreach (var c in document.Fields)
{
count++;
var d = (MSWord.Field) c;
d.Copy();
d.Select();
m_word.Selection.PasteSpecial(Link: false, DisplayAsIcon: false,DataType: MSWord.WdPasteDataType.wdPasteEnhancedMetafile,Placement:MSWord.WdOLEPlacement.wdInLine);
}
var picPath =new DirectoryInfo("c:\\Pic");
if (!picPath.Exists)
{
picPath.Create();
}
var i = 0;
for (var j=1;j<= document.InlineShapes.Count;j++)
{
var ish = document.InlineShapes[j];
if (ish.Type == MSWord.WdInlineShapeType.wdInlineShapePicture)
{
ish.Select();
m_word.Selection.Copy();
var image = Clipboard.GetImage();
if (image != null)
{
var bitmap = new Bitmap(image);
var fi = new FileInfo(picPath +"\\"+ i + ".jpg");
var fiNew= new FileInfo(picPath + "\\"+ i + "_new.jpg");
bitmap.Save(fi.FullName);
Trim(fi.FullName, fiNew.FullName);
var img = Image.FromFile(fiNew.FullName);
Clipboard.SetDataObject(img);
ish.Delete();
m_word.Selection.Paste();
}
i++;
}
}
#region 关闭
//避免弹出normal.dotm被使用的对话框,自动保存模板
m_word.NormalTemplate.Saved = true;
document.SaveAs("c:\\result.doc");
//先关闭打开的文档(注意saveChanges选项)
Object saveChanges = MSWord.WdSaveOptions.wdDoNotSaveChanges;
Object originalFormat = Type.Missing;
Object routeDocument = Type.Missing;
m_word.Documents.Close(ref saveChanges, ref originalFormat, ref routeDocument);
//若已经没有文档存在,则关闭应用程序
if (m_word.Documents.Count == 0)
{
m_word.Quit(Type.Missing, Type.Missing, Type.Missing);
}
var r=MessageBox.Show("成功完成,请查看效果!","恭喜",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
if (r == DialogResult.OK)
{
var fileFullName = "c:\\result.doc";
var psi = new ProcessStartInfo("Explorer.exe")
{
Arguments = "/e,/select," + fileFullName
};
Process.Start(psi);
}
#endregion
}
catch (System.Exception ex)
{
MessageBox.Show("打开Word文档出错:"+ex);
}
}
public static void Trim(string sourceFileName, string targetFileName)
{
CommonUtil.ExecCommand(@"C:\Program Files\ImageMagick-6.9.3-Q16\convert.exe", sourceFileName + " -transparent white -trim " + targetFileName);
}
}
}
处理eq问题的更多相关文章
- <c:if test="value ne, eq, lt, gt,...."> 用法
类别 运算符 算术运算符 + . - . * . / (或 div )和 % (或 mod ) 关系运算符 == (或 eq ). != (或 ne ). < (或 lt ). > (或 ...
- jQuery中eq()方法用法实例
本文实例讲述了jQuery中eq()方法用法.分享给大家供大家参考.具体分析如下: 此方法能够获取匹配元素集上的相应位置索引的元素. 匹配元素集上元素的位置索引是从0开始的. 语法结构: 复制代码 代 ...
- jqueyr eq get用法
相信大部份人都会把这2个的用法搞错.仔细查看下API文档就可以知道.eq返回的是一个jquery对象,get返回的是一个html 对象数组.举个例子: <p style="color: ...
- JQ first-child与:first的区别以及nth-child(index)与eq(index)的区别
1.first-child和:first区别 first-child 是指选取每个父元素的第一个子元素 如$("div:first-child")指每个父级里的第一个div孩子 ...
- jQuery.eq() 函数
eq() 函数 获取当前对象中指定索引所对应的的元素 语法 $selector.eq(index)//index为指定索引,值为数字型 返回值 返回值为一个对象 实例说明 代码 <!DOCTYP ...
- jQuery的eq方法
定义和用法eq() 方法将匹配元素集缩减值指定 index 上的一个. 语法.eq(index) 其中的index :整数,指示元素的位置(最小为 0).如果是负数,则从集合中的最后一个元素往回计数. ...
- jQuery原型方法first,last,eq,slice源码分析
这4个方法中前3个方法很常用大家都见过,但是slice方法可能会以为是数组方法,其实slice也是jQuery的一个原型方法,只不过是底层方法是为其他方法服务的(更具体点是为eq方法服务的),首先还是 ...
- yourphp的eq作用
<eq name="> <span style="color:#090">是</span> <else /> 否 < ...
- jQuery : eq() vs get()
.get(index) and .eq(index) both return a single "element" from a jQuery object array, but ...
- JQUERY添加、删除元素、eq()方法;
一.jQuery - 添加元素 1.append() - 在被选元素内部的结尾插入指定内容 2.prepend() - 在被选元素内部的开头插入指定内容 3.after() - 在被选元素之后插入内容 ...
随机推荐
- 剑指Offer - 九度1506 - 求1+2+3+...+n
剑指Offer - 九度1506 - 求1+2+3+...+n2013-11-29 19:22 题目描述: 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switc ...
- 《Cracking the Coding Interview》——第13章:C和C++——题目9
2014-04-25 20:37 题目:请设计一个字节对齐的malloc函数,配套上对应的free函数.要求这个函数分配出的内存块儿的首地址是某个值n的整数倍,n是2的整次幂,比如128.1024之类 ...
- Python 绘制棋盘
import turtle pen = turtle.Pen() pen.speed(10) width = 30 # 格子宽度 count = 18 # 横向纵向格子数 o = width * co ...
- selenium定位弹出菜单
写selenium脚本,在浏览器定位各种弹出菜单时,有时用工具很难去取菜单的属性,下面说下如何去取: 点开firebug ,切换到“脚本”界面,首先在输入框输入单字母s,待弹出下拉列表后,单击左侧的插 ...
- Jmeter获取Cookie并传递到下一个线程---跨线程后cookie找不到了
网上找了一堆文章没有一个是实际操作的,自己边试边查边摸索终于找到了一个全套的办法. 原创文章,转载请说明出处. 1.取得cookie 直接这样写就可以了${COOKIE_JSESSIONID},当然具 ...
- 一个初学者的辛酸路程-基于Django写BBS项目
前言 基于Django的学习 详情 登录界面 找个模板 http://v3.bootcss.com/examples/signin/ 右键,检查源码 函数 def login(request) ...
- 孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类尝试第一天
孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类,尝试第一天 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 按上一天的规划,这是根据过去我自学其它编程语 ...
- 2 27re.py
""" 匹配目标 """ # import re # content = 'Hello 123 4567 World_This is a R ...
- Android动态添加和移除布局
package com.hyang.administrator.studentproject; import android.os.Bundle; import android.support.v7. ...
- (总结)统计Apache或Nginx访问日志里的独立IP访问数量的Shell
1.把IP数量直接输出显示:cat access_log_2011_06_26.log |awk '{print $1}'|uniq -c|wc -l 2.把IP数量输出到文本显示:cat acces ...