使用pdftk bash脚本将pdf文件的输出列表作为一个pdf

时间:2014-04-08 09:53:19

标签: linux bash pdftk filelist

我有一个包含PDF文件列表的bash脚本。 通过注释/取消注释文件要求来定制打印机输出(请参阅下面的示例脚本)。 我想补充一点,这样我就可以选择使用pdftk(或纸质打印机)将所有选定的文件打印到单个pdf中。我熟悉pdftk虽然不是bash。

任何人都可以指出要将bash代码输出为一个PDF吗?

谢谢

!/bin/bash

# Print document pack

# Instructions
#   ls > print.txt                  Generate the file list into a file 
#   -o sides=two-sided-long-edge -#1        Prints two sided long edge, one copy
#   -o sides=two-sided-long-edge -#2        Prints two sided long edge, two copies
#   -o page-ranges=1 -#1                Print first page only, one copy
#   -o page-ranges=1-2,5-7 -#1          Print pages 1-2 & 5-7 only, one copy

#   -lt x                       sets number of packs to be printed
#   while [  $COUNTER -lt  ***** 1 ****** ]; do     NUMBER INSIDE STARS INDICATES NUMBER PACKS TO PRINT

COUNTER=0

while [  $COUNTER -lt 1 ]; do

    lpr "doc01.pdf"

    lpr "doc02.pdf"

    lpr -o sides=two-sided-long-edge -#1 "doc03.pdf"

#   lpr "doc04.pdf"

#   lpr "doc05.pdf"

    lpr -o sides=one-sided-long-edge -o page-ranges=1 -#1 "doc06.pdf"

#   lpr "doc07.pdf"

    lpr -o sides=two-sided-long-edge -#2 "doc08.pdf"

    lpr "doc09.pdf"

    lpr "doc10.pdf"

let COUNTER=COUNTER+1 
done

1 个答案:

答案 0 :(得分:2)

这样的事情:

#!/bin/bash

files=()

add() {
  files+=("'""$1""'")
}

add "file1.pdf"

#add "file2.pdf"

add "file3.pdf"

add "file with     spaces.pdf"

echo "${files[*]}"

当然,用适当的pdftk替换echo


修改2

这个新的“版本”可以更好地处理包含空格的文件名。


编辑3

要将文件交给命令,似乎以下内容将起到作用:

bash -c "stat $(echo "${files[*]}")"