电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

教你一招,轻松实现打印pdf文件名根据单据名生成

来源:金蝶云社区作者:金蝶2024-09-2314

教你一招,轻松实现打印pdf文件名根据单据名生成

苍穹打印默认取“打印模板名称”作为pdf文件名,如果默认名称无法满足用户需求,则用户可以通过开发插件的方式,来自定义生成pdf文件名。


为满足客户需求,小编将通过案例,讲解如何实现修改pdf文件名的功能


1 规则介绍


系统默认生成pdf文件的文件名命名规则如下:


  • 规则一:第一份pdf文件文件名默认取打印模板的名称,即“模板名称”.pdf

  • 规则二:第二份pdf文件的文件名取模板名称-1”.pdf,后面的依次类推,加上一个递增的数字。


注:如果在pdf页数小于500(当前系统默认值)的情况下,仅仅会生成一份pdf文档,如果生成的pdf页数超过最大值,则会生成新的pdf文件


适用版本


该功能适用版本为金蝶云·苍穹V4.0.0018及以上版本。


模板配置


3.1 模板设计


模板设计路径:【配置工具】→【打印配置】→【维护打印模板】,新增打印模板,如下图所示:


上传图片

模板设计示例


3.2 注册插件


创建插件类PdfNamePlugin,并继承AbstractPrintPlugin打印插件基类(基类全路径kd.bos.print.core.plugin.AbstractPrintPlugin),随后在打印模板中注册该插件。


插件开发


首先,修改规则一,默认文件名称取“采购申请单6月归档”。然后,重写beforeExport方法,在第一份pdf文件输出前,修改默认文件名,具体如下:


public class PdfNamePlugin extends AbstractPrintPlugin {

    @Override
    public void beforeExport(BeforeExportEvent evt) {
        super.beforeExport(evt);
        evt.setFileTplName("采购申请单" + ZonedDateTime.now().getMonthValue() + "月归档");
    }
}


修改规则二,pdf默认文件名自定义规则,取A、B、C值,再重写beforeExpFile方法,在每份文件输出前,修改文件名,使用A、B、C间隔以区分文件,具体如下:


public class EveryPdfNamePlugin extends AbstractPrintPlugin {

    private static final char[] ch = {'A''B''C'};

    private int counter;

    @Override
   

教你一招,轻松实现打印pdf文件名根据单据名生成

苍穹打印默认取“打印模板名称”作为pdf文件名,如果默认名称无法满足用户需求,则用户可以通过开发插件的方式,来自定义生成pdf文件名。为...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信