PDF改变顺序合并

wils
wils

创作者俱乐部成员

问题来自论坛:https://bbs.wps.cn/topic/37806

有两个扫描来的pdf,分别是顺序的奇数页,和逆序的偶数页,需要合并成顺序的pdf

用shell可以自动化,逻辑很简单,分别拆分两个pdf,重命名为顺序的奇数和逆序的偶数,最后合并pdf即可

📌

mkdir -p x

mkdir -p y

cd x

pdfseparate ../a.pdf %d.pdf

ls -1 *.pdf | awk '{print "mv " $0 " ../y/" (++n)*2-1 ".pdf"}' | sh

pdfseparate ../b.pdf %d.pdf

ls -1r *.pdf | awk '{print "mv " $0 " ../y/" (++n)*2 ".pdf"}' | sh

cd ..

pdfunite y/*.pdf out.pdf

rm -r x y


如果只使用wps也可以,拆分pdf与合并pdf这两步,需要在wps pdf里手动操作

剩下的就是重命名

可以简化成两个步骤:

  • 导入当前目录的pdf到wps表格

  • 用表格里A、B两列的文本,重命名pdf

剩下的,如论是顺序的奇数还是逆序的偶数,都可以用熟悉的公式完成

最后合并pdf即可

JS宏大概是这样,写的粗糙,但意思到了

🔔

/**

* CommandButton1_Click Macro

*/

function CommandButton1_Click()

{

let arr = []

let f = Dir(ThisWorkbook.Path + "\\*.pdf")

while (f) {

arr.push([f])

f = Dir()

}

Range("A1:B1").EntireColumn.ClearContents()

Range("A1").Resize(arr.length, 1).Value2 = arr

}

/**

* CommandButton2_Click Macro

*/

function CommandButton2_Click()

{

let r = Range("A" + Rows.Count).End(xlUp).Row

let arr = Range("A1:B" + r).Value2

cmd = `cmd /c cd "${ThisWorkbook.Path}" `

for (let i of arr) {

cmd += ` & ren ${i[0]} ${i[1]}`

}

Shell(cmd, jsHide)

}

又水了一贴🤣

广东省
浏览 165
收藏
8
分享
8 +1
3
+1
全部评论 3
 
云中月
感觉好复杂,只会用手动调整的我默默路过
· 福建省
回复
 
麦宇哲
打卡
· 北京
回复
 
亂雲飛渡
学习
· 广东省
回复