请假超级高手,我利用c# opemxml向word中插入图片为什么不成功

问题描述

publicstaticvoidInsertAPicture(stringdocument,stringfileName){using(WordprocessingDocumentwordprocessingDocument=WordprocessingDocument.Open(document,true)){MainDocumentPartmainPart=wordprocessingDocument.MainDocumentPart;ImagePartimagePart=mainPart.AddImagePart(ImagePartType.Jpeg);using(FileStreamstream=newFileStream(fileName,FileMode.Open)){imagePart.FeedData(stream);}AddImageToBody(wordprocessingDocument,mainPart.GetIdOfPart(imagePart));}}privatestaticvoidAddImageToBody(WordprocessingDocumentwordDoc,stringrelationshipId){//Definethereferenceoftheimage.varelement=newdrawing(newDW.Inline(newDW.Extent(){Cx=990000L,Cy=792000L},newDW.EffectExtent(){LeftEdge=0L,TopEdge=0L,RightEdge=0L,BottomEdge=0L},newDW.DocProperties(){Id=(UInt32Value)1U,Name="Picture1"},newDW.NonVisualGraphicFrameDrawingProperties(newA.GraphicFrameLocks(){NoChangeAspect=true}),newA.Graphic(newA.GraphicData(newPIC.Picture(newPIC.NonVisualPictureProperties(newPIC.NonVisualDrawingProperties(){Id=(UInt32Value)0U,Name="NewBitmapImage.jpg"},newPIC.NonVisualPictureDrawingProperties()),newPIC.BlipFill(newA.Blip(newA.BlipExtensionList(newA.BlipExtension(){Uri="{28A0092B-C50C-407E-A947-70E740481C1C}"})){Embed=relationshipId,CompressionState=A.BlipCompressionValues.Print},newA.Stretch(newA.FillRectangle())),newPIC.ShapeProperties(newA.Transform2D(newA.Offset(){X=0L,Y=0L},newA.Extents(){Cx=990000L,Cy=792000L}),newA.PresetGeometry(newA.AdjustValueList()){Preset=A.ShapeTypeValues.Rectangle}))){Uri="http://schemas.openxmlformats.org/drawingml/2006/picture"})){DistanceFromTop=(UInt32Value)0U,DistanceFromBottom=(UInt32Value)0U,DistanceFromLeft=(UInt32Value)0U,DistanceFromRight=(UInt32Value)0U,EditId="50D07946"});//Appendthereferencetobody,theelementshouldbeinaRun.wordDoc.MainDocumentPart.Document.Body.AppendChild(newParagraph(newRun(element)));}privatevoidbutton1_Click(objectsender,EventArgse){stringdocument=@"f:实验.docx";stringfilename=@"f:实验.jpg";InsertAPicture(document,filename);MessageBox.Show("运行完毕");}以上代码基本是照抄msdn上的帮助的,为什么我通过此方式向word插入图片后,word打开出现错误呢?请高手们赐教!

解决方案

解决方案二:
代码太多没仔细看,是不是对word版本或文字编码格式有要求?或者是图片格式有限制?你抄代码时有现成的demo吗,先跑一遍

时间: 2024-09-15 22:43:35

请假超级高手,我利用c# opemxml向word中插入图片为什么不成功的相关文章

js 利用层实现在textarea中插入图片

<html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>利用层实现在textarea表单中插入图片</title> <script language="javascript教程" type="text/javascript"> /*  功能:利用层实现在textarea中插入图

怎样利用Excel2013截图工具在文档中插入图片

将屏幕截图插入到Excel2013中的方法很多,很多人肯定都是用QQ截图将图片截取下来,然后再将图片插入进去.其实我们要来介绍的是一种更加简单快速的方法. ①启动Excel2013,单击菜单栏--插入--插图--屏幕截图. 文档中插入图片-如何利用画图工具截图"> ②然后在下拉菜单中选择屏幕剪辑. ③这时会自动跳转到桌面,我们开始截图. ④截取完毕,图片自动插入到Excel2013中了.而且相比QQ截图,这样截图不会改变原有图片的像素.         注:更多精彩教程请关注三联电脑教程栏

利用金山词霸字库在Word中输入英语音标

朋友们常常需要在Word文字编辑中输入英语的音标,但不知从哪里才能找到它们. 在系统默认的字体中是找不到音标的.建议你安装金山词霸,或者将金山词霸的安装盘中的\\Xdict\\ksphonet.ttf文件安装到系统中:之后在Word 中选择"插入→符号"打开"符号"对话框,在字体项里选"Kingsoft Phonetic Plain",就可在下面的列表中发现需要的音标符号.

利用epplus在EXCEL中插入图片如何让其不随单元格变化而变化

问题描述 我在,NET程序中运用epplus向excel中插入图片,但图片所在行的单元格的高度发生变化,比如单元格变高了,那么刚插入图片也会被撑大.如果运用Office的API做的话,会有个属性设置,能让图片不随单元格的变化而改变大小,但是epplus中没有类似的属性设置,请问各位技术大拿,如何解决此类问题?谢谢! 解决方案 解决方案二:那个epplus怎么样加坐标轴标题?

利用ISAPI实现向数据库中添加记录

本文介绍了用HTML(HypertextMakeupLanguage)编写界面.编写ISAPI(InternetServerApplicationProgrammingInterface)交互程序以实现向用MicrosoftSQLServer建立的数据库中添加记录的方法. 1.前言 MicrosoftSQLServer是一种可伸缩的.高性能的关系型数据库管理系统(RDBMS),它专为分布式客户机-服务器计算环境而设计.它的内置数据复制功能.强大的管理工具和开放式的系统体系结构为发布信息提供了一个

利用DataSet存取SQL Server中的二进制文件

server|二进制 利用DataSet存取SQL Server中的二进制文件 作者 朱二 利用DataSet可以方便的对SQL Server中的二进制文件进行存取与更新操作,下面是详细的代码演示 演示环境: 数据库机器名 :s_test登陆名 :sa密码 :7890数据库名 db_test 下面建立一个表: create table tb_test(id int identity(1,1),photo image ,constraint pk_tb_test primary key(id))

如何在Access中插入超级链接

要向数据库中添加超级链接,要经过两个步骤,一是在表中定义字段类型为"超级链接",一是向此字段中添加数据. 要在表中定义字段类型为"超级链接",可以按下面的步骤操作: (1)打开数据库,选择要在"数据库"窗口中包含超级链接字段的表,单击"设计"按钮,进入设置窗口: 列表框"> (2)将光标移到"字段名称"栏中的一个空白单元格上,输入字段名"网址": (3)按"Ta

SharePoint自动化部署:如何利用PowerShell 导出/导入AD中的用户

这几个月一直在帮客户改需求,部署.我已经心力憔悴,经过一段时间的摸索,我对用PowerShell实现自动化部署也有了一些心得,比如说利用PowerShell导出导入AD中的User.在基于SharePoint平台开发时,利用AD来进行人员的管理,一般会建组织单元(OrganizationalUnit)来对用户进行管理.当最终部署到客户的服务器上时,怎样把本地AD中的用户数据同步到服务器上呢,要知道如果手动输入人员是一件麻烦的事.幸运的事,PowerShell可以帮我们解决这个麻烦的问题. 导出A

SharePoint下利用DocX组件导出Word

平常开发时,或多或少都需要和Word打交道,特变是编辑.导出Word. 利用DocX,开源的读写Word组件,可以快速帮助我们进行对Word的操作. DocX官方网站:http://docx.codeplex.com/ DocX主要功能 在文档中(Word)插入,删除或者替换文本,支持所有的标准文本格式,如字体{Family,Size,Color},出体,斜体.下划线.高亮等. 提供段落属性,你可以设置其对其方向,如从左到右,居中对齐等. DocX同样支持对图片的操作.超链接.表格.页首.页眉等