企业门户网站制作,专门做985招聘信息的网站,wordpress 网页存在哪里,WordPress跨机房同步大家好#xff0c;我是阿赵。 阿赵我写博客的时候的习惯是#xff0c;先用word文档写好#xff0c;然后再把word文档里面的图片另存#xff0c;最后再在博客里面复制正文和上传图片。 而我写的文章一般配图都比较多#xff0c;所以经常要做的一个功能就是另存图片… 大家好我是阿赵。 阿赵我写博客的时候的习惯是先用word文档写好然后再把word文档里面的图片另存最后再在博客里面复制正文和上传图片。 而我写的文章一般配图都比较多所以经常要做的一个功能就是另存图片。由于我没有买正版的Office工具我用的是WPS工具来编辑word文档的。wps虽然是免费的但它保存文档里面的所有图片是需要会员收费的不然就只能一张一张图片手动保存。 然而作为程序员在觉得不该花钱的地方我也是不会乱花的。我自己写了一个小程序把文档里面的所有图片提取并保存这里分享一下这是一个用C#写的winform程序
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System;
using System.Windows.Forms;
using Tools;namespace PickWordTexture
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private string wordPath ;private string savePath ;private void ShowTips(string content){MessageBox.Show(content);}private bool ShowTipsSelect(string content){DialogResult result MessageBox.Show(content, 提示, MessageBoxButtons.OKCancel);if(result DialogResult.OK){return true;}else{return false;}}private void SetWordPath(string path){wordPath path;string fullFileName FilePathHelper.GetFileName(path);string fileName FilePathHelper.RemoveExName(fullFileName);savePath path.Replace(fullFileName,)fileName\\;UpdateView();}private void UpdateView(){wordPathTxt.Text wordPath;savePathTxt.Text savePath;}private void PickTextureFun(){if(string.IsNullOrEmpty(wordPath)||string.IsNullOrEmpty(savePath)){ShowTips(请先把需要提取的word文档拖动到窗口内);return;}if(FileManager.IsDirectoryExists(savePath)){if(ShowTipsSelect(保存的文件夹已经存在将会覆盖,原有内容将会被删除是否继续?)true){FileManager.DelFolder(savePath);}else{return;}}Document document;string exName FilePathHelper.GetExName(wordPath).ToLower();if(exName doc){document new Document(wordPath, FileFormat.Doc);}else{document new Document(wordPath, FileFormat.Docx);}int count 0;foreach(Section section in document.Sections){foreach(Paragraph paragraph in section.Paragraphs){foreach(DocumentObject docObject in paragraph.ChildObjects){if(docObject.DocumentObjectType DocumentObjectType.Picture){DocPicture picture docObject as DocPicture;string imgName savePath Image_ (count 1) .png;FileManager.CheckFileSavePath(imgName);picture.Image.Save(imgName, System.Drawing.Imaging.ImageFormat.Png);count;}}}}if(count 0){ShowTips(文档里面没有图片);}else{ShowTips(提取到图片 count 张);}}private void Form1_DragDrop(object sender, DragEventArgs e){string inputPath ((Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();string exName FilePathHelper.GetExName(inputPath).ToLower();if(exName!docexName!docx){ShowTips(只能拖动word文档(扩展名是doc或者docx));}else{SetWordPath(inputPath);}}private void Form1_DragEnter(object sender, DragEventArgs e){if (e.Data.GetDataPresent(DataFormats.FileDrop)){e.Effect DragDropEffects.Link;}else{e.Effect DragDropEffects.None;}}private void pickTextureBtn_Click(object sender, EventArgs e){PickTextureFun();}}
}里面主要用到了Spire.Doc。然后还有一些我自己写的保存文件的工具类。这些工具类你们可以自己写IO方法替代一下或者以后我再分享。 把文档拖到工具上 工具会自动文档路径和保存路径 点击提取所有图片就提取完成了 在原来的文档旁边会新生成一个文件夹 里面就是提取完的图片