You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何用批处理脚本配合cPDF批量生成横版双页PDF文件

解决方案

问题出在你用cpdf -twoup-stack path\*.pdf -o out.pdf时,cpdf会将所有匹配的PDF文件合并后再转换双页格式,最终输出一个合并后的文件。要实现每个原PDF单独转换为对应的双页PDF,需要用循环逐个处理文件,以下分不同操作系统给出命令:

Windows CMD 环境

在命令提示符中执行:

for %f in (path\*.pdf) do cpdf -twoup-stack "%f" -o "%~dpnf_twoup.pdf"
  • %f 代表当前遍历到的PDF文件
  • %~dpnf 会提取原文件的驱动器、路径、文件名(不含扩展名),最终输出文件名为原文件名_twoup.pdf,和原文件同目录

Windows PowerShell 环境

在PowerShell中执行:

Get-ChildItem -Path "path\*.pdf" | ForEach-Object {
    cpdf -twoup-stack $_.FullName -o "$($_.DirectoryName)\$($_.BaseName)_twoup.pdf"
}
  • Get-ChildItem 获取指定路径下所有PDF文件
  • $_.BaseName 提取原文件的文件名(不含扩展名),输出文件同样和原文件同目录

Linux/macOS Bash 环境

在终端中执行:

for file in path/*.pdf; do
    cpdf -twoup-stack "$file" -o "${file%.pdf}_twoup.pdf"
done
  • ${file%.pdf} 会去掉原文件名的.pdf后缀,拼接_twoup.pdf作为输出文件名,和原文件同目录

可选:输出到指定目录

如果想把所有转换后的文件放到单独的文件夹(比如output),先创建该文件夹,再修改命令:

  • Windows CMD:
    mkdir path\output
    for %f in (path\*.pdf) do cpdf -twoup-stack "%f" -o "path\output\%~nf_twoup.pdf"
    
  • Bash:
    mkdir -p path/output
    for file in path/*.pdf; do
        cpdf -twoup-stack "$file" -o "path/output/${file%.pdf}_twoup.pdf"
    done
    

内容的提问来源于stack exchange,提问作者kasten

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 13:48:22