使用OpenXML生成Word文档缩略图遇无效JPG及需取首页问题
Word文档第一页缩略图生成问题
我编写了如下代码,用于将Word文档(.docx)生成缩略图并以Base64字符串形式返回,但存在两个问题:
- 生成的结果并非有效的.jpg文件
- 无法仅提取文档的第一页作为缩略图
我认为OpenXML比Spire.doc更可靠,尝试的代码如下:
public string ExtractWordThumbnail(string wordFileBase64, string FileName) { var outString = ""; // Open the Word document byte[] byteArray = Convert.FromBase64String(wordFileBase64); using (MemoryStream stream = new MemoryStream()) { // Use decoded array as stream stream.Write(byteArray, 0, byteArray.Length); stream.Position = 0; using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(stream, true)) { if (wordDoc.ThumbnailPart == null) { // Add a new thumbnail part (JPEG in this case) var tPart = wordDoc.AddThumbnailPart(DocumentFormat.OpenXml.Packaging.ThumbnailPartType.Jpeg); // Feed the image data into the thumbnail part tPart.FeedData(stream); } var thumbStream = new MemoryStream(); wordDoc.ThumbnailPart.GetStream().CopyTo(thumbStream); byte[] thumbBytes = thumbStream.ToArray(); outString = Convert.ToBase64String(thumbBytes); } } return outString; }
内容的提问来源于stack exchange,提问作者Gerard Lanphear
相关产品推荐
相关产品推荐

