图片转 PDF — 在线批量合并图片为 PDF,本地处理不上传
把照片、截图和扫描件合并成一份 PDF,看似只是换个文件后缀,其实是为每张图决定页面大小、比例与留白。全程在浏览器本地完成,图片不上传,断网后页面还开着也能用。支持 JPG、PNG、WebP、BMP 与静态 GIF,可点选、拖拽批量添加、粘贴截图或填图片地址加载。手机竖拍照片会按方向标记摆正,动态图只取首帧,损坏文件与超大图会被拦下。缩略图可拖拽调序、置顶置底、逐张旋转删除,横竖图混排无碍。纸张有 A4、A3、A5、Letter、Legal、B5,也可跟随图片尺寸让每页不一样大;方向支持纵向、横向与按图自动,四边边距与背景色可调。适配提供包含、铺满裁剪、拉伸填满与原始尺寸嵌入,拉伸需单独开启,禁止放大能避免小图发虚。画质有质量滑块与 JPEG/PNG 编码,符合条件的 JPG、PNG 可无损嵌入原图字节,不二次编码。另有网格拼版、页码页眉与超长图自动分页。右侧分页预览直接渲染成品,可自定义文件名下载,也能取出 Blob 与字节数组对接打印。
导入图片
链接导入需要对方服务器允许跨域;取不到时请把图片存到本机再拖进来。
图片列表与排序
拖动卡片可调换 PDF 页码顺序,也可以用卡片上的按钮上移、下移、置顶或置底;横图与竖图可以混排。
PDF 纸张设置
自适应模式会让每一页的大小跟随该页图片,同一个 PDF 里可以出现不同尺寸的页面;固定纸张配合「自动」方向也能按每张图的横竖切换纵向与横向。
上下左右可独立设置,单位是毫米;边距过大时会自动收缩以保证页面还有可用区域。
透明 PNG 未覆盖的区域会显示这个底色,导出 JPEG 编码时也会用它填充透明区。
图片适配
包含会等比缩放并留白;铺满会填满可用区域并裁掉超出的部分;原始尺寸按分辨率把像素换成点数,不放大也不缩小。
拉伸会让图片变形,默认锁住;勾选上面的开关后才可选用。禁止放大可避免小图被拉到整页而发虚。
画质与编码
符合条件的 JPG 与 PNG 会以原始字节直接写进 PDF,不解码也不二次压缩,体积更小、画质不变。旋转、翻转、缩放长边、自动分页、EXIF 方向需要修正,以及 WebP、BMP、GIF 都会改为重新编码。
只对重新编码的图片生效;数值越高越清晰,文件也越大。无损嵌入的原图不受影响。
默认开启。无损嵌入 JPEG 时会移除 APP1 元数据段而不触碰压缩像素;重新编码生成的图片本身就不含 EXIF。
导入后把所有图片的长边压到指定像素以内,会重新编码,与无损嵌入互斥。
进阶排版
一页多图会把相邻图片分到同一页的格子里,适合做照片索引页或证件拼图;超长图自动分页只在「一张一页」时生效。
长截图或长扫描图的高度超过设定倍数时,会按页面可用高度切成多页,每页按包含方式摆放,不拉伸变形。
导出与下载
成品预览
上面的体积是按图片与编码方式估算的,生成后会换成真实大小。
操作说明
- 把图片拖进页面,或点选择图片一次挑好几张;也可以直接按粘贴快捷键把截图贴进来,手头只有链接就填进图片链接框。工具按文件头识别真实格式,扩展名写错也能认出来,动态图只取第一帧,手机竖拍的照片会先按方向标记摆正。
- 在「图片列表与排序」里拖动卡片调整 PDF 的页码顺序,也可以用上移、下移、置顶、置底按钮;每张图能单独旋转九十度或删除,还能全选后批量移除、一键旋转或翻转全部图片。右侧预览会立刻按新顺序重排。
- 到「PDF 纸张设置」挑纸张、方向与边距,选跟随图片尺寸时每页可以不一样大;再到「图片适配」挑包含、铺满裁剪或原始尺寸嵌入,需要拉伸变形要先打开允许开关。想一页放多图就到「进阶排版」选网格,长截图可以打开自动分页,页码与页眉也能一并设置。
- 在「画质与编码」里决定是否启用无损嵌入:符合条件的 JPG 与 PNG 会原样写进文件,其它情况用质量滑块与编码格式控制体积。最后看右侧分页预览翻页确认,填好文件名点下载 PDF;需要对接程序就点取出 Blob,或直接调用浏览器打印。
常见问题解答
图片会被上传到服务器吗?生成的 PDF 安全吗?
不会。解码、排版、编码和预览全部由浏览器在本机内存里完成,页面不向任何服务器发送原图或成品,断网后只要页面已经打开就还能继续用。链接导入是唯一的例外:浏览器需要直接从你填的地址取图,这一步受对方服务器的跨域策略限制,取不到时把图片存到本机再拖进来即可。清除浏览数据后本机也不会留下副本。
无损嵌入和普通的质量滑块有什么区别?
质量滑块控制的是重新编码:图片先被解码到画布,再压成 JPEG 或 PNG,数值越高越清晰但文件越大。无损嵌入走的是另一条路,直接把 JPG 或 PNG 的原始字节交给 PDF 图像对象,不解码也不二次压缩,像素完全不变,通常体积还更小。它的条件比较严格:原图必须是 JPG 或 PNG、没有旋转翻转、没有统一缩放长边、没有 EXIF 方向需要修正,也不参与自动分页切片。页面会在图片卡片上标出哪些图需要重新编码。
手机拍的照片方向歪了,EXIF 又被清掉了会不会有问题?
不会歪。相机常把竖拍照片横着存,只在 APP1 元数据段里写一个方向标记;工具解码时按这个标记把画面先摆正,再开始排版。默认开启的去除元数据,在无损嵌入 JPEG 时只移除元数据段,压缩后的像素一个字节都不动;重新编码生成的图片本来就不含 EXIF。这样既不会因为阅读器忽略方向标记而躺倒,也不会把拍摄时间、定位、机型带进成品。
包含、铺满裁剪、拉伸、原始尺寸该选哪一个?
给证件、合同、截图归档用包含,整张图完整可见,代价是四周留白。做封面或照片墙用铺满裁剪,画面填满可用区域,超出的边缘会被裁剪路径挡掉,主体要放在中间。拉伸会强行把宽高写成页面尺寸,人物和文字会变形,所以默认锁住、需要单独打开开关。原始尺寸按分辨率把像素换成点数摆放,适合高清扫描件,图片大于页面时超出部分会被裁掉。开启禁止放大后,小图不会被拉到整页发虚。
长截图放进去字太小,一页多图和自动分页怎么配合?
在「进阶排版」打开超长图自动分页,高度超过设定倍数的图片会按页面可用高度切成多页,每页用包含方式摆放,不拉伸变形,长截图和长扫描件就能逐页读清。这个模式只在「一张一页」网格下生效。如果反而想把多张照片排进同一页做索引,就选两列两行或三列三行网格,再调网格间距,两种需求按用途二选一即可。页数过多时有上限提示,可以先统一限制长边减少体积。
概念
PDF 的一页本质是一张有固定尺寸的坐标纸,单位是一点,等于七十二分之一英寸;A4 就是五九五点二八乘八四一点八九点。图片在 PDF 里是独立的图像对象,页面内容流只记录一条变换矩阵,告诉阅读器把这张图放到哪个矩形里。因此转换并不是把像素改写成另一种像素,而是给每张图决定一个目标矩形,再把原图数据嵌进文件。矩形怎么定,取决于纸张、边距和适配规则:包含取宽高较小的缩放比,保证整张图可见但会留白;铺满取较大的缩放比,用裁剪路径把超出页面的部分挡掉;拉伸直接把宽高写成页面可用区域,比例会失真;原始尺寸则按分辨率把像素换成点数,不放大也不缩小。嵌入方式又分两条路:JPEG 与 PNG 本来就是 PDF 原生支持的图像编码,可以字节原样写入,不解码也不二次压缩,画质与体积都保持原样;WebP、BMP、GIF 以及任何需要旋转、翻转、缩放、切片的图,则要先解码到画布再重新编码。理解这两层的区别很重要:重排页面几乎不损失画质,重新编码才会。另外,PDF 阅读器通常忽略 EXIF 方向标记,所以带方向信息的手机照片必须在嵌入前把旋转烘进像素,否则页面上的图会是躺着的。
历史与由来
PDF 诞生于一九九一年 Adobe 的 Camelot 计划,目标当时被称作通用文档:无论用什么机器、什么软件、什么字体,打开后版面都该一模一样。一九九三年 Acrobat 与 PDF 一点零发布,页面描述沿用 PostScript 的成像模型,坐标以七十二分之一英寸为一点,这正是今天 A4 是五九五点二八乘八四一点八九、一毫米约等于二点八三点的来历。早期往 PDF 里放图片并不轻松:先把图像按 DCT 或 Flate 编成流对象,再写进页面资源字典,最后用一条变换矩阵决定它在页面上的位置和大小。这套结构后来反而成了优势:图片在 PDF 里是独立对象,页面只管摆放,所以同一张图可以在多页复用,缩放也不必重新解码。九十年代末数码相机普及,扫描仪与图库开始把成批照片打包成 PDF 归档,图片转 PDF 第一次成为独立需求。二〇〇八年 Adobe 把 PDF 一点七交给 ISO,成为 ISO 三二〇〇〇之一,格式从公司规范变成公开标准,浏览器也陆续内置阅读器。真正的转折在 HTML5 之后:画布可以读像素、可以导出 JPEG 与 PNG,Fetch 能取到远端图片,WebAssembly 让解析库跑进页面;再往后,pdf-lib 这类库让前端可以直接创建页面、嵌入图像流、写裁剪路径,pdf.js 则把生成的字节立刻渲染回屏幕。于是以前必须交给服务端的拼版,可以在本机内存里闭环完成:原图不出设备,预览即成品,下载即得文件。有趣的是,格式走过了三十多年,页面坐标还是那套点制,边距还是按毫米换算,而用户纠结的仍然是九十年代那几件事:要不要留白、会不会裁掉、清不清楚。变的只是这些选择终于能被即时看见。
相关关键词
纠错反馈
如果发现工具问题或有任何建议,欢迎通过邮箱联系我们,我们会认真查看每一条反馈。
