首页 GIS基础理论 QGIS导出PDF乱码和导出PDF空白排查

QGIS导出PDF乱码和导出PDF空白排查

作者: GIS研习社 更新时间:2026-05-17 17:55:20 分类:GIS基础理论

QGIS导出PDF:乱码和空白排查流程

在项目出图、毕业设计制图或成果汇交时,QGIS导出PDF是很常见的交付步骤。问题是,布局预览看起来正常,导出的 PDF 却可能出现中文乱码、标注丢字、图面空白、只剩图例或比例尺等情况。

这类问题不要先怀疑软件坏了。更有效的做法是把 PDF 导出拆成四个环节:数据源是否正常、布局地图框是否正确、字体能否被 PDF 解释、导出方式是否适合当前图层。下面按这个顺序排查。

为什么QGIS导出PDF会乱码或空白

PDF 不是简单截图。QGIS 在导出时会把布局中的地图框、标注、图例、比例尺、文本框和图片重新渲染,再写入 PDF 文件。如果其中某个环节在导出环境里无法被正确解释,就会产生异常。

乱码通常和字体、属性编码、标注表达式有关。空白通常和地图框范围、图层可见性、数据源失效、比例尺限制、坐标系范围或矢量渲染复杂度有关。预览正常并不代表 PDF 阅读器、字体环境和导出参数也完全正常。

QGIS导出PDF乱码排查流程图,包含字体、编码和布局渲染检查
建议先按字体、数据源、地图框范围、导出参数四条线定位问题,而不是反复重新导出。

核心原理:PDF 导出看的是布局渲染链路

QGIS 的地图画布和布局导出不是同一个渲染场景。地图画布主要用于编辑和浏览,布局则用于印刷输出。布局中的地图框会保存自己的范围、比例尺、旋转角度和图层主题。即使主画布已经移动到正确位置,布局地图框也可能仍停留在旧范围。

字体也类似。你在本机能看到中文,不等于接收方的 PDF 阅读器可以用同样方式显示中文。如果 PDF 没有正确嵌入字体,或字体被替换,中文标注、图名、图例项就可能显示成方框、问号或乱码。

因此,排查时要同时看两个层面:先看 QGIS 项目内部是否已经正确,再看导出 PDF 的表达方式是否稳定。

QGIS导出PDF乱码的排查步骤

先确认乱码出现在什么位置

  • 如果图名、文本框、图例中文字乱码,优先检查布局文字和图层名称的字体。
  • 如果地图标注乱码,优先检查标注字段的属性编码和标注字体。
  • 如果属性表里本来就是乱码,先修复数据编码,再重新做标注和导出。

处理QGIS导出PDF乱码时,第一步不是改导出分辨率,而是确认乱码源头。源数据已经乱码时,PDF 只是把错误结果输出出来;源数据正常但 PDF 异常时,才重点检查字体嵌入和文本渲染方式。

检查中文字体是否稳定

  1. 打开布局,逐个选中文本框、比例尺文字、图例文字和标注样式。
  2. 把字体统一为常见中文字体,例如思源黑体、微软雅黑或项目团队统一安装的字体。
  3. 避免使用只在个人电脑上存在的设计字体,尤其是交付给其他电脑或打印店时。
  4. 重新导出 PDF,并在至少两个 PDF 阅读器中打开检查。

必要时把文字导出为路径

如果你的 QGIS 版本在 PDF 导出选项中提供文字渲染或文本导出相关设置,可以尝试把文字转为路径或轮廓。这样做的好处是跨电脑更稳定,坏处是文字通常不能再被复制、搜索,文件体积也可能增大。

正式交付时可以保留两份:一份文字可选的 PDF,方便审阅;一份文字路径化的 PDF,方便打印和归档。

QGIS导出PDF空白的排查步骤

先检查布局地图框范围

遇到QGIS导出PDF空白,先选中布局里的地图框,而不是只看主地图画布。确认地图框范围覆盖了你的数据,比例尺合理,并且没有锁定在一个没有要素的区域。

  1. 在主画布缩放到正确研究区。
  2. 进入布局,选中地图框。
  3. 使用更新地图范围、设置为画布范围或类似命令,让地图框重新读取当前范围。
  4. 导出前预览布局,而不是只预览主画布。

检查图层是否在当前比例尺可见

很多空白 PDF 不是导出失败,而是图层被比例尺可见性过滤掉了。检查图层属性里的比例尺范围、图层样式规则、符号过滤表达式和图层主题。如果布局地图框使用了某个图层主题,主画布后来打开的图层不一定会进入布局。

确认数据源没有失效

  • 检查图层面板中是否有丢失数据源的提示。
  • 移动项目文件后,确认 Shapefile、GeoPackage、栅格影像和样式文件路径仍然可访问。
  • 如果使用网络服务图层,先确认服务能正常加载,再导出。
  • 如果只在 PDF 中空白,尝试先把复杂图层导出为 GeoPackage 或栅格临时结果,再放入布局。

用栅格化导出做定位测试

当图层包含大量透明度、混合模式、复杂符号、标签遮罩或高密度矢量要素时,部分 PDF 阅读器可能显示异常。可以在导出选项中尝试以栅格方式输出,或先降低 DPI 做一次测试。如果栅格化后正常,说明问题多半在矢量 PDF 渲染复杂度,而不是数据本身。

常见坑点

  • 只刷新主画布,不刷新布局地图框:布局地图框有自己的范围和状态,必须在布局中检查。
  • 电脑上看正常,别人电脑乱码:多半是字体未嵌入或字体替换导致,不要只在自己电脑验证。
  • 属性字段编码混乱:旧 Shapefile 容易出现中文字段或属性编码问题,必要时转换到 GeoPackage 后再制图。
  • 导出分辨率过高:超大幅面、影像底图和透明效果叠加时,过高 DPI 可能导致导出慢、文件异常或阅读器显示不完整。
  • 使用在线底图交付:网络底图在导出时可能加载不完整,正式成果建议使用本地缓存或本地栅格底图。

导出方式对比:PDF、图片和 SVG

方式 适合场景 优点 注意点
PDF 报告、打印、归档、正式交付 版式稳定,适合保留矢量线划和文字 要重点检查字体、透明度、复杂符号和阅读器兼容性
PNG 或 TIFF 论文插图、网页配图、快速确认图面 所见即所得,不容易出现字体替换 放大后不如矢量清晰,文件尺寸受分辨率影响
SVG 后期进入矢量设计软件编辑 便于继续编辑线、面、文字对象 复杂符号和文字效果可能需要重新整理

交付前检查清单

  • 布局地图框范围正确,比例尺符合制图目标。
  • 所有图层数据源可访问,没有丢失路径或网络服务加载失败。
  • 中文字体统一,图名、图例、比例尺、标注都已检查。
  • 属性表中文正常,标注字段没有编码错误。
  • 图层可见性、图层主题、比例尺过滤和规则样式符合预期。
  • 分别用常用 PDF 阅读器和浏览器打开结果文件检查。
  • 复杂图层先导出低 DPI 测试,再导出正式分辨率。
  • 重要成果同时保留 QGIS 工程文件、数据文件、字体说明和最终 PDF。

FAQ

QGIS导出PDF乱码一定是编码问题吗?

不一定。属性表本身乱码时才优先查编码;属性表正常但 PDF 异常时,更常见的原因是字体没有稳定嵌入、接收方电脑缺少字体,或 PDF 阅读器对某些字体处理不好。

QGIS导出PDF空白为什么预览正常?

常见原因是你看到的是主画布正常,而布局地图框没有同步更新。也可能是图层主题、比例尺可见性、在线底图加载、透明渲染或 PDF 阅读器显示问题。先在布局里检查地图框,再做栅格化导出测试。

导出 PDF 时应该保留矢量还是改成栅格?

正式地图线划、行政边界、道路和标注一般适合保留矢量,放大后更清晰。包含大量影像、透明效果、复杂符号或阅读器兼容问题时,可以用栅格化输出作为交付版本。判断标准很简单:以最终接收方能稳定打开、打印不出错为准。

中文标注正常,但图例中文不正常怎么办?

标注、图例和布局文本可能使用不同字体。打开布局中的图例属性,检查标题、组名、图层名和项目字体;同时检查图层名称是否来自乱码的数据源或旧工程文件。

结论

导出 PDF 出问题时,按“数据源、布局地图框、字体、导出参数”四步排查,通常能快速定位。乱码优先看字体和编码,空白优先看地图框范围、图层可见性和数据源。把这些检查固化成出图清单,比反复更换导出按钮更可靠。

相关文章