Aspose.Words简单生成word文档

Aspose.Words简单生成word文档                                                                                                                         

Aspose.Words.Document doc = new Aspose.Words.Document();
Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc);builder.Writeln("试卷一-Title");
builder.Writeln("试卷一-Des");
string subject = @"<p>111-1<img src='/UploadFiles/UEditor/image/20161206/6361662975800625528094831.jpg' title='QQ图片20161107105516.jpg' _src='/UploadFiles/UEditor/image/20161206/6361662975800625528094831.jpg' alt='QQ图片20161107105516.jpg' style='float: right;'/></p>";
builder.Writeln(TextNoHTML(subject));
string[] imgurls = GetHtmlImageUrlList(subject);
string imgtargeturl = "";
foreach (string imgurl in imgurls)
{imgtargeturl = Server.MapPath(imgurl);if (File.Exists(imgtargeturl)){builder.InsertImage(imgtargeturl, 400, 300);}
}
//builder.InsertImage(@"C:\Users\Sale\Pictures\1366-768壁纸\1357640083366.jpg",400,300);
doc.Save(@"D:\1.docx");

C#获取纯文本 去除html标签

/// <summary>
/// 将html文本转化为 文本内容方法NoHTML
/// </summary>
/// <param name="Htmlstring">HTML文本值</param>
/// <returns></returns>
public string TextNoHTML(string Htmlstring)
{//删除脚本   Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);//删除HTML   Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"([/r/n])[/s] ", "", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "/", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", "   ", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "/xa1", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "/xa2", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "/xa3", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "/xa9", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring, @"&#(/d );", "", RegexOptions.IgnoreCase);//替换掉 < 和 > 标记Htmlstring.Replace("<", "");Htmlstring.Replace(">", "");Htmlstring.Replace("/r/n", "");//返回去掉html标记的字符串return Htmlstring;
}

C#获取img src

/// <summary>  
/// 获取Img的路径  
/// </summary>  
/// <param name="htmlText">Html字符串文本</param>  
/// <returns>以数组形式返回图片路径</returns>  
public static string[] GetHtmlImageUrlList(string htmlText)
{Regex regImg = new Regex(@"<img\b[^<>]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?<imgUrl>[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>", RegexOptions.IgnoreCase);//新建一个matches的MatchCollection对象 保存 匹配对象个数(img标签)  MatchCollection matches = regImg.Matches(htmlText);int i = 0;string[] sUrlList = new string[matches.Count];//遍历所有的img标签对象  foreach (Match match in matches){//获取所有Img的路径src,并保存到数组中  sUrlList[i  ] = match.Groups["imgUrl"].Value;}return sUrlList;
}

 


更多专业前端知识,请上 【猿2048】www.mk2048.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/361545.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu下安装JDK和netbeans

我在ubuntu下安装netbeans十分简单&#xff0c;我下载了jdk-7u1-nb-7_0_1-linux-ml.sh&#xff0c;直接在终端输入 sh jdk-7u1-nb-7_0_1-linux-ml.sh安装的向导就会启动&#xff0c;你只要选择JDK和netbeans安装的目录&#xff0c;向导就自动替你安装jdk和netbeans&#xff0c;…

在带有组合框的值列表的下拉列表中显示显示属性的子集

组合框值列表&#xff08;inputComboboxListOfValues&#xff09;应该是使用LOV的非常流行的ADF Faces组件。 坦白说&#xff0c;这是我最喜欢的值列表方法。 在这篇简短的文章中&#xff0c;我将重点介绍ADF开发人员经常忽略的一项功能。 如果默认情况下定义了LOV&#xff0c;…

Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: jav

报错&#xff1a;Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: jav 原因&#xff1a;1、在对应的xml文件里面 #A#,只写了一个# 2、xml文件里面有多余的字符&#xff0c;如空格等 转载于:https://www.cnblogs.com/zzw3014/p/11316031.html

摆脱困境:在每种测试方法之前重置自动增量列

当我们为将信息保存到数据库的功能编写集成测试时&#xff0c;我们必须验证是否将正确的信息保存到数据库。 如果我们的应用程序使用Spring Framework&#xff0c;则可以为此目的使用Spring Test DbUnit和DbUnit 。 但是&#xff0c;很难验证是否在主键列中插入了正确的值&am…

仅坚持了9天:京东今日宣布暂停火车票代购业务

仅仅只坚持了9天&#xff0c;对于京东商城销售火车票的讨论一直进行着。不论是否具有销售资质&#xff0c;还是变相的收费。到今天下午为止京东商城发表声明暂停火车票代购业务。以下是京东公告全文&#xff1a;尊敬的京东网友&#xff1a;鉴于京东商城火车票代购业务测试期间出…

path.join 与 path.resolve 的区别

1. 对于以/开始的路径片段&#xff0c;path.join只是简单的将该路径片段进行拼接&#xff0c;而path.resolve将以/开始的路径片段作为根目录&#xff0c;在此之前的路径将会被丢弃&#xff0c;就像是在terminal中使用cd命令一样。 path.join(/a, /b) // a/bpath.resolve(/a, /b…

Android IPC系列(一):AIDL使用详解

概述 AIDL可以实现进程间的通信&#xff0c;由于每个进程都是运行在独立的空间&#xff0c;不同的进程想要交互需要借助一些特殊的方式&#xff0c;AIDL就是其中的一种&#xff0c;AIDL是一种模板&#xff0c;因为实际交互过程中&#xff0c;并不是AIDL起的作用&#xff0c;具体…

如何使用单例EJB,Ehcache和MBean构建和清除参考数据缓存

在本文中&#xff0c;我将介绍如何使用单例EJB和Ehcache在Java EE中构建简单的参考数据缓存。 高速缓存将在给定的时间段后重置自身&#xff0c;并且可以通过调用REST端点或MBean方法“手动”清除。 这篇文章实际上是在以前的文章的基础上建立的 。 唯一的区别是&#xff0c;我…

深入浅出React Native 1: 环境配置

该教程主要介绍如何用react native来开发iOS&#xff0c;所以首先&#xff0c;你需要有一台mac&#xff0c;当然黑苹果也是可以的~ 创建一个react native的项目只需要安装以下五个组件~~&#xff08;但....坑爹的是&#xff0c;不FQ的话安装慢成狗呀&#xff09; 1. 安装 xco…

C#排序算法大全

C#排序算法大全 土人 2004-7-21 一、冒泡排序(Bubble) using System; namespace BubbleSorter { public class BubbleSorter { public void Sort(int[] list) { int i,j,temp; bool donefalse; j1; while((j<list.Length)&&(!done)) { donetrue; for…

Spring实战(前言:Spring容器)

Spring容器&#xff0c;顾名思义是用来容纳东西的&#xff0c;装的就是Bean。Spring容器负责创建、配置、管理Bean。spring容器有两个核心接口&#xff1a;BeanFactory和ApplicationContext接口&#xff0c;后者是前者的子接口。在基于spring的Java EE程序中&#xff0c;所有的…

具有WildFly,Arquillian,Jenkins和OpenShift的Java EE 7部署管道

技术提示&#xff03;54展示了如何Arquillianate&#xff08;Arquillianize&#xff1f;&#xff09;一个现有的Java EE项目并在WildFly在已知主机和端口上运行的远程模式下运行这些测试。 技术提示&#xff03;55展示了当WildFly在OpenShift中运行时如何运行这些测试。 这两个…

《那些年啊,那些事——一个程序员的奋斗史》——88

谁也不知道武总脑袋里面会想些什么。这天早上段伏枥还在发愁如何改进这4.3机器的电源管理的时候&#xff0c;武总突然让自己到会议室开会。 段伏枥还没坐下来的时候&#xff0c;武总推过来一台机器&#xff0c;说:“你看看&#xff0c;这机器怎么样。” 段伏枥定睛一看&#xf…

css浮动(float)及清除浮动的几种实用方法

CSS浮动是现在网页布局中使用最频繁的效果之一,而浮动可以帮我们解决很多问题,那么就让我们一起来看一看如何使用浮动. 一.css浮动(float) (1)html文档流 自窗体自上而下分成一行一行&#xff0c;并在每行中按从左到右的顺序排放元素。 (2)网页中大部分对象默认是占用文档流…

一台电脑同时添加git和bitbucket两个网站的ssh key

添加第一个ssh key 就不多说了&#xff0c;不懂的可以自己查资料 ssh-keygen -t rsa -C email_1email.com 然后一路enter就好了 假设已经添加好了git的ssh key 。现在要添加bitbucket的ssh key 首先 ssh-keygen -t rsa -C email_2email.com //同一个邮箱也可以 然后指定公钥的…

属性提取器:获取ListView即时更新其元素的最佳方法

这篇文章是关于如何处理JavaFX ListViews和TableViews的&#xff0c;以及这些控件如何得知所包含元素的更改内容。 我想知道为什么在相关书籍中没有找到关于以下模式的任何信息&#xff0c;因为这是一个非常关键的机制。 那里的许多帖子建议通过调用以下命令来强制触发ChangeEv…

基于python语言下的UI自动化测试框架搭建(四)

testsuits:案例执行 创建baidu_search1.py文件&#xff0c;这里会展示两种执行方式&#xff0c;一种是直接调用base_page中封装好的常用操作方法&#xff0c;另外一种是先调用baidu_homepage.py&#xff0c;通过baidu_homepage.py进行处理&#xff0c;再执行对应的案例&#xf…

MVC详解

模型&#xff0d;视图&#xff0d;控制器&#xff08;Modal View Controler&#xff0c;MVC&#xff09;是Xerox PARC在八十年代为编程语言Smalltalk&#xff0d;80发明的一种软件设计模式&#xff0c;至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式&#xff0c…

如何为每个URL连接设置自定义SSLSocketFactory的TrustManager

从javadoc中我们可以看到javax.net.ssl.HttpsURLConnection提供了一个静态方法来用setDefaultSSLSocketFory&#xff08;&#xff09;方法覆盖。 这样&#xff0c;您就可以提供一个自定义javax.net.ssl.TrustManager&#xff0c;它可以验证您自己的CA证书握手和验证等。但是&am…

ES6之命令妙用

很多人都听说过ES6&#xff08;也就是ECMAScript的新一代标准&#xff09;并且对她充满了向往&#xff0c;下面通过一个ES6中小知识点——let命令&#xff0c;来解开她的神秘面纱&#xff0c;让大家初步认识一下ES6的语法规范。let命令属于ES6中的一个基本语法&#xff0c;与原…