首页 新闻 赞助 找找看

net mvc3 里面怎么使用粘贴板对象Clipboard.GetDataObject()

0
悬赏园豆:20 [已关闭问题] 关闭于 2013-07-05 14:52

最经做一个项目,需要将PDF文件的每一页切割成图片显示在页面上。其中就使用到了Acrobat;

大概的方法是使用acrobat获取PDF图片,然后将图片保存到粘贴板中,再从粘贴板中取出图片,这个过程在winform里面是可以的,但是移到web上面就不可以了,主要的问题就是获取不到粘贴板的内容。主要代码如下:

 

      //获取PDF文件的页数
            result[0] = pdfDoc.GetNumPages().ToString();
            //取出对应页数               
            pdfPage = (Acrobat.CAcroPDPage)pdfDoc.AcquirePage(pageNum);
            //3)               
            //得到当前页的大小                 
            pdfPoint = (Acrobat.CAcroPoint)pdfPage.GetSize();
            //生成一个页的裁剪区矩形对象                  
            pdfRect = (Acrobat.CAcroRect)Microsoft.VisualBasic.Interaction.CreateObject("AcroExch.Rect", "");
            //计算当前页经缩放后的实际宽度和高度,zoom==1时,保持原比例大小                  
            int imgWidth = (int)((double)pdfPoint.x * 1);
            int imgHeight = (int)((double)pdfPoint.y * 1);
            //设置裁剪矩形的大小为当前页的大小                 
            pdfRect.Left = 0;
            pdfRect.right = (short)imgWidth;
            pdfRect.Top = 0;
            pdfRect.bottom = (short)imgHeight;
           
            //4)               
            //将当前页的裁剪区的内容编成图片后复制到剪贴板中 
            pdfPage.CopyToClipboard(pdfRect, 0, 0, (short)(100 * 1));
            
            //5)               
            IDataObject clipboardData = Clipboard.GetDataObject();//粘贴板对象             //这里获取到的clipboardData为空
            //检查剪贴板中的对象是否是图片,如果是图片则将其保存为指定格式的图片文件                 
            if (clipboardData.GetDataPresent(DataFormats.Bitmap))
            {

 

因为上面粘贴板获取为空,所以无法执行下面的语句了。。。怎么解决?

听雨读诗的主页 听雨读诗 | 初学一级 | 园豆:47
提问于:2013-06-04 10:35
< >
分享
所有回答(3)
0

朋友,请问你这个问题解决了没?我也遇到这个问题,求大神指导、、、、

111寒风 | 园豆:202 (菜鸟二级) | 2013-12-23 20:19
0

遇到相同的问题。请问有没有解决此问题?

宇宙骑士D-Boy | 园豆:202 (菜鸟二级) | 2014-08-26 15:37
0

<%@ Page Language="C#" AspCompat="true"

完美解决,也可以设置线程属性解决

thread.SetApartmentState( ApartmentState.STA);

未来帅哥 | 园豆:159 (初学一级) | 2014-09-05 17:34

very good

支持(2) 反对(0) "Memory. | 园豆:206 (菜鸟二级) | 2015-06-05 16:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册