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()里面我的路径写错了,请各位帮忙指正下,感谢
string s = Server.MapPath("/skin/images/water.png");
然后输出下s或者下断点,看下s的值是多少。
走到这里就停了
用try{。。。}catch{。。。}将代码异常处理下。很快就能捕获异常的。
调试了,报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。
Server.MapPath("/skin/images/water.png") Response.Write(setimg)出来的路径是:F:\0808\SDWeb\SDWeb\skin\images\water.png,没错,但是还是一直获取不到图片,继续调试发现是picture里面出了问题,请教下,这个错是什么原因导致的
文件是存在的,水印我发现也在word上了,但是图片显示不出来