首页 新闻 会员 周边 捐助

程序调用Adobe Reader打开pdf文档

0
悬赏园豆:20 [已解决问题] 解决于 2012-03-28 15:26

是这样的, 我将多个psf文档合并成一个,然后通过stream打印到页面,这些都成功了。但是当点击打印的时候,如果这个pdf文件过大的话,就会卡死(IE死掉了),打印也不会成功。
  所以,我现在的想法是,在程序中调用Adobe Reader来打开这个已经合并好了的pdf(用的是MemoryStream来存取到内存中的)文件,但是不知道怎样调用Adobe Reader? 怎样指定要打开的文件??
  请高手赐教,谢谢!!!
  (急,在线等…………)

期星揽月的主页 期星揽月 | 初学一级 | 园豆:22
提问于:2012-03-22 15:15
< >
分享
最佳答案
0

你直接輸出一個pdf文件就可以了。只要客戶端安裝有這個軟件。其實,就是直接生成一個 下載的文件,然客戶下載,客戶一下載,就用pdf程序,打開了。

收获园豆:10
無限遐想 | 老鸟四级 |园豆:3740 | 2012-03-22 15:18

客户不要下载,他从页面列表中选择它需要的pdf文件后,点击打印按钮,然后就调用它客户端的打印机批量打印他选择的文件。

期星揽月 | 园豆:22 (初学一级) | 2012-03-22 15:23

@鄂溪子: 就是  直接讓客戶打開pdf文件哦。然後自己選擇打印。

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-22 15:32

@無限遐想: 你程序是服務器端。服務器端能指定客戶端打印?

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-22 15:35

@無限遐想: 所以将文件在客户端用Adobe呈现,然后使用Adobe上的打印功能来实现打印。

期星揽月 | 园豆:22 (初学一级) | 2012-03-22 16:04

@鄂溪子: 我說的 就是這樣實現哦。其實,就是一個pdf的報表哦。我們都實現過哦。

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-22 19:42

@無限遐想: 你们实现过? 那可不可以给我讲讲你们是怎么实现的呢?

期星揽月 | 园豆:22 (初学一级) | 2012-03-22 22:30

@鄂溪子: 錯了。我們 也是 輸出一個pdf的報表,就像下載一樣,可以選擇打開 或則保存。

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-23 09:36

@無限遐想:         string fileName = this.Title + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".pdf";
                //下載報表
                Response.ClearHeaders();
                Response.Clear();
                Response.Expires = 0;
                Response.Buffer = true;
                Response.AddHeader("Accept-Language", currentCulture);
                string tmp = "attachment;filename=" + System.Web.HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(fileName));
                Response.AddHeader("content-disposition", tmp);
                Response.ContentType = "Application/pdf";

                ms = (System.IO.MemoryStream)rptDoc.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
                byte[] theData = ms.ToArray();
                Response.BinaryWrite(theData);
                ms.Close();
                ms.Dispose();
                Response.Flush();
                Response.Close();

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-23 09:39
其他回答(2)
0

开进程调用

李永京 | 园豆:3114 (老鸟四级) | 2012-03-22 15:30

问题是,开进程调用,要打开的不是一个文件 ,而是一个文件流。

支持(0) 反对(0) 期星揽月 | 园豆:22 (初学一级) | 2012-03-22 16:05

@鄂溪子: 保存临时文件也行啊

支持(0) 反对(0) 李永京 | 园豆:3114 (老鸟四级) | 2012-03-22 17:36
0

process进程直接打印,只要按了Adobe Reader,就会自动打开,我就是这么干的。

收获园豆:10
.NET快速开发框架 | 园豆:946 (小虾三级) | 2012-03-27 17:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册