Board logo

标题: [文件操作] 批处理如何实现图片自动左右中分 [打印本页]

作者: 爱琴海不会走    时间: 2020-11-12 16:44     标题: 批处理如何实现图片自动左右中分

背景介绍:
工作中常常需要打印很多试卷,有些是A3的pdf,类似我们之前考试那种,都是横着的A3纸,左右两侧都有试题。
我办公室的打印机只能打印A4,所以要打印这些试卷必须把他们分割成A4的,pdf又没法分割,只能先pdf转jpg,拖进ps,裁剪左侧另存、裁剪右侧另存。。。。。1、2张还好,几十张崩溃
经过我的努力,目前把pdf转jpg这部做了个批处理,代码如下:
  1. @echo off
  2. :begin
  3. if "%~1" == "" (
  4.   cls
  5.   pause >nul
  6.   exit /b
  7. )
  8. for %%i in (%*) do (
  9. "替换为你自己的路径\convert.exe" -density 300 %%i %%~ni.jpg
  10. )
  11. pause
复制代码
成品链接如下:
https://wwa.lanzous.com/ikLlVibm67e
密码:bath
上面代码存为bat,把pdf拖动到上面自动在pdf目录下生成对应的jpg,分辨率设的300
假如A文件夹有ABC.pdf,该pdf有三页,把ABC.pdf拖到刚才的bat中会在A文件夹自动生成ABC_1.jpg、ABC_2.jpg和ABC_3.jpg
但接下来我还得把三个jpg拖到ps里每个都转成A4的,到时候会成6张,比较繁琐。
考虑到转成的jpg都是A3横放(尺寸不一定严格A3,或大一点或小一点),我在想能不能有啥批处理,我把这些照片拖进去,能自动给我左右中分裁剪,ABC_1.jpg处理后删除,生成ABC_1_1.jpg和ABC_1_2.jpg,对应原来jpg的左右2册,ABC_2.jpg、ABC_3.jpg图样处理。这样我就直接打印了,根本不用自己进去ps。。。。
作者: 爱琴海不会走    时间: 2020-11-12 16:53

自己搜了下,倒是有几个第三方exe,摸索了半天不得其解
pvw32con.exe,magick.exe
希望有大佬指点
作者: a20150604    时间: 2020-11-12 17:49

安装 imagemagick, 安装选项要 安装 convert.exe 等工具
  1. REM 以下片段放在 批处理文件中 运行, 注意 % 用了双写转义
  2. REM 输出序号为 1 位数, 从 0 开始计数
  3. REM 宽一分为二, 高不分
  4. convert.exe in.jpg -crop 2x1@ +repage out_%%01d.jpg
  5. REM 宽不分, 高一分为二
  6. convert.exe in.jpg -crop 1x2@ +repage out_%%01d.jpg
复制代码

作者: 爱琴海不会走    时间: 2020-11-12 19:27

回复 3# a20150604


    谢谢大佬分享
作者: lancer    时间: 2020-11-12 20:33

第三方的exe放上来就好了
作者: Batcher    时间: 2020-11-13 11:06

回复 5# lancer


这里有:
http://bcn.bathome.net/s/tool/index.html?key=convert
作者: 爱琴海不会走    时间: 2020-11-13 14:18

回复 6# Batcher


    谢谢各位的热心回复
  1. if "%~1" == "" (
  2. )
  3. for %%i in (%*) do (
  4. "C:\Users\token\Desktop\pdf\convert.exe" -density 300 %%i %%~ni.jpg
  5. convert.exe %%i -crop 2x1@ +repage %%~ni.jpg
复制代码
我现在的代码如上,运行后出来图片分辨率很低,将上面代码分2个bat,第一个bat是pdf转jpg,把所有jpg拖到第二个bat,生成的图片分辨率就很清晰
求大佬们帮我改改
作者: netdzb    时间: 2020-11-13 16:47

回复 2# 爱琴海不会走

你这个需求用python比较容易实现。
作者: lxh623    时间: 2020-11-18 13:37

A-PDF Page Cut
这个可以的。




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