一、为什么需要一个"不折腾"的 A3 转 A4?

很多工程师、设计师、学生都遇到过这种场景——手头拿到一份 A3 尺寸的 PDF 图纸或报告,但是:

  • 屏幕看太费劲 — A3 页面在普通屏幕上需要频繁缩放和拖拽,阅读体验极差
  • 打印打不出来 — 家里或办公室只有 A4 打印机,A3 页面直接打就会缩小到看不清
  • 编辑软件太重 — 用 Acrobat 拆分,操作隐蔽、步骤繁琐,而且正版还不便宜
  • 在线工具不靠谱 — 要么有广告有水印,要么传上去半天没反应,还担心隐私泄露

我在 agent.linkedshine.com/tools?module=transfer&tool=a3toa4 的工具集里内置了一个 A3 转 A4 工具,拖拽上传、一键转换,简单到不用看教程。


二、工具入口

在线地址:A3转A4 - 在线工具(备选:A3转A4 - 在线工具

打开后点击左侧 「PDF 工具」 分类下的 「A3转A4」 即可进入。


三、它能做什么?

这个工具的核心思路很直接:把 A3 页面从正中间一分为二,变成左右两张 A4,然后合并成一个新的 PDF。

特性 说明
拖拽上传 直接把 PDF 拖入页面,或者点击选择文件
中缝裁切 每页 A3 沿中线垂直切分为左右两页 A4
内容不缩放 原始内容保持原有比例,只是分别展示左右半区
合并下载 所有切分后的 A4 页面合并为一个新 PDF,一键下载
文件限制 最大支持 50MB 的 PDF 文件

注意:工具默认按 A3 宽度对半切分,如果原 PDF 不是标准 A3 尺寸,也会按页面宽度的一半来拆分,逻辑是一样的。


四、几个实用场景

场景一:打印图纸和设计稿

拿到一份 A3 的 CAD 导出版本,但手边只有 A4 打印机。上传后直接拆成 A4 页面,打印出来拼在一起就是完整的图纸。

场景二:在平板上阅读文献

很多学术论文的扫描版是 A3 大开本,在 iPad 上看得眼睛疼。转成 A4 后,每页大小刚好适配屏幕,左右滑动翻页非常流畅。

场景三:归档和分发

公司的工程文档原始是 A3 格式,发给客户或合作伙伴时,对方不一定有 A3 打印机。提前转成 A4 分发给所有人,不用解释、不用教。

场景四:合并到 A4 报告

想把 A3 图纸附录到 A4 报告的末尾,直接转完后和正文合并,整份文档页码统一、尺寸统一。


五、技术实现(给感兴趣的朋友)

核心算法:pdf-lib 的 embedPage + drawPage

整个转换逻辑没有引入任何 C 扩展或外部服务,纯靠 pdf-lib 库完成。关键思路是:不重新渲染内容,而是用页面嵌入 + 裁剪窗口的方式搬运内容流

import { PDFDocument } from 'pdf-lib'

async function convertA3ToA4(inputBytes: Uint8Array): Promise<Uint8Array> {
  const srcDoc = await PDFDocument.load(inputBytes)
  const dstDoc = await PDFDocument.create()

  for (let i = 0; i < srcDoc.getPageCount(); i++) {
    const srcPage = srcDoc.getPage(i)
    const { width, height } = srcPage.getSize()
    const halfWidth = width / 2

    // 嵌入源页,复用内容流,避免重新编码
    const embedded = await dstDoc.embedPage(srcPage)

    // 左半页:放在新页 (0, 0) 位置
    const leftPage = dstDoc.addPage([halfWidth, height])
    leftPage.drawPage(embedded, {
      x: 0, y: 0,
      width: width, height: height,
    })

    // 右半页:向左偏移 halfWidth,露出右半部分
    const rightPage = dstDoc.addPage([halfWidth, height])
    rightPage.drawPage(embedded, {
      x: -halfWidth, y: 0,
      width: width, height: height,
    })
  }

  return await dstDoc.save()
}

算法图解:

A3 原页 (width × height)
┌─────────────────────┐
│         │           │
│  左半区  │  右半区    │
│         │           │
└─────────────────────┘
     ↓ 拆分
┌──────────┐  ┌──────────┐
│  左半 A4  │  │  右半 A4  │
└──────────┘  └──────────┘

几点设计考量:

  1. embedPage 复用内容流 — 不是把内容重新渲染两遍,而是嵌入一次、绘制两次,省内存也更快
  2. 平移变换实现裁切 — 左半页 x:0 露出左半,右半页 x:-halfWidth 左移后露出右半,本质是"窗口平移"而非"内容裁切"
  3. drawPage 保持原始尺寸 — 新页绘制的 width 和 height 保持源页尺寸,不会缩放内容
  4. 纯服务端处理 — PDF 内容不离开服务器,转换完成后直接返回二进制流

六、总结

这个 A3 转 A4 工具的特点:

  1. 拖拽即用,无需安装任何软件
  2. 中缝裁切,每页 A3 精确拆分为左右两页 A4
  3. 内容不变形,不缩放、不压缩,只是分开显示
  4. 隐私安全,文件上传后在服务端转换,转换结果即返回,不留存
  5. 免费无广告,界面干净简洁

在线体验:A3转A4 - 在线工具(备选:A3转A4 - 在线工具

PDF 工具集还在持续扩展中,后续还会上线合并 PDF、压缩 PDF 等更多实用工具。

用得好的话点个赞收藏,遇到问题欢迎留言交流~


更多免费在线工具,尽在 agent.linkedshine.com/tools

 

Logo

免费领 150 小时云算力,进群参与显卡、AI PC 幸运抽奖

更多推荐