通过pdf的url在线浏览pdf
通过java controller将pdf下载到web系统中
package com.example.getorder.Controller;import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import sun.misc.BASE64Decoder;import javax.servlet.http.HttpServletRequest;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;@Controller
@RequestMapping("text")
public class TestController {@ResponseBody@RequestMapping("test")public String getStream(String uri,HttpServletRequest request) {try {String savePath= downLoadFromUrl(request,uri);return savePath;}catch (Exception e){e.printStackTrace();}return "";}/*** 从网络Url中下载文件* @param urlStr* @throws IOException*/public static String downLoadFromUrl(HttpServletRequest request, String urlStr) throws IOException{URL url = new URL(urlStr);HttpURLConnection conn = (HttpURLConnection)url.openConnection();//设置超时间为3秒conn.setConnectTimeout(3*1000);//防止屏蔽程序抓取而返回403错误conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");//得到输入流InputStream inputStream = conn.getInputStream();//获取自己数组byte[] getData = readInputStream(inputStream);String basePath="/WEB-INF/pdfjs/web";String path = request.getSession().getServletContext().getRealPath(basePath);// String savePath=TestController.class.getClassLoader().getResource("").getPath();//文件保存位置File saveDir = new File(path);if(!saveDir.exists()){saveDir.mkdir();}File file = new File(saveDir+File.separator+"dingdan.pdf");FileOutputStream fos = new FileOutputStream(file);fos.write(getData);if(fos!=null){fos.close();}if(inputStream!=null){inputStream.close();}return path+"dingdan.pdf";// System.out.println("info:"+url+" download success");}/*** 从输入流中获取字节数组* @param inputStream* @return* @throws IOException*/public static byte[] readInputStream(InputStream inputStream) throws IOException {byte[] buffer = new byte[1024];int len = 0;ByteArrayOutputStream bos = new ByteArrayOutputStream();while((len = inputStream.read(buffer)) != -1) {bos.write(buffer, 0, len);}bos.close();return bos.toByteArray();}}
再用pdf.js将下载到本地的pdf文件打开 。用
<a href="#" οnclick="window.open('<%=basePath%>pdfjs/web/viewer.html?file=/pdfjs/web/dingdan.pdf','PDF','width:50%;height:50%;top:100;left:100;');">查看pdf</a> 即可
通过pdf的url在线浏览pdf相关推荐
- 前端使用pdf.js插件在线浏览pdf
vue中使用PDF.js_没理由的花呗的博客-CSDN博客_pdf.js vue 步骤 1.官网下载pdf.js插件放入一个公用方法文件夹中如utils 2.在需要使用的页面使用iframe标签 &l ...
- 微信公众号或者浏览器实现在线浏览pdf文件
微信公众号或者浏览器实现在线浏览pdf文件 实现在线浏览pdf文件方法 开发步骤: 实现在线浏览pdf文件方法 我们在日常的开发当中经常需要实现pdf文件的显示,最近做了一个在微信公众号中实现pdf浏 ...
- 网站开发之ie下在线浏览pdf文件无需本地支持
1.首先,务必通过后面给的链接了解一些可实现的方法:打开链接. 2.个人选择了PDFObject+PDF.js来实现,这里需要下载pdfobject.js和PDF.js.对于pdfobject.js, ...
- IE上在线浏览PDF
工作中遇到在IE中,在线显示PDF的需求,项目采用的是SpringMvc. 这里有二种情况,一是在jsp中显示pdf,还有一种就是html中显示PDF.运用所遇到的问题是在html中显示PDF,针对I ...
- Word转PDF及SWF在线浏览——Flash Paper
http://flexpaper.devaldi.com/?ref=FlexPaper 之前在项目中研究使用了一套word转PDF,然后将PDF转成SWF的方法,最终实现SWF的在线浏览.自己还有些洋 ...
- PDF文档在线浏览防下载加密方案
PDF文档在线浏览防下载加密方案 (在线浏览防下载,文件不落地.禁止打印.禁止另存.禁止文字复制.动态添加防截图水印) 本方案针对PDF文档在线浏览的版权保护. 其突出特点表现在: 在线浏览防下载,文 ...
- 8个实现在线浏览PDF文件的实用jQuery插件
在web开发当中我们经常需要进行需要在线浏览PDf内容,在线嵌入动态pdf,传统的解决方法安装客户端PDF阅读器,如果是在谷歌是可以在线浏览的,因为他自身就带了一些插件,以前遇到这样的问题往往是费时又 ...
- 如何破解PDF文件密码(在线破解PDF密码)
如何破解PDF文件密码(在线破解PDF密码) fcwgw.5d6d.com 整理:凌空飞度社区 每当毕业临近的时候,毕业生都会忙着写论文,每逢此时,Adobe Reader就是最忙的了,但是有时候遇到 ...
- pdf.js 在线浏览pdf组件构建与安装注意事项
为什么80%的码农都做不了架构师?>>> 1.简介 PDF.js 是基于开放的 HTML5 及 JavaScript 技术实现的开源产品. pdf.js 是一个主要用于HTML ...
最新文章
- REM——适合移动开发的自适应方案
- STM32的调试方式、更新程序、仿真以及补救措施
- OO实现ALV TABLE 十:ALV的页眉页脚
- mysql128位整数_mysql的数据类型
- linux内核镜像解压,解压内核镜像
- 【转】什么是staging server
- html设计动画小黄人,CSS3实现可爱的小黄人动画
- 数据结构与算法:企业级链表实现(超详细)
- 解决js array的key不为数字时获取长度的问题
- php简介的编辑器,推荐几款功能强大的PHP编辑器
- linux系统yum提示注册,Linux:redhat6.5使用yum时提示需要注册问题解决方案
- ATN项目(智能矩阵Atmatrix)是否能做到人工智能界的桥梁,从而改变世界?
- 计算机图形学---纹理及纹理隐射
- 期货交易结算信息(期货结算系统)
- 首席新媒体黎想教程:活动形式和用户吸引逻辑!
- 漂流瓶php源码,微信小程序之仿微信漂流瓶
- unknown filesystem解决方案
- IT及计算机相关网站 列表
- mysql中何时需要引号,何时在MySQL中使用单引号,双引号和反勾号
- 求含有阶乘的不等式c语言,证明含有双阶乘的不等式
热门文章
- erlang与rabbitmq下载(Window)
- systemd 服务使用
- 几周以来在学习和生活中的总结
- 二氧化硅纳米微球光子晶体乳液聚合聚苯乙烯核壳结构/中空二氧化硅/钛纳米微球的制备方法
- Linux文件系统管理-常用命令df\du\fsck\dumpe2fs
- Axure绘制左侧菜单
- 进阶篇:2)DFMA方法的运用
- 直击六大会场 | 洞察100+创新实践,2018TOP100summit圆满落幕!
- 请简述独占设备的分配过程。
- 论文阅读-MLPD:Multi-Label Pedestrian Detector in Multispectral Domain(海康威视研究院实习项目)