网络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预览

相关推荐
追风少年王大爷丶2 小时前
nginx 配置无域名访问拒绝
运维·服务器·nginx
SEO-狼术4 小时前
Improve Navigation with In-Cell Hyperlinks
python·pdf
态态态4 小时前
平板PDF充足笔记空间的最优解
笔记·pdf
额1298 小时前
UBUNTU中nginx反向代理(负载均衡)
nginx·ubuntu·负载均衡
开开心心就好9 小时前
电子教材下载工具,支持多链接批量下载
windows·随机森林·计算机视觉·pdf·计算机外设·逻辑回归·excel
rosmis10 小时前
自动化文献检索与下载工作流 (Phase 3 逻辑树)
python·pdf·自动化
南风微微吹10 小时前
考研数学一、二、三历年真题及答案解析PDF电子版(1987-2026年)
考研·pdf
南风微微吹11 小时前
2009-2025年英语专业四级历年真题及答案解析电子版PDF(专四)
pdf·英语专业四级
秦渝兴11 小时前
用 Docker Compose 一键部署高可用集群(MySQL + Tomcat + Nginx)
运维·mysql·nginx·docker·容器·tomcat
weixin_4462608511 小时前
OpenDataLoader PDF - 高效的PDF解析器,让AI更轻松获取数据!
人工智能·pdf