网络PDF文件转图片并通过nginx代理预览

一、网络PDF转图片

javascript 复制代码
/**
     * @param pdfOss      原文件
     * @param desFilePath 生成图片的路径
     * @param desFileName 生成图片的名称(多页文档时会变成:名称+下划线+从1开始的数字)
     * @param imageType   图片类型
     * @return
     */
    public static Pair<Boolean, Object> pdfToImage(String pdfOss, String desFilePath, String desFileName, String imageType) {
        File destination = new File(desFilePath);
        if (!destination.exists()) {
            destination.mkdirs();
        }
        try {
            URL url = new URL(pdfOss);
            PDDocument document = PDDocument.load(url.openStream());
            PDFRenderer pdfRenderer = new PDFRenderer(document);
            //获取PDF文档的页数
            int pageCount = document.getNumberOfPages();
            System.out.println("文档一共" + pageCount + "页");
            List<String> fileList = new ArrayList<>();
            for (int i = 0; i < pageCount; i++) {
                //只有一页的时候文件名为传入的文件名,大于一页的文件名为:文件名_自增加数字(从1开始)
                String realFileName = pageCount > 1 ? desFileName + "_" + (i + 1) : desFileName;
                //每一页通过分辨率和颜色值进行转化
                BufferedImage bufferedImage = pdfRenderer.renderImageWithDPI(i, 400, ImageType.RGB);
                String filePath = desFilePath + File.separator + realFileName + "." + imageType;
                //写入文件
                ImageIO.write(bufferedImage, imageType, new File(filePath));
                String shortPath = "/pdf2img/"+ realFileName + "." + imageType;
                //文件名存入list
                fileList.add(shortPath);
            }
            return Pair.of(true, fileList);
        } catch (Exception e) {
            e.printStackTrace();
            return Pair.of(false, "PDF转化图片异常");
        }
    }

二、配置nginx预览

相关推荐
YUNYINGXIA12 小时前
Nginx+keepalived主从,双主架构
网络·nginx·keepalived
Hello.Reader13 小时前
NGINX 四层共享内存区同步模块实战 `ngx_stream_zone_sync_module`
运维·nginx
北城笑笑13 小时前
Server 11 ,⭐通过脚本在全新 Ubuntu 系统中安装 Nginx 环境,安装到指定目录( 脚本安装Nginx )
linux·运维·前端·nginx·ubuntu
qq_3938282214 小时前
PDF超强无损压缩
pdf·软件需求
jarenyVO15 小时前
Nginx全面深入学习目录
运维·学习·nginx
笨手笨脚の17 小时前
Nginx-2 详解处理 Http 请求
运维·网络协议·nginx·http
苹果醋318 小时前
SpringCloud Alibaba场景实践(Nacos篇)
java·运维·spring boot·mysql·nginx
Hello.Reader1 天前
NGINX 四层上游模块`ngx_stream_upstream_module` 实战指南
运维·nginx
hie988941 天前
[nginx]反向代理grpc
运维·nginx·iphone
haiyangyiba1 天前
Qoppa Software提供的15款PDF产品组件科学学习
pdf·qoppa·jofficeconvert·jpdfprocess·jpdfeditor