【问题标题】:Add pages to PDF using FPDF if pagecount is not divisible by 4如果 pagecount 不能被 4 整除,则使用 FPDF 将页面添加到 PDF
【发布时间】:2020-02-14 12:23:44
【问题描述】:

我正在尝试打印一些 fpdf 生成的 PDF,但如果页面总数是奇数或不能被 4 整除,那么打印到小册子会给我带来一些问题

例如,总页数 = 73 页打印到 A3 纸上的小册子需要每张 A3 纸 4 页

如果我使用这个脚本

$pageCount = 73;
if ($pageCount % 4 != 0) {
$newpagecount = $pageCount += 4 - ($pageCount % 4);
}

while ($pageCount < $newpagecount) {
    $pageCount++;
//add page here and keep looping until it gets to the divisble by 4 number
}

我得到正确且可被 4 整除的 76 我需要它做的是向我的源文档添加一个空白页,直到我得到新的可被 4 整除的 pageCount?

有什么建议吗? 谢谢!

【问题讨论】:

    标签: php fpdf fpdi


    【解决方案1】:

    在您的 while 循环中,只需添加对 AddPage 方法的调用即可根据需要创建新页面。

    while ($pageCount < $newpagecount) {
        $pageCount++;
        $yourpdf->AddPage(); //add page here and keep looping until it gets to the divisble by 4 number
    }
    

    【讨论】:

    • 不幸的是,这不起作用,要对 PDF 进行页面计数,它必须已经输出(它是)所以我需要将空白页添加到这个现有的输出 PDF,然后将其作为另一个输出PDF(如果有意义的话)所以如果我使用 $pageCount = 73; if ($pageCount % 4 != 0) { $newpagecount = $pageCount += 4 - ($pageCount % 4); } echo "new pagecount = ".$newpagecount."
      "; while ($pageCount AddPage(); } $pdf->Output("c:\\temp\\editd.pdf','F'); 生成 1 页空白 pdf
    • 在知道页数之前不必输出 PDF。在创建 PDF 时会保留该计数(例如,您可以在页脚中放置页码这一事实证明了这一点)。将您的测试和额外页面添加到原始 PDF 的创建中,而不是事后尝试。
    • 感谢您为我指明正确的方向... $pdf->cell(350,20,$pdf->PageNo().'{nb}',0,'C',false );给我当前页数和总页数,我只需要总页数,我怎样才能得到呢?
    • $pdf->AliasNbPages().'{nb}' 给了我总数 再次感谢 Dave 会试试这个
    • @Retroisbest 如果某个答案解决了您的问题,请考虑接受该答案。 Here's howhere's why,然后返回此处,对勾号/复选标记执行相同操作,直到它变为绿色。这通知社区,找到了解决方案。否则,其他人可能会认为问题仍然悬而未决,可能想要发布(更多)答案。您将获得积分,并鼓励其他人帮助您。欢迎使用 Stack!
    猜你喜欢
    • 1970-01-01
    • 2014-06-05
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    相关资源
    最近更新 更多