有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java重命名从单个小册子PDF中按正确顺序提取的PDF页面文件

我有大量的小册子格式的PDF文件

例如

假设一个小册子pdf文件有24页,每页包含两页,分别为左右两侧

第一页左侧有第48页,右侧有第1页 第二页左侧有第二页,右侧有第47页 第三页左侧为第46页,右侧为第3页

我已经垂直剪切了Booket PDF文件,在单独的文件夹中使用批量操作来分离单独的PDF文件

例如,在上述情况下,剪切的PDF文件如下所示

第一个pdf文件-第48页 第二个pdf文件-第1页 第3个pdf文件-第2页 第4个pdf文件-第47页 第5个pdf文件-第46页 第6个pdf文件-第3页

其他PDF文件也是如此。。。。如果一个PDF文件有95页

第一页左侧有第95页,右侧有第1页

现在的问题是如何重命名和正确排列每个PDF文件的顺序中的文件,以便我们可以合并PDF文件作为一个最终为每个PDF文件

按照上述文件的正确顺序正确重命名后

第一个pdf文件应指向第1页 第二个pdf文件应指向第二页 第三个pdf文件应指向第三页

问题是我们计划拆分的所有PDF文件都有不同的页面集。。范例

PDF1文件-如上所述,共有48页->;文件应重命名并按1、2、3、4排列。。。48正确 PDF2文件-有96页->;文件应重命名并排列为1、2、3、4。。。。。96对 PDF3文件-有56页->;文件应重命名并排列为1、2、3、4。。。。。56正确

有人能帮我一个程序,将重命名的垂直切割文件在一个适当的顺序

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    如果页数为偶数,我已解决此问题。。。。。下面是代码供您参考。。。假设页数为32页

    如果页数是奇数呢

    包装样品

    导入java。木卫一。档案

    公共类样本{

    public static void main(String args[]) {
    
        String fileNameStartsWith = "_pdfsam_pdf_";
        String dir = "D:\\files\\";
        String destDir = "D:\\dest\\";  
        int totalPages = 32;
        int loops = totalPages/2;
        boolean pickFirst = true;
        int pageNbr1 = 0;
        int pageNbr2 = 0;
        int count = 1;
        for(int i=1; i <= loops; i++) {
            if(pickFirst == true) {
                pageNbr1 = totalPages;
                pageNbr2 = i;
                pickFirst = false;
    
    totalPages ;
            } else {
                pageNbr1 = i;
                pageNbr2 = totalPages;
                totalPages ;
                pickFirst = true;
            }           
            System.out.println("PageNbr 1 "+pageNbr1);
            System.out.println("PageNbr 2 "+pageNbr2);
            File dest = new File(destDir);
            dest.mkdirs();
            File file1 = new File(dir + pageNbr1+fileNameStartsWith+".pdf");            
            renameFile(file1, dir, count, fileNameStartsWith, destDir, pageNbr1);
            count++;
            File file2 = new File(dir + pageNbr2+fileNameStartsWith+".pdf");
            renameFile(file2, dir, count, fileNameStartsWith, destDir, pageNbr2);
            count++;
    
        }
    
    }
    
    
    public static void renameFile(File file, String dir, int count, String fileNameStartsWith, String destDir, int pageNbr) {
        boolean success = new File(dir + count+fileNameStartsWith+".pdf").renameTo(new File(destDir + pageNbr+fileNameStartsWith+"modified"+".pdf"));
        System.out.println("success2 : "+success);                      
    }
    

    }