TCPDF - 如果pdf页面处于横向或纵向模式,如何在页眉/页脚功能中检测?

时间:2017-08-07 18:38:49

标签: php pdf tcpdf

我的TCPDF文件中有cutom页面和标题功能。由于我使用不同的页眉/页脚作为纵向和横向页面,我想检测页面的方向并使用正确的页眉/页脚。

首先,我使用带有“this-> page”的开关来根据页码指示要使用的页眉/页脚。但有时候,纵向页面上的页面上的文字会更长,而且会增加一个额外的页面,最后会出现问题。

如何检测pdf页面是否处于landcape或纵向模式?

这样的事情就是我想做的事情,如果可能的话。

class MYPDF extends TCPDF {
    public function Header() {
        //Detect if the page is on landscape or portrait mode
        $pageOrientation = ????

        if(//page orientation is landscape){
            //use this custom header
        }
        else {
            //use this other custom header
        }        
    }
}

提前致谢。

2 个答案:

答案 0 :(得分:2)

我有一个解决方案。也许它有点难看,但它会起作用。由于您在创建页面时声明每个页面的方向,因此只需为该页面设置$orientation变量,然后在调用函数时测试$orientation的值。无论页面上的当前值是什么,它都会相应地起作用。如果你想变得更复杂,你可以保留一系列页码+方向。这样,您就可以对特定页码进行操作和/或循环,并根据方向对特定页面执行特定操作。

丑陋但它会有效。

答案 1 :(得分:0)

在页眉和页脚中,您可以使用

访问方向
["B", "L", "BL", "A", "BA", "LA", "BLA", "D", "BD", "LD", "BLD", "AD", "BAD", "LAD", "BLAD", "E", "BE", "LE", "BLE", "AE", "BAE", "LAE", "BLAE", "DE", "BDE", "LDE", "BLDE", "ADE", "BADE", "LADE", "BLADE"]
  .filter(s => s.length >= 3)
  .forEach(s => console.log(s))

例如

$this->CurOrientation