object path; //文件路径变量
Application wordApp; //Word应用程序变量
Document wordDoc; //Word文档变量
string strWordFile = HttpContext.Current.Server.MapPath(WordFilePath);
if (!Directory.Exists(strWordFile))
Directory.CreateDirectory(strWordFile);
Thread.Sleep(1000);//延迟1秒
path = strWordFile + strTitle + ".doc"; //路径
wordApp = new ApplicationClass(); //初始化
//如果已存在,则删除
if (File.Exists((string)path))
{
File.Delete((string)path);
}
//由于使用的是COM库,因此有许多变量需要用Missing.Value代替
Object Nothing = Missing.Value;
wordDoc = wordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);
//WdSaveFormat为Word文档的保存格式
int intIndex = strContent.IndexOf("<div");//根据<div>判断是否为txt文本
string strImagePath = ""; //图片地址
string picUrl = "";//图片绝对路径
foreach (Match match in Regex.Matches(strContent, @"(?<=src=['""])[^'""]*(?=['""])", RegexOptions.IgnoreCase))
{
strImagePath = HttpContext.Current.Server.MapPath(UploadFilePath);
strImagePath = strImagePath + match.Value.Replace("/","\\"); //strAPath.Substring(strPath.Length+1, strAPath.Length - strPath.Length-1);
strContent = strContent.Replace(match.Value, strImagePath);
}
picUrl = strImagePath;
object format = intIndex > 0 ? WdSaveFormat.wdFormatDOSTextLineBreaks : WdSaveFormat.wdFormatDocument;
//文件内容
wordDoc.Paragraphs.Last.Range.Text = intIndex > 0 ? "<body>" + strContent + "</body>" : strContent;
//将wordDoc文档对象的内容保存为DOC文档
wordDoc.SaveAs(ref path, ref format, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);
//关闭wordDoc文档对象
wordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
//关闭wordApp组件对象
wordApp.Quit(ref Nothing, ref Nothing, ref Nothing); 如果有图片的话。下载到本地就看不到图片,,
如何将图片生成到word中呢。。
private void ImgToBase64String(string Imagefilename)
{
try
{
Bitmap bmp = new Bitmap(Imagefilename);
this.pictureBox1.Image = bmp;
FileStream fs = new FileStream(Imagefilename + ".txt", FileMode.Create);
StreamWriter sw = new StreamWriter(fs); MemoryStream ms = new MemoryStream();
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] arr = new byte[ms.Length];
ms.Position = 0;
ms.Read(arr, 0, (int)ms.Length);
ms.Close();
String strbaser64 = Convert.ToBase64String(arr);
sw.Write(strbaser64); sw.Close();
fs.Close();
MessageBox.Show("转换成功!");
}
catch (Exception ex)
{
MessageBox.Show("ImgToBase64String 转换失败/nException:" + ex.Message);
}
}
没有用啊。
src="http://t1.baidu.com/it/u=1354549538,1627489155&fm=25&gp=0.jpg" align=left hspace=12 v:shapes="_x0000_s1036"/>是这样写吗。。 可word中显示不出来。。 是个X
2 将页面保存为单个网页文件,
3 修改它的后缀为doc
4 如果word打开是一个图片 再用txt打开word 你会发现有一段很长的编码 那就是图片的base64
5 你在用我给你的那个方法生成另一个图片的base64 把word中的替换,保存
6 打开word你会发现图片变了