免费在线 PDF 页面旋转
将 PDF 中的单个页面或所有页面旋转 90°、180° 或 270°。即时结果,无需上传到任何服务器。
支持 PDF 文件 · 最大 100 MB
使用方法
- 在上方选择或拖放 PDF 文件。
- 使用批量控件一次旋转所有页面,或单独旋转每一页。
- 页面在 您的浏览器中 旋转 · 不上传到任何服务器。
- 立即下载旋转后的 PDF。
什么时候需要旋转 PDF?
PDF 页面有时方向是错的,可能是侧着扫描进去的、上传时上下颠倒、或者来自一份混合方向的源文档却有一两页旋转错了。修正方向对于文档管理、归档、OCR 流水线以及任何要给人阅读的场景都很重要。本工具可在一次操作中纠正单个页面或整份文档的方向,无需安装软件,也不会把文件发送到任何地方。
旋转选项
- 顺时针 90° · 将每一页向右旋转四分之一圈。
- 逆时针 90° · 将每一页向左旋转四分之一圈。
- 180° · 将每一页上下翻转。
常见问题
我可以单独旋转某些页面吗?
可以。列表中的每一页都有自己的旋转控件。您可以独立旋转页面,或使用批量控件一次将相同的旋转应用于所有页面。
有文件大小限制吗?
PDF 文件最大可达 100 MB。由于处理在浏览器中进行,非常大的文件可能会根据您的设备花费一些时间。
我的 PDF 会被上传到服务器吗?
不会。所有旋转都在您的浏览器中本地进行。您的 PDF 永远不会离开设备,完全私密和安全。
旋转会影响 PDF 质量吗?
不会。旋转是一种元数据操作,不会重新编码或压缩 PDF。您的文档将保持 100% 的原始质量。
我可以撤销旋转吗?
可以。您可以通过选择相反方向将页面旋转回去。如果您已下载并希望重新开始,只需重新上传即可。
用 PDF 的术语来说,旋转是什么
PDF 在每一页的字典里用一个整数来存储旋转,键名为 /Rotate。合法值是 0、90、180 和 270(度,顺时针),该条目告诉查看器或打印机在显示或打印时应该把页面顺时针旋转多少度。底层的内容流,也就是构成页面的文本绘制和图像绘制运算符,在旋转操作中从来不会被改动。这就是全部机制。PDF 旋转是元数据,不是内容。
由此带来的结果是,旋转在存储上基本是免费的。输出文件与输入文件逐字节相同,只有受影响的页面字典里的 /Rotate 值和库在序列化时写出的新的交叉引用表条目不一样。100 MB 的扫描件旋转后还是 100 MB 的输出;100 KB 的文本 PDF 旋转后还是 100 KB 的输出。没有重新压缩,没有栅格化,也不可能发生字体替换。当源文件和输出在同一个查看器以新的旋转角度渲染时,可见内容在像素层面上完全一致。
/Rotate 的小史
/Rotate 条目自 1999 年 PDF 1.3 版本起就是 PDF 规范的一部分。更早的 PDF 版本允许页面对象上更通用的 /Matrix 条目来指定任意仿射变换,但允许指定非正交旋转造成了互操作性问题:不同的查看器对倾斜旋转的处理不同,打印输出有时也与屏幕显示对不上。PDF 1.3 把契约收窄到四个正交旋转(0、90、180、270 度),/Rotate 成为指定页面方向的通用机制。
2008 年的 ISO 32000-1 和 2020 年的 ISO 32000-2 都原封不动地保留了相同的定义。正交性约束在实践中从来不是限制。真正需要旋转的工作流程,扫描仪校正、手机相机拍摄、传真方向、混合方向文档,都是四分之一圈的旋转。页面的非正交旋转(比如倾斜 45 度的水印)更适合用 Form XObject 把旋转后的内容画进去,这是 PDF 规范仍然为特殊场景所允许的另一种机制。
旋转的实际过程
本工具的旋转通过 pdf-lib 完成,这正是本站合并、拆分、压缩工具所使用的同一个 JavaScript 库。第一步,源 PDF 通过标准 File API 读入浏览器标签页。第二步,pdf-lib 解析交叉引用表并暴露出页面对象列表。第三步,对于用户选定的每一页,工具读取当前旋转值,按模 360 计算新的总值,并把结果写入页面字典的 /Rotate 条目。第四步,文档通过 PDFDocument.save() 序列化为字节,并作为下载交付给磁盘。
批量模式在一次操作中给每一页应用相同的旋转。逐页模式给特定页面应用不同的旋转。两种模式相对于文件大小基本是常数时间:重活是解析和序列化交叉引用表,而不是遍历页面本身。一份 500 页的 PDF 旋转所用的实际时间与 5 页的 PDF 差不多,差别在于读取和写入更大文件的 I/O 成本。旋转的算术本身每页只要几微秒。
为什么旋转后的尺寸在其他工具里看起来很奇怪
每个 PDF 页面带有一组小型几何矩形:MediaBox(物理纸张矩形)、CropBox(可见区域,默认等于 MediaBox)以及印刷生产用的矩形(BleedBox、TrimBox、ArtBox)。/Rotate 条目不会修改其中任何一个矩形。这些矩形是在未旋转的用户空间中定义的;查看器在渲染时把 /Rotate 当作变换矩阵应用,按指定角度同时旋转页面内容和矩形。实际后果:一张美式 letter 纵向页面(612 乘 792 点)若带 /Rotate 90,在 PDF 源文件中 MediaBox 仍然是 (0, 0, 612, 792),但查看器把它显示为 792 乘 612 的横向页面。
读取 PDF 尺寸的工具需要把 MediaBox 与 /Rotate 值结合起来才能得到屏幕上的方向。忽略 /Rotate 的工具会报错尺寸,这就是为什么某些 PDF 转图像的转换器或页面缩略图生成器偶尔会输出侧倒的图。如果你把一份旋转后的 PDF 交给下游工具,而输出却是侧的,修复办法是把旋转扁平化到内容流里,把方向烘焙进去,这样即便对旋转视而不见的工具也能正确处理。在线 PDF 展平,免费 工具正是做这件事。
推动旋转使用的真实工作流程
- 手机相机拍摄。 手机端 PDF 扫描应用(Adobe Scan、Microsoft Lens、Apple Notes、CamScanner)通过手机摄像头采集页面并拼装成 PDF。方向元数据有时正确有时不正确,用户往往要等到在桌面查看器中打开 PDF 或作为邮件附件发送时才注意到方向错了。这里批量旋转是正确的修复方式:同一次扫描会话产生的每一页通常都需要相同的纠正。
- 自动进纸器(ADF)意外。 带自动进纸器的办公扫描仪一次性把一摞页面数字化。摞内方向混杂是主要的失败模式:操作员把某些页面装反了,双面单元把某一页翻错了,或者文档本身就混合了纵向和横向页面(比如带宽幅表格附件的合同)。逐页旋转可以处理这种情形:只有受影响的页面需要关注。
- 传真转 PDF 的转换。 较老的传真服务器软件把收到的传真页面转成 PDF,并应用一个默认方向,这个方向常常和发送方的意图不一致。来自传真的页面可能侧着或倒着出现,尤其是当发送方的设备配置为不同纸张尺寸时。仍在使用传真的政府、法律和医疗工作流经常碰到这种模式。批量旋转是标准修复方式。
- 混合方向的导出。 正文为纵向、为了宽表格夹着一两页横向的报告很常见。把报告从 Word、Google Docs 或 LibreOffice 导出为 PDF 时,横向页面有时会带着
/Rotate 0而不是/Rotate 90导出,结果是文档在源应用里看起来对,但在第三方查看器里却不对。逐页旋转可以修正横向页面而不动纵向页面。 - 从非标准应用打印到 PDF。 从 CAD 软件、会计程序、ERP 系统或嵌入式设备上把打印任务保存为 PDF,有时会产生带有意料之外的
/Rotate值的文件,因为驱动是为纸张输出而非屏幕显示而写的。修复办法是把方向旋到一个标准朝向,通常让页面较宽的那条边水平。 - 翻译和审校工作流。 双语文档、语言测试答题纸和翻译过的证书经常一种方向给原文页面,另一种方向给译文页面。逐页旋转可以让每个部分都按预期的方向保持可读。
常见陷阱与变通办法
- 忽略 /Rotate 的 OCR 流水线。 有些光学字符识别系统直接从 PDF 中提取原始内容流并对其运行识别,完全不应用页面的旋转矩阵。一张在查看器里看起来正常但带有
/Rotate 90的页面,在 OCR 输出里可能会得到侧倒的文字。修复办法:把旋转后的 PDF 通过 在线 PDF 展平,免费 工具把旋转烘焙到内容流里,然后在扁平化后的副本上跑 OCR。 - 表单字段的旋转表现不一致。 PDF 规范在历史上对一个问题模棱两可:小部件批注(也就是表单字段可见的那部分)究竟该跟随页面的
/Rotate值,还是保持原来的方向。各家查看器表现各异:Acrobat 会应用旋转,旧版的 pdf.js 不会应用,现代 pdf.js 大多数情况下会应用。可见的结果是旋转过的页面上的表单字段有时会侧着出现。修复办法:在旋转之前先把表单扁平化,或者只在不含表单字段的页面上应用旋转。 - 数字签名会被破坏。 数字签名是对输入文件特定字节范围的密码学哈希。旋转一页会改变
/Rotate条目,从而改变字典的字节表示,从而改变文档的字节,从而破坏哈希。输出 PDF 会在任何合规查看器中显示「签名无效」或「无法验证签名」。这是密码学上正确的行为,而不是工具的 bug。如果文档必须保持签名状态,旋转必须发生在签名应用之前。 - 绑定到坐标的书签可能会偏移。 PDF 书签和链接批注可以指向页面上的某个 (x, y) 坐标。旋转页面不会变换这些坐标;书签依旧指向旋转后用户空间中的同一个位置,而这个位置现在可能在可见区域之外。大多数查看器会把目标四舍五入到最近的可见位置,但四舍五入有时会落到错的地方。引用整页的书签(常见情况)不受影响。
- 倾斜不同于旋转。 如果你的扫描件倾斜了 5 度或 10 度(没对齐四分之一圈),本工具无能为力:PDF 规范只允许
/Rotate条目取 90 的倍数。倾斜校正需要把页面栅格化、应用任意仿射变换并重新输出旋转后的栅格,这样会产生更大且有损失的文件。倾斜的正确修复方式是重新扫描时把文档摆正,或者使用具备图像处理能力的桌面工具(Adobe Acrobat Pro 的增强扫描,或者使用自定义矩阵的 qpdf)。 - 加密的 PDF 无法加载。 带有打开密码的 PDF 在密码提供之前无法解析。本工具不支持加密的输入。工作流:先用 免费在线 PDF 解锁 工具去掉保护,在这里旋转解锁后的副本,如有需要再用 PDF 密码保护 工具给输出重新加上保护。
为什么旋转后的文件大小不变
输出 PDF 与输入相比总共只多出几十个字节:改动过的 /Rotate 整数,加上 pdf-lib 在序列化已修改文档时写出的新的交叉引用表条目。其余一切,字体、图像、矢量图形、内容流运算符,都是从输入按字节原样写入的。100 MB 的输入产生约 100 MB 的输出。这就是基于元数据的旋转在运行上的优势:这是存储成本最低的 PDF 变换,也是唯一可以完全可逆的 PDF 操作(旋转 90,再旋转 270,你就回到了原始文件,只是交叉引用表的顺序略有变化)。
仅浏览器旋转 vs 云端旋转
占据搜索结果顶部的云端 PDF 旋转工具(Smallpdf、ILovePDF、Adobe Acrobat Online、PDF24 的 Web 应用、Sejda、PDF2Go)都会把你的源 PDF 上传到它们的服务器,在服务端完成旋转,然后把旋转后的输出作为下载交付给你。它们的隐私政策声明上传的文件会在几小时内删除,但文件已经过运营商的网络,在处理期间存在于其磁盘上,并经过运营商为了滥用检测而保留的各种日志。免费档通常会限制每天的操作次数;付费档则取消限制。
本工具不上传。你的 PDF 通过标准 File API 读入浏览器标签页,由 pdf-lib 在同一个标签页中解析,输出再通过标准下载 API 写回磁盘。一次旋转期间唯一的网络流量是第一次打开页面时从 CDN 一次性加载 pdf-lib。你可以自己验证:把浏览器的开发者工具切到「网络」标签页,运行一次旋转,看是否有任何带着你文件内容的请求发出。隐私保证的代价是浏览器内存:非常大的 PDF(通常在手机上超过 100 MB,在桌面上几百 MB)可能会用尽 JavaScript 堆。对装得下的文件,输出与云端工具产出的可以互换;对装不下的文件,云端工具有优势。
更多常见问题
旋转是「永久的」吗?
「永久」并不是用户通常想表达的那个意思。一旦 /Rotate 条目被写入并且文件被保存,每一个合规的 PDF 查看器每一次都会以新方向显示该页面。可见效果是永久的。底层内容流没有变,这对几乎所有工作流来说都是正确的行为:PDF 保持小巧,旋转是精确的,以后的工具也能在没有质量损失的情况下撤销它。如果用户想要那种把方向烘焙进内容流的「永久」旋转(以便对旋转视而不见的工具也能看到新方向),应该在旋转后再用 PDF Flatten 工具。
我能按 90 度以外的角度旋转吗?
不能。PDF 规范只允许 /Rotate 条目取 90 的倍数。任意角度旋转需要通过另一种机制重新渲染页面内容,这样会产生更大且有可测量质量损失的文件。提供「任意角度」旋转的工具会先把页面栅格化,旋转栅格图,再把它作为图像输出;输出是另一类 PDF(仅图像),会失去任何可选择的文本或矢量图形。如果是真正的纠偏需求,正确做法是重新扫描并对齐,或使用结合了栅格化与倾斜检测的桌面工具。
我旋转一份已签名的 PDF 时,数字签名会怎样?
签名会被作废。数字签名是对文件确定字节范围的密码学哈希;旋转页面会改字典条目,从而改字节,从而破坏哈希。没有办法让签名穿过旋转还保持有效。输出 PDF 仍然能正确显示内容,但 Acrobat 或任何合规查看器的签名面板会显示「签名无效」或「文档自签署以来已被修改」。如果文档必须保持已签状态,旋转必须发生在应用签名之前。这是密码学上正确的行为,不是工具的限制。
为什么我的 PDF 在 Chrome 中显示正确,但在 Word 的 PDF 预览中却是侧的?
几乎总是查看器的 bug 而不是文件的问题。Chrome 用 pdf.js,它多年来都正确支持 /Rotate 条目。Word 的 PDF 预览、OneDrive 的预览、某些老旧电子书阅读器以及少数遗留的企业级查看器有时会忽略 /Rotate,按未旋转的方向显示页面。变通办法是把旋转扁平化:把旋转后的 PDF 通过 在线 PDF 展平,免费 工具,把旋转烘焙进内容流,这样即便对旋转视而不见的查看器也能显示正确方向。
我可以在手机上旋转 PDF 吗?
可以,只要文件装得下浏览器内存。移动浏览器一般允许 JavaScript 每个标签页用几百 MB 的堆,对大多数 PDF 来说足够,但对非常大的扫描件不够。粗略指南:几百 MB 以内的纯文字 PDF 在手机上旋转都没问题;超过 50 到 100 MB 的图像密集型扫描件可能会耗尽内存导致标签页崩溃。如果文件过大,变通办法是在桌面上旋转、先用 免费 PDF 拆分工具 工具拆成更小的文件再分别旋转、或者先用 免费在线 PDF 压缩 工具压缩之后再旋转。
旋转能用于 PDF/A 归档文件吗?
能。PDF/A 是 PDF 的一个受约束的子集,要求文件保持自包含和可复现:字体内嵌、没有外部依赖、没有加密。/Rotate 条目在 PDF/A 中是被明确允许的,旋转也保留 PDF/A 合规性,因为该操作不触及任何 PDF/A 特有的约束。对一份 PDF/A 合规的输入做旋转操作,输出本身也是 PDF/A 合规的,只是交叉引用表的顺序会因为任何保存操作而重新排列。