使用PDF.JS在线预览PDF文件

      最近项目用到PDF文件在线预览功能,博主在网上搜寻一番决定使用PDF.js插件。首先需要引入插件库,根据个人所需下载版本,博主使用的是v1.9.426版本。

PDF.js插件下载地址:http://mozilla.github.io/pdf.js/

1、博主使用的是spring-boot项目,其他的也类似。引入文件后目录结构如下:

使用PDF.JS在线预览PDF文件_第1张图片

2、index.html内容如下:

html>
lang="en">

    charset="UTF-8">
    </span>Title<span style="color:#e8bf6a;">



οnclick="detail()">点击查看PDF文件

说明一下:要在线预览PDF文件,需要使用自带的viewer.html显示。PDF文件的读取可以放到后台。

3、DemoController.java文件内容如下:

package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;

@Controller
public class DemoController {
    @RequestMapping("/index")
    public String index(){
        return "index";
    }
    @RequestMapping(value = "/preview", method = RequestMethod.GET)
    public void pdfStreamHandler(HttpServletRequest request, HttpServletResponse response) {

        File file = new File("c:/test.pdf");
        if (file.exists()){
            byte[] data = null;
            try {
                FileInputStream input = new FileInputStream(file);
                data = new byte[input.available()];
                input.read(data);
                response.getOutputStream().write(data);
                input.close();
            } catch (Exception e) {
                System.out.println("pdf文件处理异常:" + e);
            }

        }else{
            return;
        }
    }
}

4、启动DemoApplication。

5、访问localhost:8080/index

使用PDF.JS在线预览PDF文件_第2张图片

6、点击文字。

使用PDF.JS在线预览PDF文件_第3张图片

7、OK,预览成功。

下面说博主遇到的问题。

问题一:怎么隐藏右上角的打印、下载功能。

1、首先需要在viewer.properties文件中搜索“下载”。找到对应的英文名

使用PDF.JS在线预览PDF文件_第4张图片2、然后在viewer.html文件中搜索下载对应的英文download_label,此时会找到两个对应的button。都关闭或者关闭如下的都有效果。

3、在button中加入style样式隐藏按钮 ,代码   style="visibility:hidden"。加入后代码如下

4、再次访问对比

不加代码前,右上角会有下载按钮


加入代码后,右上角下载按钮隐藏。


5、隐藏完成。打印功能类同。

你可能感兴趣的:(插件)