【问题标题】:How do you force FPDF Output to be exactly 11 in. by 8.5 in?你如何强制 FPDF 输出正好是 11 英寸乘 8.5 英寸?
【发布时间】:2016-08-07 21:32:51
【问题描述】:

为了使渲染的 PDF 文件正好是 11 英寸乘 8.5 英寸,我需要更改什么设置?现在,由于某种原因,我生成的 PDF 为 11.69 英寸 x 8.27 英寸。

上面的代码是生成 PDF 的唯一方法,我尝试使用“new FPDF”而不是“new FPDI”,但得到的只是错误。如何将此代码更改为 11x8.5?

<?php
ob_clean();
ini_set("session.auto_start", 0);
define('FPDF_FONTPATH','font/');
define('FPDI_FONTPATH','font/');
require('fpdf.php');
require('fpdi.php');
$pdf = new FPDI();
$pdf->setSourceFile("Flyer.pdf");
$tplIdx = $pdf->importPage(1);
$specs = $pdf->getTemplateSize($tplIdx);
$pdf->addPage($specs['h'] > $specs['w'] ? 'P' : 'L');
$pdf->useTemplate($tplIdx,  0, 0, 297, 210);
$pdf->SetFont('helvetica');
$pdf->SetTextColor(255, 0, 0);
$pdf->SetXY(30, 30);
$pdf->Write(0, 'This is just a simple text');
ob_end_clean();
$pdf->Output('marketing.pdf', 'F');
?>

【问题讨论】:

    标签: pdf pdf-generation fpdf


    【解决方案1】:

    11.69 x 8.27英寸是FPDF默认使用的A4尺寸(文档says:Default value is A4.

    11 x 8.5 英寸是Letter 纸张大小,因此您应该将其设置为构造函数的参数:

    $pdf = new FPDF('P','inch','Letter');

    【讨论】:

    • 嘿,我刚刚编辑了我的问题,所以你可以看看我的代码。我尝试了您的选择,但它会生成第二页,并且初始 PDF 最终格式不正确。
    • 你可以试试$pdf-&gt;addPage($specs['h'] &gt; $specs['w'] ? 'P' : 'L', 'Letter');。如果您想更改模板的大小,那么我不确定您是否可以使用 pdf 模板执行此操作..
    猜你喜欢
    • 2018-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-02
    相关资源
    最近更新 更多