这是使用pdfinfo
Creator: Pages
Producer: Mac OS X 10.10.1 Quartz PDFContext
CreationDate: Tue Mar 3 01:26:34 2015
ModDate: Tue Mar 3 01:26:34 2015
Tagged: no
Form: none
Pages: 5
Encrypted: no
Page size: 612 x 792 pts (letter) (rotated 0 degrees)
File size: 242463 bytes
Optimized: no
PDF version: 1.3
所以我知道我可以做这样的事情来获取页数:
pdfinfo document.pdf | grep Pages: | awk '{print $2}'
我正在尝试将页面大小设置为612 x 792
。
目前我正在尝试像grep "Page size:"
这样的事情,但显然这不是正确的方法。有人能指出我正确的方向吗?
答案 0 :(得分:4)
grep / sed work:
pdfinfo document.pdf | \
grep "Page size:" | \
sed -e 's/^[^:]*:[[:space:]]*//' -e 's/[[:space:]]pts.*//'
使用grep将文本简化为您感兴趣的行,然后使用sed来删除行的开头和结尾(对于您显示的示例)。
在此示例中,有两个sed选项(每个都是脚本)。两者都将匹配给定模式的字符更改为空,例如,
s/old/new/
但此处new
是一个空字符串。
开头的“^”字符是一个“锚点”,与行的开头相匹配。 “[^:]”使用“^”不同,匹配除“:”之外的任何字符(并且“”表示零或更多)。所以给定“页面大小:”,这与整个事情相匹配。在您的行上的“:”之后,有一些空格(可能是空格或制表符)。 POSIX字符类“[:space:]匹配,并且如下所示放在括号内:”[[:space:]]“。最后,第二个选项中的”。“匹配任何字符( 。)零次或多次(*)。