【发布时间】:2017-12-06 23:14:49
【问题描述】:
我在提取图像时遇到问题。我编写了这段代码来从 word 文件中提取所有图像,但是这段代码适用于某些图像,这意味着它确实保存了一些图像文件,但另一方面,这段代码不会从 Word 文件中提取图像。我正在使用办公室互操作库。
protected void ExtractImage(string imagename, int imagenum)
{
word.InlineShape shape = oword.ActiveDocument.InlineShapes[imagenum];
int dones = oword.ActiveDocument.InlineShapes.Count; //Counts number of images in word document
for(int i =1 ; i <= dones; i++)
{
shape = oword.ActiveDocument.InlineShapes[i];
shape.Select();
oword.Selection.Copy();
if (Clipboard.GetDataObject() != null)
{
IDataObject data = Clipboard.GetDataObject();
if (data.GetDataPresent(DataFormats.Bitmap))
{
System.Drawing.Bitmap image = (System.Drawing.Bitmap)data.GetData(typeof(System.Drawing.Bitmap));
image.Save(@"C:\Upload2\" + imagename, System.Drawing.Imaging.ImageFormat.Jpeg);
Clipboard.Clear();
}
}
}
}
【问题讨论】:
-
" 它确实保存了一些图像文件,但另一方面,此代码不会从 Word 文件中提取图像" - 它是否提取图像?你的问题很模糊。
-
我正在从一个文件夹中读取 word 文件并从中提取所有图像。此代码 80% 次提取所有图像,但 20% 次从文件中丢失图像。
-
是的,我只是在阅读 docx 文件。
-
如何将word文件作为zip文件处理?
-
ExtractImage(Last_File_count+"-"+Image_naming + ".jpg", Image_index);
标签: c# ms-word office-interop