在 fPDF/tfPDF 中创建编号页面组
Creating groups of numbering pages in fPDF/tfPDF
我正在使用 this 插件,它可以帮助我创建不同的页面组。我有两个主要问题。首先,我正在使用 PHP 7.3
,我不想使用旧版本的 PHP
,因为我有其他代码正在使用 PHP 7.3
。第一个问题出现在 行 33 文件 - pagegroup.php:
$n = sizeof($this->PageGroups) + 1;
我遇到错误
sizeof(): Parameter must be an array or an object that implements Countable
我试图用这些代码更改这一行:
if (empty($this->PageGroups)) {
$n = 1;
} else {
$n = count($this->PageGroups)+1;
}
有人可以确认我这工作正常吗,因为我的第二个问题是当我输入 此代码:
require 'lib/pagegroup.php';
class MYPDF extends PDF_PageGroup {
function Header() {
$this->Cell(0, 6, 'Page '.$this->GroupPageNo().'/'.$this->PageGroupAlias(), 0, 0, 'C');
}
for ($i = 0; $i < 2; $i++) {
$pdf->StartPageGroup();
$pdf->AddPage();
// some other code ...
}
}
GroupPageNo 运行良好,但 PageGroupAlias 正在返回 {nb1}
,对于组页面 2,它正在返回 {nb2}
.所以我最终得到 1/{nb1}
和 1/{nb2}
,最终结果应该是 1/1
和 1/1
例如。
我设法让它在 PHP 7.3 下工作。这是我在方法 _beginpage 中的工作代码 我更改了这一行:
$n = sizeof($this->PageGroups)+1;
这些行:
if (empty($this->PageGroups)) {
$n = 1;
} else {
$n = count($this->PageGroups) + 1;
}
其他最重要的事情是它必须将字体系列设置为 Arial 否则它不起作用并且显示 {nb2}
。所以它应该是这样的。
require 'lib/pagegroup.php';
class MYPDF extends PDF_PageGroup {
function Header() {
$this->AddFont('DejaVuSans', '', 'DejaVuSans.ttf', true);
$this->SetFont('Arial', '', 10);
$this->Cell(0, 6, 'Page '.$this->GroupPageNo().'/'.$this->PageGroupAlias(), 0, 0, 'C');
// change the font to the one you want to use in my case DajaVu
$this->SetFont('DejaVuSans', '', 16);
}
for ($i = 0; $i < 2; $i++) {
$pdf->StartPageGroup();
$pdf->AddPage();
// some other code ...
}
}
我正在使用 this 插件,它可以帮助我创建不同的页面组。我有两个主要问题。首先,我正在使用 PHP 7.3
,我不想使用旧版本的 PHP
,因为我有其他代码正在使用 PHP 7.3
。第一个问题出现在 行 33 文件 - pagegroup.php:
$n = sizeof($this->PageGroups) + 1;
我遇到错误
sizeof(): Parameter must be an array or an object that implements Countable
我试图用这些代码更改这一行:
if (empty($this->PageGroups)) {
$n = 1;
} else {
$n = count($this->PageGroups)+1;
}
有人可以确认我这工作正常吗,因为我的第二个问题是当我输入 此代码:
require 'lib/pagegroup.php';
class MYPDF extends PDF_PageGroup {
function Header() {
$this->Cell(0, 6, 'Page '.$this->GroupPageNo().'/'.$this->PageGroupAlias(), 0, 0, 'C');
}
for ($i = 0; $i < 2; $i++) {
$pdf->StartPageGroup();
$pdf->AddPage();
// some other code ...
}
}
GroupPageNo 运行良好,但 PageGroupAlias 正在返回 {nb1}
,对于组页面 2,它正在返回 {nb2}
.所以我最终得到 1/{nb1}
和 1/{nb2}
,最终结果应该是 1/1
和 1/1
例如。
我设法让它在 PHP 7.3 下工作。这是我在方法 _beginpage 中的工作代码 我更改了这一行:
$n = sizeof($this->PageGroups)+1;
这些行:
if (empty($this->PageGroups)) {
$n = 1;
} else {
$n = count($this->PageGroups) + 1;
}
其他最重要的事情是它必须将字体系列设置为 Arial 否则它不起作用并且显示 {nb2}
。所以它应该是这样的。
require 'lib/pagegroup.php';
class MYPDF extends PDF_PageGroup {
function Header() {
$this->AddFont('DejaVuSans', '', 'DejaVuSans.ttf', true);
$this->SetFont('Arial', '', 10);
$this->Cell(0, 6, 'Page '.$this->GroupPageNo().'/'.$this->PageGroupAlias(), 0, 0, 'C');
// change the font to the one you want to use in my case DajaVu
$this->SetFont('DejaVuSans', '', 16);
}
for ($i = 0; $i < 2; $i++) {
$pdf->StartPageGroup();
$pdf->AddPage();
// some other code ...
}
}