我的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
}
}
}
提前致谢。
答案 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