求助一个关于asp.netWord加水印的问题 5C
                                if ( extentionName == "doc" || extentionName == "docx")
                                {
                                    //新建一个word文档对象,加载待添加水印的word文档
                                    Document doc = new Document();
                                    doc.LoadFromFile(Server.MapPath("/UploadFile/DescriptionWE/" + setname));
                                    //新建一个图片水印对象并添加待设置为水印的图片
                                    PictureWatermark picture = new PictureWatermark();
                                    picture.Picture = System.Drawing.Image.FromFile(Server.MapPath("/skin/images/water.png"));
                                    //根据需要设置图片的大小,然后将其设置为文档的水印
                                    picture.Scaling = 80;
                                    doc.Watermark = picture;
                                    //保存文本
                                    doc.SaveToFile(Server.MapPath("~/UploadFile/DescriptionWE/") + PFDname);
                                    doc.Close();
                                    if (IsEdit)
                                    {
                                        if (!string.IsNullOrEmpty(Article.FileUpload))
                                        {
                                            DeleteFileHelp.DeleteFile("~/UploadFile/DescriptionWE/" + Article.FileUpload);
                                        }
                                    }
                                    Article.FileUpload = PFDname;
                                }

上面是我asp.netWord加水印的代码,走到PictureWatermark picture = new PictureWatermark();就停止了,是不是System.Drawing.Image.FromFile()里面我的路径写错了,请各位帮忙指正下,感谢

6个回答

string s = Server.MapPath("/skin/images/water.png");
然后输出下s或者下断点,看下s的值是多少。

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复weixin_41325924: if进不去?还是Image.FromFile后面没有执行?你外面有try catch么?
一年多之前 回复
weixin_41325924
weixin_41325924 值没问题,路径也对,就是进不去这段代码
一年多之前 回复

图片说明走到这里就停了

用try{。。。}catch{。。。}将代码异常处理下。很快就能捕获异常的。

weixin_41325924
weixin_41325924 调试了,报picture.Picture = “picture.Picture”引发了类型“System.NullReferenceExcepti这个错,好汉知道是为何吗
一年多之前 回复

调试了,报picture.Picture = “picture.Picture”引发了类型“System.NullReferenceExcepti这个错。
说明picture.Picture = System.Drawing.Image.FromFile(Server.MapPath("/skin/images/water.png"));没有获取到图片
Server.MapPath("/skin/images/water.png") 为null。

weixin_41325924
weixin_41325924 大神帮帮忙啊,急!!这几个月才开始学.net的有一些还是不是很懂
一年多之前 回复

Server.MapPath("/skin/images/water.png") Response.Write(setimg)出来的路径是:F:\0808\SDWeb\SDWeb\skin\images\water.png,没错,但是还是一直获取不到图片,继续调试发现是picture里面出了问题
图片说明,请教下,这个错是什么原因导致的

weixin_41325924
weixin_41325924 文件是存在的,水印我发现也在word上了,但是图片显示不出来
一年多之前 回复
qq_23126581
渊渟无迹静涛君 你先判断断下文件是否存在。File
一年多之前 回复

文件是存在的,水印我发现也在word上了,但是图片显示不出来
图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问