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

如何为FullCalendar.IO正确添加打印支持

解决FullCalendar打印功能缺失的问题

关键遗漏点及修复步骤

1. 加载Print插件

FullCalendar的打印功能依赖专属的Print插件,你当前的plugins数组仅包含adaptivePlugin,需补充添加printPlugin(高级版内置该插件,无需额外引入资源):

plugins: [
    adaptivePlugin,
    printPlugin // 新增打印插件
],

2. 在工具栏添加打印按钮

你当前的headerToolbar未配置任何操作按钮,可在合适位置添加官方打印按钮,示例放在右侧:

headerToolbar: {
    left:   '',
    center: 'title',
    right:  'printButton' // 新增打印按钮
},

3. 自定义打印触发逻辑(可选)

如果想用页面中已有的#print-btn触发打印,而非官方内置按钮,可通过日历实例的print()方法手动调用:

// 给自定义打印按钮绑定点击事件
jQuery("#print-btn").on('click', function() {
    calendar.print(); // 调用日历打印方法
});

4. 打印样式优化(可选)

FullCalendar自带基础打印样式,若需自定义,可添加CSS媒体查询调整:

@media print {
    /* 隐藏打印时不需要的元素 */
    #geted-bschart, #print-btn {
        display: none;
    }
    /* 确保日历在打印时占满宽度 */
    #geted-results {
        width: 100%;
    }
}

修改后的完整配置示例

var calendar = new FullCalendar.Calendar(calendarEl, {
    schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',
    initialView: 'dayGridMonth',
    views: { 
        dayGridMonth: {
            type: 'dayGrid',
            duration: { months: mths },
            monthMode: true,
            fixedWeekCount: false,
        }
    },
    plugins: [
        adaptivePlugin,
        printPlugin
    ],
    headerToolbar: {
        left:   '',
        center: 'title',
        right:  'printButton'
    },
    initialDate: fdtArray['2']+'-'+fdtArray['0']+'-'+fdtArray['1'],
    editable: false,
    selectable: true,
    businessHours: true,
    dayMaxEvents: true,
    events: getEmpData
});

// 绑定自定义打印按钮(按需选择)
jQuery("#print-btn").on('click', function() {
    calendar.print();
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 07:30:52