Board logo

标题: [文件操作] [分享]批处理+PDFtk+Ghostscript删除pdf文件空白页 [打印本页]

作者: Batcher    时间: 2023-7-31 20:34     标题: [分享]批处理+PDFtk+Ghostscript删除pdf文件空白页

【问题描述】

怎样删除pdf文件中的空白页?
作者: Batcher    时间: 2023-7-31 20:34

【解决方案】

处理单个PDF文件.bat
  1. @echo off
  2. REM 处理之前的文件名
  3. set "OldFile=1.pdf"
  4. REM 处理之后的文件名
  5. set "NewFile=2.pdf"
  6. REM 1、下载并安装 Ghostscript 这个命令行工具
  7. REM https://www.ghostscript.com/releases/gsdnld.html
  8. REM 2、根据自己电脑实际安装路径设置以下临时环境变量
  9. set "path=C:\Program Files\gs\gs10.01.2\bin;%path%"
  10. REM 1、下载并安装 PDFtk 这个命令行工具
  11. REM http://bcn.bathome.net/s/tool/index.html?key=PDFtk
  12. REM 2、根据自己电脑实际安装路径设置以下临时环境变量
  13. set "path=C:\Program Files (x86)\PDFtk Server\bin;%path%"
  14. set "NonBlank="
  15. cd /d "%~dp0"
  16. setlocal enabledelayedexpansion
  17. for /f "tokens=1* delims=:" %%a in ('gswin64c.exe -q -o - -sDEVICE^=ink_cov "%OldFile%" ^| findstr /n "CMYK"') do (
  18.     echo %%b | findstr "[1-9]" >nul
  19.     if not errorlevel 1 (
  20.         set "NonBlank=!NonBlank! %%a"
  21.     )
  22. )
  23. pdftk.exe "%OldFile%" cat !NonBlank! output "%NewFile%"
复制代码

作者: Batcher    时间: 2023-8-1 11:43

处理多个PDF文件.bat
  1. @echo off
  2. REM 处理之前pdf所在的文件夹
  3. set "OldFolder=C:\Test\PDF"
  4. REM 处理之后pdf所在的文件夹
  5. set "NewFolder=C:\Test\PDF-DelBlank"
  6. REM 1、下载并安装 Ghostscript 这个命令行工具
  7. REM https://www.ghostscript.com/releases/gsdnld.html
  8. REM 2、根据自己电脑实际安装路径设置以下临时环境变量
  9. set "path=C:\Program Files\gs\gs10.01.2\bin;%path%"
  10. REM 1、下载并安装 PDFtk 这个命令行工具
  11. REM http://bcn.bathome.net/s/tool/index.html?key=PDFtk
  12. REM 2、根据自己电脑实际安装路径设置以下临时环境变量
  13. set "path=C:\Program Files (x86)\PDFtk Server\bin;%path%"
  14. cd /d "%OldFolder%"
  15. if not exist "%NewFolder%" (
  16.     md "%NewFolder%"
  17. )
  18. setlocal enabledelayedexpansion
  19. for /f "delims=" %%i in ('dir /b /a-d *.pdf') do (
  20.     echo Processing file: %%i
  21.     set "NonBlank="
  22.     for /f "tokens=1* delims=:" %%a in ('gswin64c.exe -q -o - -sDEVICE^=ink_cov "%%i" ^| findstr /n "CMYK"') do (
  23.         echo %%b | findstr "[1-9]" >nul
  24.         if not errorlevel 1 (
  25.             set "NonBlank=!NonBlank! %%a"
  26.         )
  27.     )
  28.     pdftk.exe "%%i" cat !NonBlank! output "%NewFolder%\%%~nxi"
  29. )
复制代码

作者: 453765918    时间: 2023-11-29 11:20

word文档能批量删除空白页吗?
作者: yyz219    时间: 2023-11-30 09:45

谢谢分享哦




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2