【批处理】裁剪PDF第1页上面的一半与第2页下面一半,以此类推合并为新的pdf

查看 128|回复 10
作者:二零一八小王子   
版本历史:
2024.08.29  V1.0版本
2024.08.30  更新V2.0版本

支持4个选项
echo 请选择裁剪方式:
echo 1. 奇数页上半部分 (north),偶数页下半部分 (south)
echo 2. 奇数页上半部分 (north),偶数页上半部分 (north)
echo 3. 奇数页下半部分 (south),偶数页上半部分 (north)
echo 4. 奇数页下半部分 (south),偶数页下半部分 (south)
=====================================================================
网友@疯狂后街 提问:有没有可以做pdf第一页要上面半张,第二页要下面半张的,因为我扫描那些证件,想这样弄二合一?
分析:
待处理的pdf先裁剪后面合并在一个pdf,即分别切割第一页上半部分与第二页下半部分作为新的pdf第一页,3页上半部分与+4页下半部分,后面以此类推


image.png (125.24 KB, 下载次数: 0)
下载附件
2024-8-29 17:23 上传

经过研究,只有一种思路可行,也就是使用图片拼接进行(采用pdf拼接很困难)批量处理。


image.png (151.31 KB, 下载次数: 0)
下载附件
2024-8-29 17:26 上传

使用教程:
1 将你待处理的pdf命名为input.pdf拷贝到本文件夹
2 双击【单个处理裁剪与合并.bat】即可实现一键处理
3 首先需要输入分辨率,一般是300回车就行
4 等待处理完成


image.png (44.28 KB, 下载次数: 0)
下载附件
2024-8-29 17:34 上传



image.png (61.12 KB, 下载次数: 0)
下载附件
2024-8-29 17:34 上传

=================================

本人原创的软件:

  • [color=]【FAST_PDF2IMGV3.0】-PDF转图片软件(快速不卡顿,可选分辨率72-1200DPI),大小仅为4M  
    [color=]https://www.52pojie.cn/thread-1953912-1-1.html

  • [color=]【Fast_IMG2PDFV1.0】-图片转PDF软件(仅1M,快速不卡顿,支持png、jpg、bmp、tif) https://www.52pojie.cn/thread-1954742-1-1.html

  • [color=]【文件夹生成器2.0】批量生成文件夹的小软件,小巧简单好用,仅400K
    [color=]https://www.52pojie.cn/thread-1954758-1-1.html
  • 【PDFCrossMerge】V1.0-实现两个PDF交叉合并,适用于PDF扫描件合并,单文件仅约1M https://www.52pojie.cn/thread-1956795-1-1.html

  • [color=]【TextPDF2ImagePDF】V1.0-文字pdf转图片pdf软件,单文件仅5M
    https://www.52pojie.cn/thread-1957917-1-1.html

    https://wwnb.lanzoul.com/b02sey2sza
    密码:52pj

    下载地址.txt
    (48 Bytes, 下载次数: 9)
    2024-8-29 17:27 上传
    点击文件名下载附件
    下载积分: 吾爱币 -1 CB

    下载次数, 奇数

  • lzspain   

    很定制的一个需求,似乎只有这么一个应用场景了
    二零一八小王子
    OP
      

    大佬你好,我看到你有一个自动根据pdf文件名批量自动合并pdf(可选页码交叉、不交叉)的程序,但是是按文件名后缀为A或B来合并的,而我们的文件是如下格式:
    S3-1 路基设计表-01.pdf
    S3-1 路基设计表-02.pdf
    S3-1 路基设计表-03.pdf
    S3-2 路基横断面设计图-01.pdf
    S3-2 路基横断面设计图-02.pdf
    S3-2 路基横断面设计图-03.pdf
    S3-2 路基横断面设计图-04.pdf
    S3-2 路基横断面设计图-05.pdf
    这个批处理代码要怎样改,才能正确合并呢?
    以下是AI写的代码
    @echo off
    setlocal enabledelayedexpansion
    rem 创建一个临时目录存放合并后的PDF
    set "merged_dir=merged_pdfs"
    mkdir "%merged_dir%" 2>nul
    rem 用于存储已处理文件的前缀
    set "processed_prefixes="
    rem 遍历当前目录下所有的PDF文件
    for %%F in (*.pdf) do (
        rem 提取文件名和扩展名
        set "filename=%%~nF"
        set "filepath=%%F"
       
        rem 提取前缀(去掉最后 7 个字符,包括 `-XX` 和 `.pdf`)
        set "base_name=!filename:~0,-7!"
       
        rem 如果前缀文件不存在,则创建一个新的合并列表
        if "!processed_prefixes!" neq "!processed_prefixes:!base_name!=!" (
            rem 更新已处理的前缀列表
            set "processed_prefixes=!processed_prefixes! !base_name!"
            
            rem 初始化文件列表
            set "file_list="
            
            rem 遍历与当前前缀匹配的所有文件
            for %%G in (!base_name!-*.pdf) do (
                rem 添加文件到列表,并确保文件名被正确引用
                set "file_list=!file_list! "%%G""
            )
            
            rem 调试:打印文件列表以确保其正确
            echo Debug: File list for "!base_name!" is !file_list!
            
            rem 调试:打印 pdftk 命令以确保其正确
            echo pdftk !file_list! cat output "%merged_dir%\!base_name!.pdf"
            
            rem 执行合并命令
            if defined file_list (
                rem 移除开头的空格
                set "file_list=!file_list:~1!"
                
                rem 确保文件列表格式正确
                echo Final file list: !file_list!
                
                rem 执行合并命令
                pdftk !file_list! cat output "%merged_dir%\!base_name!.pdf"
            )
        )
    )
    echo 合并完成,所有PDF已保存到 "%merged_dir%" 目录下。
    pause
    但运行后一直报错,错误信息如下:
    Debug: File list for "S3-1 路" is  "S3-1"
    pdftk  "S3-1" cat output "merged_pdfs\S3-1 路.pdf"
    Final file list: "S3-1"
    Error: Failed to open PDF file:   S3-1
    Errors encountered.  No output created.
    Done.  Input errors, so no output created.
    Debug: File list for "S3-1 路" is  "S3-1"
    pdftk  "S3-1" cat output "merged_pdfs\S3-1 路.pdf"
    Final file list: "S3-1"
    Error: Failed to open PDF file:   S3-1
    Errors encountered.  No output created.
    Done.  Input errors, so no output created.
    Debug: File list for "S3-1 路" is  "S3-1"
    pdftk  "S3-1" cat output "merged_pdfs\S3-1 路.pdf"
    Final file list: "S3-1"
    Error: Failed to open PDF file:   S3-1
    Errors encountered.  No output created.
    Done.  Input errors, so no output created.
    Debug: File list for "S3-2 路基横断" is  "S3-2"
    pdftk  "S3-2" cat output "merged_pdfs\S3-2 路基横断.pdf"
    Final file list: "S3-2"
    Error: Failed to open PDF file:   S3-2
    Errors encountered.  No output created.
    Done.  Input errors, so no output created.
    Debug: File list for "S3-2 路基横断" is  "S3-2"
    pdftk  "S3-2" cat output "merged_pdfs\S3-2 路基横断.pdf"
    Final file list: "S3-2"
    Error: Failed to open PDF file:   S3-2
    Errors encountered.  No output created.
    Done.  Input errors, so no output created.
    Debug: File list for "S3-2 路基横断" is  "S3-2"
    pdftk  "S3-2" cat output "merged_pdfs\S3-2 路基横断.pdf"
    Final file list: "S3-2"Error: Failed to open PDF file:   S3-2
    Errors encountered.  No output created.
    Done.  Input errors, so no output created.
    Debug: File list for "S3-2 路基横断" is  "S3-2"
    pdftk  "S3-2" cat output "merged_pdfs\S3-2 路基横断.pdf"
    Final file list: "S3-2"Error: Failed to open PDF file:   S3-2
    Errors encountered.  No output created.
    Done.  Input errors, so no output created.
    Debug: File list for "S3-2 路基横断" is  "S3-2"
    pdftk  "S3-2" cat output "merged_pdfs\S3-2 路基横断.pdf"
    Final file list: "S3-2"Error: Failed to open PDF file:   S3-2
    Errors encountered.  No output created.
    Done.  Input errors, so no output created.
    文件名识别一直有问题
    lp23253   


    T4DNA 发表于 2024-8-29 17:31
    很定制的一个需求,似乎只有这么一个应用场景了

    是的,非常特殊。
    dazuyishi1314   

    这个好,适合批量用户
    sdieedu   

    这种应该是特定场景才需要用到吧
    ysjd22   

    厉害厉害厉害👍
    go2015   

    特定场景有这个需求
    二零一八小王子
    OP
      

    python?
    fhangong   


    go2015 发表于 2024-8-29 18:19
    python?

    bat命令~~~
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部