证件照排版

一版多张/5寸/6寸纸排版打印

408 次访问
ID PHOTO LAYOUT FOR PRINT

证件照排版打印

将一寸 / 二寸照排成 5寸 / 6寸纸 · 适合打印店打印

🖨️

拖入或点击选择证件照

建议使用已制作好的证件照(推荐用 证件照工具 先制作)

关于本工具

了解工具定位 · 使用场景 · 对比优势

使用场景

🏢

入职证件批量备

HR 或行政人员为新员工办理入职时,需在 5 寸光面相纸上排布 1 寸白底照。手动在 PS 里拉参考线常出现间距不均、边距超界导致打印裁切后照片尺寸不合格。本工具按 5 寸纸尺寸自动计算每版可排 8 张 1 寸照,输出带裁切线的 PDF,直接送打印店打一张即可满足整批入职需求。

📸

照相馆快速出片

小照相馆在高峰时段(如毕业季、考试报名季)需在 10 分钟内出 6 寸排版照。手动排版一张 6 寸纸排 4 张 2 寸照,每单至少花 3 分钟调版。本工具上传单张底片后自动完成背景替换与尺寸缩放,按 6 寸纸规格生成带裁切线的排版图,单次排版耗时降至 30 秒,大幅缩短顾客等待时间。

🎓

毕业照排版打印

班级统一收齐 30 人蓝底 2 寸照,需在 6 寸相纸上每版排 4 张。若用手机修图软件一张张拼,最终打印时因像素拉伸导致人脸模糊。本工具直接处理高分辨率原图,按 6 寸纸 300DPI 输出,保证打印清晰度;同时自动计算 30 人需 8 张 6 寸纸,避免多打浪费相纸。

📋

签证照片自排版

申请申根签证需提供 35x45mm 白底照,且必须粘贴在申请表指定区域。去照相馆拍一张 30 元,但只需 2 张。本工具将 35x45mm 规格按 5 寸纸排 12 张,用家用喷墨打印机打一张相纸,裁切后得 12 张合格签证照,成本不足 2 元,同时保留电子版供后续签证复用。

🏫

学校证件照统一采集

小学每年需更新学生学籍照,班主任收集全班 45 人红底 1 寸电子照后,需打印粘贴在学籍表上。若用 Word 手动排版,每张 6 寸纸排 8 张,45 人需 6 张纸但总有一张不满版浪费。本工具自动将 45 张照片按 6 寸纸 8 格布局排满 5 张整版 + 1 张 5 张版,最大化利用相纸,且每张照片带姓名标签方便班主任裁切分发。

对比矩阵本工具 vs 竞品 vs 传统方法

维度本工具竞品 A(在线排版工具)传统方法(冲印店/PS)
数据隐私纯浏览器处理,照片不上传服务器需上传照片至云端处理照片交由店员或本地软件处理
处理速度1 秒内完成排版5-15 秒(含上传下载)数小时(含出门、排队、打印)
离线可用完全离线,断网也可使用必须联网需到店或安装软件
收费模式免费,无隐藏付费部分免费,高级版/去水印收费冲印店按张收费,PS需付费软件
输出格式直接生成 PDF 或图片,适配 5寸/6寸相纸部分仅支持在线预览或限制下载格式需手动排版,格式依赖操作者经验
操作门槛上传照片 → 一键排版 → 下载打印需选择尺寸、调整参数、等待上传需掌握 PS 或前往实体店沟通
批量处理单次上传多张,自动排满一版部分工具单次仅排一张手动复制粘贴,效率低

使用指南

上手步骤 · 输入输出 · 避坑提示

输入输出示例8 个典型场景,覆盖常规、边界与易错

输入输出说明
小一寸(22mm×32mm)5寸相纸(127mm×89mm):排8张(4行×2列) 6寸相纸(152mm×102mm):排10张(5行×2列)典型场景:学生证/考试报名常用尺寸
一寸(25mm×35mm)5寸相纸:排8张(4行×2列) 6寸相纸:排10张(5行×2列)典型场景:身份证/护照/驾照通用尺寸
二寸(35mm×49mm)5寸相纸:排4张(2行×2列) 6寸相纸:排6张(3行×2列)典型场景:毕业证/签证常用尺寸
大一寸(33mm×48mm)5寸相纸:排4张(2行×2列) 6寸相纸:排6张(3行×2列)边界case:与二寸尺寸接近,易混淆
5mm×5mm5寸相纸:排120张(12行×10列) 6寸相纸:排168张(14行×12列)边界case:极小尺寸,排版密度极限
100mm×150mm5寸相纸:排0张(超出纸张尺寸) 6寸相纸:排0张(超出纸张尺寸)边界case:单张照片大于纸张,无法排版
二寸(35mm×53mm)5寸相纸:排4张(2行×2列) 6寸相纸:排4张(2行×2列)易错case:二寸存在35×49和35×53两种标准
一寸(25mm×35mm)带3mm白边5寸相纸:排6张(3行×2列) 6寸相纸:排8张(4行×2列)易错case:白边占用排版空间,张数减少

常见错误对照8 个常踩的坑 · 错误 → 修复

1. 上传了非标准尺寸的原图(如手机自拍 4:3)

错误
一张 3024×4032 的 iPhone 照片直接上传,期望自动裁切成一寸照
修复
先自行裁剪或缩放为接近证件照比例(如一寸 295×413px)再上传

排版工具按固定尺寸(一寸 25×35mm)排布,原图比例偏差过大会导致自动裁切结果异常(头部被切/留白过多),建议用裁剪工具预处理

2. 选了 5寸 纸但照片尺寸与纸张不匹配

错误
在一张 5寸(127×89mm)纸上排 6 张 2寸(35×53mm)照片
修复
选择 5寸 纸时只排 4 张 2寸 照片(2×2 布局),或改用 6寸 纸排 6 张

5寸 纸可用面积约 120×80mm,2寸 照片 35×53mm 横排两张需 70mm 宽,竖排三张需 159mm 高,超出纸张高度,排版会溢出或自动缩放失真

3. 照片分辨率太低导致打印模糊

错误
用一张 200×300px 的微信头像生成一寸照排版
修复
使用分辨率 ≥ 300dpi 的原图,一寸照至少 295×413px(300dpi)

排版工具按物理尺寸(mm)输出,低分辨率照片在 300dpi 打印时会被插值放大,边缘锯齿明显。建议原图宽度 ≥ 300px 对应一寸照

4. 背景色不是纯色(有渐变/阴影)

错误
上传一张在白色墙壁前拍的半身照,墙壁有纹理和阴影
修复
使用纯色背景(白/蓝/红)拍摄,或先用去背景工具处理成纯色

排版工具不包含自动抠图功能,背景非纯色时输出照片边缘会有杂色或白边,打印后不自然。纯色背景才能保证排版后每张照片背景一致

5. 把多张不同尺寸的照片混排在同一张纸上

错误
同一张 6寸 纸上同时排 1寸 和 2寸 照片
修复
同一张纸只排同一尺寸的照片(全部 1寸 或全部 2寸)

排版算法按固定行列等距排列,混排会导致行高/列宽不一致,部分照片被裁切或留白。如需不同尺寸,分两次打印

6. 忽略打印机的边距设置

错误
排版后直接打印,发现照片被裁掉 5mm 边缘
修复
打印前在打印机设置中选择「无边距打印」或预留 3-5mm 出血边

大多数家用打印机默认有 3-5mm 页边距,排版工具按纸张满幅计算位置,实际打印会裁掉边缘照片。建议先打印测试页

7. 上传了带水印或文字的照片

错误
上传一张右下角有日期戳的证件照
修复
上传前用修图工具去除水印/文字,或裁剪掉带文字区域

排版工具不会自动去水印,带文字的照片排版后每张都有水印,不符合证件照要求。建议用去水印工具预处理

8. 照片方向不对(横竖颠倒)

错误
上传一张横向拍摄的半身照(宽>高)
修复
上传前将照片旋转为竖版(高>宽),或使用工具内置的旋转功能

证件照标准为竖版(高>宽),横版照片排版后头部朝向错误,打印出来无法使用。工具不会自动旋转

工作原理

公式推导 · 流程图解 · 依据出处

核心公式

N = floor(W / w) × floor(H / h)

变量说明

  • N — 单张相纸可排版的最大证件照数量
  • W — 相纸宽度(mm)
  • H — 相纸高度(mm)
  • w — 单张证件照宽度(mm)
  • h — 单张证件照高度(mm)

示例

5寸相纸(127mm × 89mm)排版一寸证件照(25mm × 35mm)。W=127,H=89,w=25,h=35。横向可排 floor(127/25)=5 张,纵向可排 floor(89/35)=2 张,N=5×2=10 张。实际排版时需考虑边距和裁剪线,通常输出 8 张(保留 2mm 边距)。

适用范围

适用于标准矩形证件照在矩形相纸上的紧密排版,不考虑旋转、边距和出血。实际打印需额外预留 2-3mm 边距,否则可能裁切到照片边缘。

原理图

上传照片选择证件照原图(JPG/PNG)选择排版参数照片尺寸纸张类型(5寸/6寸)浏览器内计算排版自动排列多张照片计算最佳布局预览并下载实时预览排版效果一键下载打印文件用户输入本地处理输出结果
用户输入 本地处理 输出结果

开发者集成

3 种主流语言 · 复制即用

from PIL import Image

# 证件照排版:将多张1寸照片排列到6寸相纸上
# 1寸照片尺寸:25mm × 35mm (约 118px × 165px @300dpi)
# 6寸相纸尺寸:152mm × 102mm (约 1795px × 1205px @300dpi)

# 加载单张证件照
photo = Image.open("id_photo.jpg").resize((118, 165))

# 创建6寸画布(白色背景)
canvas = Image.new("RGB", (1795, 1205), "white")

# 排版参数:横向4张,纵向3张,间距10px
cols, rows = 4, 3
margin_x, margin_y = 10, 10
start_x = (1795 - (cols * 118 + (cols - 1) * margin_x)) // 2
start_y = (1205 - (rows * 165 + (rows - 1) * margin_y)) // 2

# 排列照片
for row in range(rows):
    for col in range(cols):
        x = start_x + col * (118 + margin_x)
        y = start_y + row * (165 + margin_y)
        canvas.paste(photo, (x, y))

canvas.save("6inch_layout.jpg")
print(f"已生成6寸排版,共{cols * rows}张1寸照片")
package main

import (
	"fmt"
	"image"
	"image/color"
	"image/jpeg"
	"os"

	"golang.org/x/image/draw"
)

func main() {
	// 加载证件照
	photoFile, _ := os.Open("id_photo.jpg")
	defer photoFile.Close()
	photo, _, _ := image.Decode(photoFile)

	// 缩放到1寸尺寸(300dpi下约118x165像素)
	resized := image.NewRGBA(image.Rect(0, 0, 118, 165))
	draw.BiLinear.Scale(resized, resized.Bounds(), photo, photo.Bounds(), draw.Over, nil)

	// 创建6寸画布(1795x1205像素)
	canvas := image.NewRGBA(image.Rect(0, 0, 1795, 1205))
	// 填充白色背景
	draw.Draw(canvas, canvas.Bounds(), &image.Uniform{color.White}, image.Point{}, draw.Src)

	// 排版:4列3行,间距10px
	cols, rows := 4, 3
	margin := 10
	startX := (1795 - (cols*118 + (cols-1)*margin)) / 2
	startY := (1205 - (rows*165 + (rows-1)*margin)) / 2

	for row := 0; row < rows; row++ {
		for col := 0; col < cols; col++ {
			x := startX + col*(118+margin)
			y := startY + row*(165+margin)
			draw.Draw(canvas, image.Rect(x, y, x+118, y+165), resized, image.Point{}, draw.Over)
		}
	}

	// 保存结果
	outFile, _ := os.Create("6inch_layout.jpg")
	defer outFile.Close()
	jpeg.Encode(outFile, canvas, &jpeg.Options{Quality: 95})
	fmt.Printf("已生成6寸排版,共%d张1寸照片\n", cols*rows)
}
// 浏览器端证件照排版(使用Canvas API)
// 适用于纯前端无服务器方案

async function layoutIDPhotos(photoFile) {
  const img = await loadImage(photoFile);
  
  // 1寸照片尺寸(300dpi下像素)
  const PHOTO_W = 118, PHOTO_H = 165;
  // 6寸相纸尺寸
  const PAPER_W = 1795, PAPER_H = 1205;
  
  const canvas = document.createElement('canvas');
  canvas.width = PAPER_W;
  canvas.height = PAPER_H;
  const ctx = canvas.getContext('2d');
  
  // 白色背景
  ctx.fillStyle = '#FFFFFF';
  ctx.fillRect(0, 0, PAPER_W, PAPER_H);
  
  // 排版参数:4列3行,间距10px
  const cols = 4, rows = 3, gap = 10;
  const startX = (PAPER_W - (cols * PHOTO_W + (cols - 1) * gap)) / 2;
  const startY = (PAPER_H - (rows * PHOTO_H + (rows - 1) * gap)) / 2;
  
  for (let row = 0; row < rows; row++) {
    for (let col = 0; col < cols; col++) {
      const x = startX + col * (PHOTO_W + gap);
      const y = startY + row * (PHOTO_H + gap);
      ctx.drawImage(img, x, y, PHOTO_W, PHOTO_H);
    }
  }
  
  // 导出为JPEG Blob
  return new Promise(resolve => {
    canvas.toBlob(blob => resolve(blob), 'image/jpeg', 0.95);
  });
}

function loadImage(file) {
  return new Promise((resolve, reject) => {
    const img = new Image();
    img.onload = () => resolve(img);
    img.onerror = reject;
    img.src = URL.createObjectURL(file);
  });
}

// 使用示例:
// document.getElementById('fileInput').addEventListener('change', async (e) => {
//   const blob = await layoutIDPhotos(e.target.files[0]);
//   const url = URL.createObjectURL(blob);
//   const a = document.createElement('a');
//   a.href = url;
//   a.download = '6inch_layout.jpg';
//   a.click();
// });

常见问题

8 个高频疑问

怎么把一张照片排成多张放到一张纸上?
上传一张证件照原图(支持 JPG/PNG),工具会自动按 5 寸或 6 寸相纸尺寸(127×89mm 或 152×102mm)排版。默认是 4×6 排 8 张,也可以手动调整每行每列的张数、边距和间距。排好后直接下载打印用的 PDF 或 JPG,打印时选「实际大小」不缩放即可。
为什么排出来的照片打印出来尺寸不对?
常见原因有两个:一是打印时勾选了「适应页面」或「缩放」,应改为「实际大小」或 100% 缩放;二是上传的原图本身分辨率不足或比例变形,排版工具按原图宽高比放置,如果原图被拉伸过,排出来的尺寸也会偏差。建议上传前确认原图比例正确(如 1:1.4 的一寸照)。
支持排版哪些证件照尺寸?比如一寸、二寸、小一寸?
支持自定义输出尺寸,不限于固定标准。上传原图后,在「目标照片尺寸」字段输入想要的宽高(单位毫米),工具会按该尺寸裁剪并排版。常见的一寸(25×35mm)、二寸(35×49mm)、小一寸(22×32mm)、大一寸(33×48mm)都可以手动输入,工具不内置预设列表。
排版完成后下载的 PDF 可以直接拿去打印店吗?
可以。PDF 文件内已经按 300 DPI 分辨率生成,打印店直接打开选「实际大小」打印即可。建议打印前跟店员确认一下纸张尺寸(5 寸或 6 寸),避免自动缩放到 A4 纸。如果打印店系统不支持 PDF,也可以下载 JPG 格式,但 JPG 的分辨率固定为屏幕 DPI,建议优先用 PDF。
这个工具是免费的吗?排版数量有限制吗?
完全免费,不限排版次数。单次最多上传 1 张原图,但排版时可以重复排列同一张照片。如果有多张不同尺寸的证件照需要排在同一页,需要分多次排版后手动拼图,工具暂不支持多图混排。
在浏览器里排版会不会泄露我的照片?
不会。所有排版处理都在浏览器本地完成,照片不上传到任何服务器。可以断网后测试:上传照片、调整参数、下载结果,整个过程不需要网络连接。排版完成后关闭页面,照片数据即从内存清除。
排版出来的照片边缘有白边或裁切不齐怎么办?
白边通常是因为原图本身有白色背景多余区域,排版工具按原图边缘裁剪,不会自动去背景。建议上传前先用其他工具裁剪掉多余白边。裁切不齐可能是原图本身长宽比与目标尺寸不一致——工具会居中裁剪补白,如果不想被裁,可以把目标尺寸设成与原图相同的比例。
和手机上的证件照排版 App 比,这个工具有什么优势?
主要优势是无需安装、跨平台(Windows/macOS/Linux 浏览器都能用)、不联网也能工作。手机 App 通常限制免费排版次数,或者导出带水印,这个工具完全免费无水印。劣势是不能直接拍照抠图,需要先准备好处理好的证件照原图再上传排版。
选择 打开 +新窗口 esc关闭