首页 > 其他分享 >pdfbox按页数拆分PDF文件

pdfbox按页数拆分PDF文件

时间:2023-07-26 18:23:24浏览次数:31  
标签:文件 sourcePath 页数 拆分 path PDF pdfbox

工具类————pdfbox

pom.xml引入依赖

(choose version) 参考 https://mvnrepository.com/

点击查看代码
        <dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>pdfbox</artifactId>
            <version>3.0.0-RC1</version>
        </dependency>

代码示例

点击查看代码
    /**
     * 拆分PDF
     */
    public void splitPdf(String sourcePath) {
        Path path = Paths.get(sourcePath);
        try {
            if (!Files.exists(path) || Files.size(path) == 0) {
                log.error("路径: {} 不存在文件", sourcePath);
                return;
            }
            // 根据页数拆分PDF文件
            try (PDDocument document = Loader.loadPDF(new File(sourcePath))) {
                int i = 0;
                for (PDPage page : document.getPages()) {
                    try (PDDocument pdDocument = new PDDocument()) {
                        pdDocument.addPage(page);
                        pdDocument.save(getFilename(i));
                    }
                    i++;
                }
            }
        } catch (IOException e) {
            log.error("拆分PDF文件失败, path = {}", sourcePath, e);
        }
    }

    private String getFilename(int i) {
        return String.format("C:\\Users\\Administrator\\Downloads\\_%s.pdf", i);
    }

3.0.0-beta1版本在使用中,拆分的第一页PDF文件为空白内容,请勿使用该版本,当前测试时间2023年7月26日

点击查看代码
<!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox -->
<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>3.0.0-beta1</version>
</dependency>

标签:文件,sourcePath,页数,拆分,path,PDF,pdfbox
From: https://www.cnblogs.com/ashet/p/17583249.html

相关文章

  • 使用php调用python文件,执行切割pdf文件
    应用场景,使用php执行python文件,进行pdf文件切割代码如下:publicfunctionslicePdf(Request$request){//要传递给Python脚本的参数$inputPath="input.pdf";//需要切割的文件目录$outputPath="output.pdf";//切割完成以后得新文件......
  • pandoc: pdflatex: createProcess: posix_spawnp: illegal operation
    RuntimeError:Pandocdiedwithexitcode"1"duringconversion:pandoc:pdflatex:createProcess:posix_spawnp:illegaloperation(Inappropriateioctlfordevice)报错原因这个报错原因可能是由于Pandoc在进行转换时尝试调用pdflatex命令时出错。在某些PDF转换过......
  • 使用itext生成PDF表格报表
    使用iText生成PDF表格形式报表1、引用JAR包<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13.3</version></dependency> itext5是开源的,可以免费使用2、开始创建PDFpackagecom.example......
  • 【专题】2022年中国企业数字化学习行业研究报告PDF合集分享(附原数据表)
    报告链接:http://tecdat.cn/?p=32263原文出处:拓端数据公众号多变,不确定性,复杂,模糊不清的新业务图景,加快了公司人才发展模式的数字化转变;疫情冲击离线运输与公司现金流量,消费者支出减少,机构表现受压,数字化学习突破;行业数字化水平不断提高,商业体系和学习体系之间的关联性不断加强,企......
  • 【专题】2023新能源电池材料发展概览报告PDF合集分享(附原数据表)
    全文链接:http://tecdat.cn/?p=33303原文出处:拓端数据部落公众号《新能源电池材料发展概览报告合集》综合分析了电池下游应用场景以及当前材料体系所面临的问题,重点关注了光伏、储能和氢能领域的电池产品,预测了相关电池材料体系的发展趋势和投资价值。报告合集涵盖了光伏HJT电池......
  • 最好的PDF文本编辑开发库
     PDF文件是一种常见的文档格式,它具有跨平台、保持原样、安全性高等特点。但是,PDF文件也有一个缺点,就是不可编辑。如果我们想要修改PDF文件中的内容,比如文字、图片、表格等,就会很麻烦,需要转档为Word等其他可编辑的文档进行编辑后再转为PDF文件。为了解决这个问题,使我们工作中能够......
  • pdf 等所有文件通过blog强制下载函数 downloadFileFromBlobByToken
    downloadFileFromBlobByTokenpdf等所有文件通过blog强制下载函数downloadFileFromBlobByTokenimport{getToken}from'@/libs/util'exportconstdownloadFile=src=>{console.log(src)letiframe=document.createElement('iframe')iframe.sr......
  • js直接下载PDF
    1、前端引入js <scripttype="text/javascript"src="${pageContext.request.contextPath}/modules/util/downDoc/html2pdf.js"></script>2、js方法html定义div$("#downPrint").click(function(){exportPdf();}......
  • Linux 查看office文件及pdf文件
    1.查看pdf文件evincePdfFile_name查看office文件openoffice.org文件名&//打开或者编辑.doc.odt等文本文档命令openoffice.org-a文件名.doc&//打开演示文件命令openoffice.org-g文件名....&//打开电子表格:openoffice.org-c文件名&sofficefile_na......
  • 设计模式:可复用面向对象软件的基础 pdf电子书分享
    《设计模式:可复用面向对象软件的基础》是引导读者走出软件设计迷宫的指路明灯,凝聚了软件开发界几十年设计经验的结晶。四位顶尖的面向对象领域专家精心选取了最具价值的设计实践,加以分类整理和命名,并用简洁而易于重用的形式表达出来。本书已经成为软件开发人员的圣经和词典,书中定......