使用终端查找 PDF 大小
Using terminal to find PDF size
这是使用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 }'
我正在尝试获取页面大小以放置类似 612 x 792
的内容。
目前我正在尝试 grep "Page size:"
之类的方法,但这显然不是正确的方法。谁能指出我正确的方向?
grep/sed 工作:
pdfinfo document.pdf | \
grep "Page size:" | \
sed -e 's/^[^:]*:[[:space:]]*//' -e 's/[[:space:]]pts.*//'
使用 grep 将文本简化为您感兴趣的行,然后使用 sed 删除行的开头和结尾(对于您展示的示例)。
在此示例中,有两个 sed 选项(每个都是一个脚本)。两者都将匹配给定模式的字符更改为空,例如,
s/old/new/
但这里 new
是一个空字符串。
开头的“^”字符是一个"anchor",匹配行的开头。 "[^:]" 以不同方式使用 "^",匹配除 ":" 之外的任何字符(而 "" 表示零个或多个)。所以给定 "Page size:",这与整个事情相匹配。在你这一行的“:”之后,有一些白色的space(可能是space或者制表符)。 POSIX 字符 class “[:space:] 匹配其中一个,并放在括号内,如您所见:“[[:space:]]”。最后,第二个选项中的“.”匹配任意字符 (.) 零次或多次 (*).
这是使用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 }'
我正在尝试获取页面大小以放置类似 612 x 792
的内容。
目前我正在尝试 grep "Page size:"
之类的方法,但这显然不是正确的方法。谁能指出我正确的方向?
grep/sed 工作:
pdfinfo document.pdf | \
grep "Page size:" | \
sed -e 's/^[^:]*:[[:space:]]*//' -e 's/[[:space:]]pts.*//'
使用 grep 将文本简化为您感兴趣的行,然后使用 sed 删除行的开头和结尾(对于您展示的示例)。
在此示例中,有两个 sed 选项(每个都是一个脚本)。两者都将匹配给定模式的字符更改为空,例如,
s/old/new/
但这里 new
是一个空字符串。
开头的“^”字符是一个"anchor",匹配行的开头。 "[^:]" 以不同方式使用 "^",匹配除 ":" 之外的任何字符(而 "" 表示零个或多个)。所以给定 "Page size:",这与整个事情相匹配。在你这一行的“:”之后,有一些白色的space(可能是space或者制表符)。 POSIX 字符 class “[:space:] 匹配其中一个,并放在括号内,如您所见:“[[:space:]]”。最后,第二个选项中的“.”匹配任意字符 (.) 零次或多次 (*).