Java 如何禁用Ctrl+P,使用户无法直接打印当前打开的文档?

Java 如何禁用Ctrl+P,使用户无法直接打印当前打开的文档?,java,lotus-notes,lotusscript,Java,Lotus Notes,Lotusscript,在使用Lotusscript时,我希望我的用户不能通过按ctrl+p来打印文档。与此相反,我提供了一个操作按钮,以便它在打印文档之前执行一些额外的步骤。这是否可以使用lotusscript或java禁用直接打印ctrl+p。或者,我们也可以捕获ctrl+p事件,以便在真正打印之前添加代码 我正在使用9.0.1FP8版添加一个名为$KeepPrivate的计算字段,其值为1。此字段阻止用户使用CTRL+P 然后使用以下逻辑添加您自己的按钮: Sub Click(Source As Button)

在使用Lotusscript时,我希望我的用户不能通过按ctrl+p来打印文档。与此相反,我提供了一个操作按钮,以便它在打印文档之前执行一些额外的步骤。这是否可以使用lotusscript或java禁用直接打印ctrl+p。或者,我们也可以捕获ctrl+p事件,以便在真正打印之前添加代码


我正在使用9.0.1FP8版添加一个名为$KeepPrivate的计算字段,其值为1。此字段阻止用户使用CTRL+P

然后使用以下逻辑添加您自己的按钮:

Sub Click(Source As Button)

    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument
    Set uidoc = ws.CurrentDocument
    Set doc = uidoc.Document
    Call doc.RemoveItem("$KeepPrivate")
    Call doc.Save(True,True)
    doc.SaveOptions = "0"
    Call uidoc.Close
    Set uidoc = ws.EditDocument(True,doc,False) 
    Call uidoc.Print
    Dim item As New NotesItem(doc,"$KeepPrivate","1")
    Call uidoc.Save
    Call doc.Save(True,True)
    doc.SaveOptions = "0"

End Sub

此按钮将在后台更改$KeepPrivate字段的值,并显示打印对话框。

如果您担心用户可能打印错误,只需转到“控制面板”,并将Microsoft print to PDF打印机设置为默认打印机。如果这不可用,只需搜索免费的pdf打印机并将其设置为默认值。@Tschallacka我用特定的解决方案更新了我的答案