← 返回博客列表
PDF教程阅读约 3 分钟

SVG里的px、mm、pt怎么换算成PDF页面尺寸?

从1px=0.75pt讲清SVG物理单位、viewBox、A4尺寸和图片PDF有效DPI,解决PDF页面大小不符合预期的问题。

本文目录

Advertisement

SVG 的尺寸可以写 px、mm、cm、in、pt,也可以完全不写单位;PDF 页面内部通常使用 pt(点)。如果把这些单位混在一起,最常见的结果就是:明明想导出 A4,得到的 PDF 却只有名片大小。

SVG2IMG 采用浏览器通用换算:

96 CSS px = 1 英寸,72 PDF pt = 1 英寸,因此 1 px = 0.75 pt。

常用单位对照

单位换算关系
1 in96 px
1 in72 pt
1 px0.75 pt
1 mm约 3.7795 px
1 pt约 1.3333 px

这些数值决定页面的物理大小,不等于图片清晰度。只有整页转成位图时,DPI 才直接影响细节。

210×297为什么不是A4

A4 是 210 × 297 毫米。下面这段 SVG 的宽高没有单位,会按像素解释:

xml
<svg width="210" height="297" viewBox="0 0 210 297">

210 px 在 96 DPI 下只有约 55.6 mm,所以导出的 PDF 会明显偏小。

真正表达 A4 应写成:

xml
<svg width="210mm" height="297mm"
     viewBox="0 0 210 297">

此时 width 和 height 指定实际纸张,viewBox 只是内部绘图坐标。坐标 1 并不必然等于 1 mm,只是这个例子恰好选择了相同数值,方便排版。

viewBox不会自动决定纸张大小

viewBox="0 0 800 600" 表示内部坐标范围和可见区域。它能控制缩放、裁切和画面比例,但不能单独说明这张图要印多大。

例如:

xml
<svg width="100mm" height="50mm" viewBox="0 0 1000 500">

PDF 页面是 100 × 50 mm,内部图形使用 1000 × 500 的坐标系统。修改 viewBox 可能让内容看起来被放大或裁切;修改 width、height 才会改变页面物理尺寸。

常见纸张尺寸

纸张mm96 DPI下的pxPDF pt
A4 竖版210 × 297793.70 × 1122.52595.28 × 841.89
A4 横版297 × 2101122.52 × 793.70841.89 × 595.28
A5 竖版148 × 210559.37 × 793.70419.53 × 595.28
Letter215.9 × 279.4816 × 1056612 × 792

阅读器显示时可能四舍五入,出现 209.9 mm 或 210.1 mm 一般不代表页面错误。

自定义像素尺寸会得到多大的PDF

如果输入 800 × 600 px,页面会转换为 600 × 450 pt,约 211.7 × 158.8 mm。这适合来自网页、UI 或幻灯片的像素设计,但不等同于标准纸张。

需要交付打印时,优先在源 SVG 中使用 mm、cm、in 或 pt,转换时选择原始尺寸。只有明确知道目标页面大小时,再手工输入像素值。

页面尺寸和DPI不是一回事

矢量路径没有固定 DPI,打印机可以按输出分辨率重新计算曲线。位图和图片 PDF 才有有效 DPI:

text
有效 DPI = 图片像素宽度 ÷ 页面英寸宽度

A4 宽 210 mm,约 8.27 英寸。图片宽度 2480 px 时约为 300 DPI;1240 px 时约为 150 DPI。

SVG2IMG 的图片 PDF 以 300 DPI 为目标,但最长边限制为 4096 px,以免大型页面占用过多浏览器内存。海报等大页面可能低于 300 DPI,下载前会显示实际估算值。

PDF尺寸不对时按这个顺序检查

  1. 查看根 <svg> 的 width、height 和 viewBox。
  2. 确认数字后是否遗漏 mm;210 默认不是 210 mm。
  3. 检查设计软件是否只导出了选中对象,而不是整个画板。
  4. 源文件已有物理单位时选择“原始尺寸”。
  5. 不要用阅读器的“适合页面”视觉大小判断纸张,查看文档属性。
  6. 需要印刷时按实际尺寸试印一页。

页面正确之后,还要与印刷方确认出血、裁切线、安全边距、CMYK、字体转曲和 PDF/X 要求。SVG转PDF工具 可以保留源 SVG 的物理单位,但专业印前设置仍应在排版软件中完成。

将文章中的方法用于实际文件

使用本地浏览器工具转换 SVG,无需上传文件。

打开转换器