registListener("f_print","printListener",true) 接口注册打印监听
调用打印后会调用监听printListener(message)方法返回结果message,message为json数据,数据中有打印份数、打印人、打印时间等等信息,业务系统通过打印监听将这些信息解析后存入业务系统中

registListener("f_printresult","printresult",true) 接口注册打印机监听

查看接口调用示例
                                
//注册打印监听
jofdreader.registListener('f_print','printListener',true)
//接收监听消息
function printListener(response){
    alert(response)
}

                            
                            

业务系统使用自定义打印按钮,调用performClick("f_print")接口,模拟点击打印按钮,弹出打印属性界面进行打印。

查看接口调用示例
                                
使用模拟点击调起打印界面
jofdreader.performClick('f_print')
                            
                            

1、调用setConfigInfo设置指定打印机显示,设置后可用于只显示带某些关键词的打印机。

配置键
配置值

2、调用setPrintCompsiteChecked接口设置自定义的打印界面参数。

组件名
是否勾选

3、调用setCompsiteVisible("f_print",false)隐藏打印按钮

组件名
配置值
查看接口调用示例
                                
//调用setConfigInfo设置指定配置
function setConfigInfo() {
    var configKey = document.getElementById("configKey").value;
    var configValue = document.getElementById("configValue").value;

    jofdreader.setConfigInfo(configKey, configValue).then((data) => {
        alert(data)
    })
}

function setPrintCompsiteChecked() {
    let cmpName = document.getElementById('printCompsiteChecked_cmpName').value
    let bChecked = document.getElementById('setPrintCompsiteChecked_bChecked').value
    jofdreader.setPrintCompsiteChecked(cmpName, bChecked).then((data) => {
        console.log(data)
    })
}
//隐藏打印按钮
jofdreader.setCompositeVisible('f_print',false)
                            
                            

业务系统通过自定义打印按钮调用js接口printFileBySetting(String printSetting)定义好指定参数后进行打印,不经过打印属性对话框。

打印参数
查看接口调用示例
                                
function printFileBySetting() {
    let printSetting = document.getElementById('printSetting').value
    jofdreader.printFileBySetting(printSetting).then((data) => {
        console.log(data)
    })
}
                            
                            

调用js接口setPrintCompsiteEnable(String cmpName, boolean enable)设置打印界面属性签章与掩膜不可用。cmpName的值具体参数可参考《阅读器二次开发手册》

组件名
是否可用
查看接口调用示例
                                
function setPrintCompsiteChecked() {
    let cmpName = document.getElementById('printCompsiteChecked_cmpName').value
    let bChecked = document.getElementById('setPrintCompsiteChecked_bChecked').value
    jofdreader.setPrintCompsiteChecked(cmpName, bChecked).then((data) => {
        console.log(data)
    })
}
                            
                            

调用openfile打开文件,在打开文件事后监听openformed中调用js接口setPrintCopies(5);设置最大打印份数为5份。 在弹出的打印属性界面上,打印份数的值用户可以修改,最高只能是5份。打印完成后会调用事后监听pPerformed(pram)中获取打印结果,业务系统得到结果自行解析并处理

最大打印份数
查看接口调用示例
                                        
function setPrintCopies() {
    let nPrintCopies = document.getElementById("setPrintCopies_nPrintCopies").value
    jofdreader.setPrintCopies(nPrintCopies).then((data)=>{
        alert(data)
    })
}
                                        
                                    

1、打开文件,在打开文件监听回调函数中隐藏打印按钮

文件路径

2、自定义打印方法中调用setMaskMode(0);设置掩膜模式为不禁止打印掩膜。 (0为不禁止; 1为禁止显示掩膜; 2为禁止打印掩膜; 3为全部禁止; 其他值按照0处理。)

设置掩膜生效模式

3、调用addPageAnnot(String annotInfo);设置打印掩膜隐藏区域。该接口参数参考二次开发手册中添加注释

功能说明: 向当前的文档添加临时注释(如打印屏蔽区等),插件中打开文档时调用有效。

  • 参数说明:
  • 注释信息

    点击自定义打印按钮,可以看到打印预览里设置掩膜的区域为空白,打印时不会打印实际内容。

    查看接口调用示例
                                            
    // 套红打印整体流程
    async function redPrint() {
        await jofdreader.registListener('f_open', 'showFile', true).then(res => {
            let filepath = document.getElementById('redprint_filepath').value
            return jofdreader.openFile(filepath)
        })
    
        window.showFile = (data) => {
            var result = JSON.parse(data)
            if (result.operateresult === '1') {
            jofdreader.setCompsiteVisible("f_print", false);
            }
        }
        let tag = document.getElementById("setMaskMode_mode").value
        await jofdreader.setMaskMode(tag)
        let annotInfo = document.getElementById("addPageAnnotRP_annotInfo").value
        await jofdreader.addPageAnnot(annotInfo)
        jofdreader.performClick('f_print')
    }