更换图像(删除并复制相同名称和扩展名的新图像)后,更改的.docx文件将无法打开。
我从MS Word收到的错误消息:Microsoft Office无法打开此文件,因为某些部分缺失或无效。
此方法可手动操作,解压缩,将图像添加到媒体文件夹中,重新压缩。
问题专栏:
ZipFile.CreateFromDirectory(extractpath, newDoc,CompressionLevel.Optimal, true);
由于手动方法正在运行,我认为上述行导致了问题,我做错了还是有一种首选的重新压缩方法?
完整代码:
string ImagePath = @"\word\media";
string oldImage = @"\image1.png";
string newImage = @"C:\Users\per\Desktop\ReBrander\TemplateImage\TODOJO.png";
string ep = @"C:\Users\per\Desktop\ReBrander\Current";
string newDoc = ep + @"\ImageChanged.docx";
string doc = @"C:\Users\per\Desktop\ReBrander\OldDocuments\TestDoc.docx";
string extractpath = @"C:\Users\per\Desktop\ReBrander\TmpDmp";
try
{
ZipFile.ExtractToDirectory(doc, extractpath);
string[] filePaths = Directory.GetFiles(extractpath + ImagePath);
foreach (string fp in filePaths)
{
File.Delete(fp);
}
File.Copy(newImage, extractpath + ImagePath + oldImage);
ZipFile.CreateFromDirectory(extractpath, newDoc,CompressionLevel.Optimal, true);
return true;
}
catch
{
return false;
}