You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在终端中将PDF中的单页每日规划页重复60次生成PDF文件

如何在终端中将PDF中的单页每日规划页重复60次生成PDF文件

哈哈,完全不用搞那种循环复制再合并的笨办法!终端里有好几个优雅的工具能直接帮你把单页重复指定次数,下面给你几种常用的方法:

方法一:用 pdftk(或 pdftk-java)

这是处理PDF的经典工具,操作直观:

  • 如果你的原PDF本身只有那一页每日规划,直接执行这条命令就能生成60页的新PDF:
    pdftk planner.pdf cat $(printf '1 %.0s' {1..60}) output 60-planner.pdf
    
    解释一下:cat $(printf '1 %.0s' {1..60}) 就是告诉pdftk把原文件的第1页重复60次,最后输出到60-planner.pdf
  • 如果原PDF里有多个页面,目标是第N页(比如第3页),只要把命令里的1改成对应的页码就行:
    pdftk planner.pdf cat $(printf '3 %.0s' {1..60}) output 60-planner.pdf
    

方法二:用 qpdf(更简洁高效)

qpdf是另一个强大的PDF处理工具,语法更简洁:

  • 同样,原PDF是单页的话,执行:
    qpdf planner.pdf --pages . 1-z:60 -- 60-planner.pdf
    
    解释:--pages . 1-z:60 表示从当前文件(.)中,把第1页重复60次(1-z:60的意思是“第1页到最后一页,但重复60轮”,这里单页就相当于重复60次)。
  • 目标是第N页的话,把1换成N即可:
    qpdf planner.pdf --pages . 3-z:60 -- 60-planner.pdf
    

方法三:用 Ghostscript(gs)

如果你已经装了Ghostscript,也可以这么做,虽然和你说的“复制再合并”思路类似,但不用手动生成60个副本:

gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=60-planner.pdf $(printf 'planner.pdf ' {1..60})

参数说明:-q 静默输出,-dNOPAUSE -dBATCH 让处理完所有文件后自动退出,-sDEVICE=pdfwrite 指定输出为PDF格式,后面重复60次原文件名就相当于把它合并60次。

工具安装(如果没装的话)

  • Debian/Ubuntu 等 Debian 系系统:
    # 安装 pdftk-java
    sudo apt install pdftk-java
    # 安装 qpdf
    sudo apt install qpdf
    # 安装 Ghostscript
    sudo apt install ghostscript
    
  • macOS(用 Homebrew):
    brew install pdftk-java qpdf ghostscript
    

备注:内容来源于stack exchange,提问作者user606723

火山引擎 最新活动