You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TCPDF中指定印刷出血(Bleed)以满足专业印刷需求?

用TCPDF生成带印刷出血的A5 PDF

需求背景

印刷商要求PDF包含3mm的出血:常规A5成品尺寸为148×210mm,带出血的总页面尺寸需设为154×216mm(每边额外加3mm)。当前TCPDF设置如下:

$pdf = new \TCPDF(
    orientation: 'P',
    unit: 'mm',
    format: 'A5',
    pdfa: 1 // PDF-A1
);
$pdf->SetMargins(
    left: 9,
    top: 9,
    right: 9
);
$pdf->SetPrintHeader(false);
$pdf->SetPrintFooter(true);
$pdf->setFooterMargin(9);

希望通过TCPDF支持的MediaBox、CropBox、BleedBox、TrimBox等参数配置,无需手动计算总尺寸,实现带9mm内边距+每边3mm出血的A5页面。

解决方案

完全可以通过自定义页面格式数组实现,先明确各个Box的作用:

  • MediaBox:PDF的实际物理尺寸(包含出血的总尺寸)
  • TrimBox:成品页面的最终尺寸(标准A5的148×210mm)
  • BleedBox:出血区域范围,印刷商会据此裁剪
  • CropBox:显示/打印时的可见区域,通常与TrimBox一致

修改后的代码如下:

// 定义标准A5成品尺寸与出血宽度
$trimWidth = 148;
$trimHeight = 210;
$bleed = 3;

// 构建自定义页面格式数组
$customFormat = [
    'MediaBox' => [0, 0, $trimWidth + 2*$bleed, $trimHeight + 2*$bleed],
    'TrimBox' => [$bleed, $bleed, $trimWidth + $bleed, $trimHeight + $bleed],
    'BleedBox' => [$bleed, $bleed, $trimWidth + $bleed, $trimHeight + $bleed],
    'CropBox' => [$bleed, $bleed, $trimWidth + $bleed, $trimHeight + $bleed],
    'orientation' => 'P',
    'unit' => 'mm'
];

// 初始化TCPDF,使用自定义格式
$pdf = new \TCPDF(
    orientation: 'P',
    unit: 'mm',
    format: $customFormat,
    pdfa: 1 // PDF-A1
);

// 设置内边距:基于TrimBox(成品区域)计算
$pdf->SetMargins(
    left: 9,
    top: 9,
    right: 9
);
$pdf->SetPrintHeader(false);
$pdf->SetPrintFooter(true);
$pdf->setFooterMargin(9);

关键说明

  1. MediaBox:设置为154×216mm(148+3×2,210+3×2),是包含出血的总尺寸
  2. TrimBox:从左上角偏移3mm开始,框出标准A5的成品区域,确保印刷后的最终尺寸正确
  3. BleedBox和CropBox:与TrimBox对齐,明确告知印刷商出血范围和可见区域
  4. 内边距设置:SetMargins的9mm是相对于TrimBox(成品区域)的内边距,无需手动调整出血的影响

这样设置后,印刷商能正确识别出血区域,同时你无需手动计算带出血的尺寸,直接基于标准A5参数配置即可。

内容的提问来源于stack exchange,提问作者stollr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 21:07:46