使用 ssh pdfinfo 检测 pdf landscpe

Detect pdf landscpe with ssh pdfinfo

在研究如何让 PHP 知道 pdf 的方向后,找到了一个使用 pdfinfo 的解决方案,它在 bash 上运行良好。但是我无法通过 PHP 执行 exec 命令来获得它,我在字符串下收到响应以便能够创建 if 规则。 我不明白为什么 PHP 的 if 不适用于 ssh 的答案。

    $test = shell_exec(' pdfinfo \
    -f 1 \
    -l 1 \
     sample.pdf \
| grep "Page.* size:" \
| \
 while read Page _pageno size _width x _height rest; do 
  [ "$(echo "${_width} / 1"|bc)" -gt "$(echo "${_height} / 1"|bc)" ] \
     && echo "landscape" \
    || echo "portrait"  ; \
 done');

if($test=="portrait"){
    echo "run script from portrait";
}else{
    echo"run script from landscape";
}

你能 var_dump($test) 看看返回了什么吗?

返回值中可能有白色space。在if条件之前使用trim($test)来trim白space.