PDF改变顺序合并
![wils](https://wps-home.wpscdn.cn/images/2024/01/01/9c566cb83f10f520ae29c344d3b1698a.png@base@tag=imgScale&w=38&h=38&m=1&c=1&q=75)
创作者俱乐部成员
问题来自论坛: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) } |
又水了一贴🤣