dropwizard下pdf.js使用

1)今天在做pdfjs东西,从git上下载的资料,里面没有build文件夹,按照example中写的,把helloworld放到tomcat中运行,显示不出来pdf

2)git上看资料,在ubuntu下安装npm gulp工作,生成generic文件夹失败,使用sudo apt-get install nodejs npm 的版本不对,太低,只有0.10.25,因此删除

3)Sudo apt remove nodejs npm

4)使用Nodejs6的版本也不行,也低,只好使用8的版本

5)curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

6)sudo apt-get install -y nodejs

7)有时候碰到没有见到node目录 sudo ln -s /usr/bin/nodejs /usr/bin/node 解决

8)Sudo npm install -g gulp-cli  安装gulp

9)Cd pdf.js/

10) gulp generic 生成build目录

11)build下的generic放到webapps下,启动tomcat在网页中输入

192.168.11.48:8088/assets/generic/web/viewer.html ,可以看到pdf

12)pdf.js跨域访问

192.168.11.48:8088/assets/generic/web/viewer.html?file=http://192.168.11.48:8088/cggl/downloadCgglFile

192.168.11.48:8088/assets/generic/web/viewer.html?file=/cggl/downloadCgglFile/117

也就是file=后跟的是一个文件,或者流

13)说下dropwizard下为什么普通的http://8888/aa.pdf,显示不出来,报文件没有找到,其实这个和tomcatweb-inf是一回事,我们的web-inf下文件也不能访问的,怎么使用,输出文件

@GET

@Path("/downloadCgglFile/{fileId}")

    @Produces(MediaType.APPLICATION_OCTET_STREAM)

public Response downloadCgglFile(@SessionUser User user,@PathParam("fileId") long  fileId){

WzFileGain wzFileGain = wzFileGainDAO.findById(fileId);

String filePath = getAppHome()+ wzFileGain.getFilePath();

String fileName = wzFileGain.getFileName();

try {

fileName = URLEncoder.encode(wzFileGain.getFileName(), "UTF-8");

} catch (Exception e) {

e.printStackTrace();

}

return Response.ok(new File(filePath)).header("Content-Disposition", "attachment; filename="+fileName)

.build();

}

14)使用dropwizar下嵌套pdf.js,需要注意修改相对路径为绝对路径

if (typeof window !== 'undefined' && window['pdfjs-dist/build/pdf']) {

  pdfjsLib = window['pdfjs-dist/build/pdf'];

} else {

//  pdfjsLib = require('../build/pdf.js');

pdfjsLib = require('/assets/pdfview/build/pdf.js');

}

function configure(PDFJS) {

  PDFJS.imageResourcesPath = '/assets/pdfview/web/images/';

  _pdfjsLib.GlobalWorkerOptions.workerSrc = '/assets/pdfview/build/pdf.worker.js';

  PDFJS.cMapUrl = '/assets/pdfview/web/cmaps/';

  PDFJS.cMapPacked = true;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值