如何利用ASP.net在网页中打开pdf文件,但又无法让访问者下载。

伤心的小水沟 2014-10-20 10:06:48
在网页中datagrid中显示一个链接,点链接后即可在IE中打开链接的pdf文件。想通过一些手段使此pdf文件不可被访问者通过“另存为”保存在本地,请问:
1 、如何调用本地PDF阅读器打开PDF文件(或在web直接输出)?
2、如何不让访问者另存为?
...全文
555 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
伤心的小水沟 2014-10-24
  • 打赏
  • 举报
回复
引用 16 楼 matrixkey 的回复:
我们的OA中在采用“某pdf文件第一次被浏览查看时将该pdf转换成图片格式以供浏览,以后的浏览都用之前转换好的图片”的方式。效果还可以哦。
用什么方法可以将PDF转换成图片,这个的确是很好的办法,只是不会方法
伤心的小水沟 2014-10-24
  • 打赏
  • 举报
回复
引用 17 楼 sp1234 的回复:
你这个代码里,哪一行是输出文件的?
startInfo.Arguments = string.Concat(inFilename, " -o ", swfFilename); 这句不是已经将PDF转换成swf了吗? 如果说是没有输出文件的问题,我也不知道转换后的文件放到哪了 ,怎么输出。
  • 打赏
  • 举报
回复
引用 14 楼 arpaul87 的回复:
public void ConvertPdfToSwf(string inFilename, string swfFilename) { try { string flashPrinter = string.Concat(AppDomain.CurrentDomain.BaseDirectory, @"FlashPaper2.2\FlashPrinter.exe"); ProcessStartInfo startInfo = new ProcessStartInfo(flashPrinter); startInfo.Arguments = string.Concat(inFilename, " -o ", swfFilename); Process process = new Process(); process.StartInfo.CreateNoWindow = false; process.StartInfo = startInfo; process.Start(); process.WaitForExit(); process.Close(); } catch (Exception ex) { Response.Write(ex.Message); } } filePath 是PDF的物理路径 savePath 是输出swf的物理路径 先将PDF上传到服务器上,后再获取路径转换swf,但是用了上面的方法,没有输出转换后的swf文件,请问大师哪里有问题,谢谢
你这个代码里,哪一行是输出文件的?
落阳 2014-10-24
  • 打赏
  • 举报
回复
我们的OA中在采用“某pdf文件第一次被浏览查看时将该pdf转换成图片格式以供浏览,以后的浏览都用之前转换好的图片”的方式。效果还可以哦。
伤心的小水沟 2014-10-24
  • 打赏
  • 举报
回复
调用 : ConvertPdfToSwf(filePath, savePath); filePath : D:\\新建文件夹\\FileManager\\FileManager\\1.pdf savePath:D:\\新建文件夹\\FileManager\\FileManager\\1.swf
伤心的小水沟 2014-10-24
  • 打赏
  • 举报
回复
public void ConvertPdfToSwf(string inFilename, string swfFilename) { try { string flashPrinter = string.Concat(AppDomain.CurrentDomain.BaseDirectory, @"FlashPaper2.2\FlashPrinter.exe"); ProcessStartInfo startInfo = new ProcessStartInfo(flashPrinter); startInfo.Arguments = string.Concat(inFilename, " -o ", swfFilename); Process process = new Process(); process.StartInfo.CreateNoWindow = false; process.StartInfo = startInfo; process.Start(); process.WaitForExit(); process.Close(); } catch (Exception ex) { Response.Write(ex.Message); } } filePath 是PDF的物理路径 savePath 是输出swf的物理路径 先将PDF上传到服务器上,后再获取路径转换swf,但是用了上面的方法,没有输出转换后的swf文件,请问大师哪里有问题,谢谢
伤心的小水沟 2014-10-21
  • 打赏
  • 举报
回复
引用 9 楼 skyw941 的回复:
理论上,网页形式的是不可能做到的,毕竟这个是得先把资料下载到客户端才可以的
调用本地PDF阅读器怎么实现?需要下载什么第三方控件?
skyw941 2014-10-21
  • 打赏
  • 举报
回复
理论上,网页形式的是不可能做到的,毕竟这个是得先把资料下载到客户端才可以的
完美的神速 2014-10-21
  • 打赏
  • 举报
回复
http://www.cnblogs.com/wuhenke/archive/2010/08/01/1789750.html 需要你在服务器端安装Flash Paper 其实方法有很多,但是道理都是一样的,都是将pdf转换为swf,在Flashplayer中播放
伤心的小水沟 2014-10-21
  • 打赏
  • 举报
回复
引用 6 楼 Z65443344 的回复:
其实就算转成了flash,flash也是有办法弄到客户端上的 毕竟服务端必须把数据发到客户端,客户端才能看 虽然在浏览器上直接另存为是不行的,但是到IE临时文件夹里去找,还是能够找到 然后就可以用客户端本地的IE或者SWF播放器播放了
上传的时候怎么转换成flash,有哪些方法?问度娘了,没找到。
  • 打赏
  • 举报
回复
FLASH靠谱,本地都打开了。。。如何叫人家不保存。。。
  • 打赏
  • 举报
回复
我们在 silverlight 中以“书籍翻页的形式”展示 Excel、Word、Pdf 等文档,而不把文档下载到客户端。silverlight 是用来开发酷炫的游戏的,自然可以做到这些。
skyw941 2014-10-21
  • 打赏
  • 举报
回复
引用 10 楼 arpaul87 的回复:
[quote=引用 9 楼 skyw941 的回复:] 理论上,网页形式的是不可能做到的,毕竟这个是得先把资料下载到客户端才可以的
调用本地PDF阅读器怎么实现?需要下载什么第三方控件?[/quote] 我是说你要展示的内容,需要先下载到客户端。
伤心的小水沟 2014-10-20
  • 打赏
  • 举报
回复
引用 1 楼 u013756007 的回复:
你这个在上传的时候最好把pdf转为flash,然后用flash播放器播放,如果用本地pdf阅读器打开了就控制不了另存为了
服务器端安装flash播放器,让后调用吗?
1988525 2014-10-20
  • 打赏
  • 举报
回复
你这个在上传的时候最好把pdf转为flash,然后用flash播放器播放,如果用本地pdf阅读器打开了就控制不了另存为了
於黾 2014-10-20
  • 打赏
  • 举报
回复
其实就算转成了flash,flash也是有办法弄到客户端上的 毕竟服务端必须把数据发到客户端,客户端才能看 虽然在浏览器上直接另存为是不行的,但是到IE临时文件夹里去找,还是能够找到 然后就可以用客户端本地的IE或者SWF播放器播放了
伤心的小水沟 2014-10-20
  • 打赏
  • 举报
回复
谁有第三方控件可以给我发一个,谢谢啦 381005400@qq.com 或者可以告诉我如何在upload的时候转换成swf的方法,谢谢
伤心的小水沟 2014-10-20
  • 打赏
  • 举报
回复
引用 3 楼 u013756007 的回复:
[quote=引用 2 楼 arpaul87 的回复:] [quote=引用 1 楼 u013756007 的回复:] 你这个在上传的时候最好把pdf转为flash,然后用flash播放器播放,如果用本地pdf阅读器打开了就控制不了另存为了
服务器端安装flash播放器,让后调用吗?[/quote] 就是找js 的flash播放器,网上有很多,一般都是连路径后配置点参数就能播放了[/quote] 怎么调用本地的PDF阅读器打开PDF文件?
1988525 2014-10-20
  • 打赏
  • 举报
回复
引用 2 楼 arpaul87 的回复:
[quote=引用 1 楼 u013756007 的回复:] 你这个在上传的时候最好把pdf转为flash,然后用flash播放器播放,如果用本地pdf阅读器打开了就控制不了另存为了
服务器端安装flash播放器,让后调用吗?[/quote] 就是找js 的flash播放器,网上有很多,一般都是连路径后配置点参数就能播放了

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧