You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Access中PDF打印按钮失效求助:运行时错误2501及字体报错

问题原因分析

从报错信息来看,核心问题是PDF生成器(Distiller)找不到Aptos字体,自动替换为Courier字体时触发了PostScript字体错误,导致PDF生成失败,进而引发Access的运行时错误2501(操作被取消)。实体打印机能正常工作,是因为实体打印机通常自带或能兼容字体替换逻辑,而PDF生成的PostScript流程对字体兼容性要求更严格。

解决方法

1. 替换报表中的特殊字体

打开报表的设计视图,按以下步骤操作:

  • 按Ctrl+A选中报表内所有控件
  • 在菜单栏的字体设置中,将字体替换为系统通用字体(如宋体、微软雅黑、Arial、Times New Roman)
  • 保存报表后再次尝试打印为PDF

2. 改用Access自带的PDF导出功能(推荐)

放弃依赖系统打印对话框的方式,直接使用Access内置的导出PDF功能,修改按钮的点击事件代码:

Private Sub Command18_Click()
    On Error GoTo ErrorHandler
    Dim savePath As Variant
    ' 弹出保存对话框让用户选择文件路径
    savePath = Application.GetSaveAsFilename(FileFilter:="PDF文件 (*.pdf), *.pdf")
    If savePath <> False Then
        ' 将「你的报表名称」替换为实际的报表名称
        DoCmd.OutputTo acOutputReport, "你的报表名称", acFormatPDF, savePath
        MsgBox "PDF导出成功!"
    End If
    Exit Sub
ErrorHandler:
    MsgBox "导出PDF失败:" & Err.Description, vbExclamation
End Sub

这种方式不依赖打印驱动,字体兼容性更好,整体稳定性更高。

3. 修复或安装Aptos字体

若必须使用Aptos字体:

  • 检查系统是否已安装Aptos字体:打开控制面板→字体,搜索"Aptos"
  • 若未安装,可通过修复Office恢复字体(控制面板→程序和功能→找到Microsoft Office→右键选择「更改」→「快速修复」或「联机修复」)
  • 修复完成后重启Access再尝试打印操作

内容的提问来源于stack exchange,提问作者Parkyjax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 20:54:55