是否可以使用P:打印机(或其他方法)打印由PrimeFaces扩展生成的QR码



我无法打印由PE:QRCODE生成的QR码使用P:打印机标签。当我将RenderMethod设置为IMG或DIV时,它根本不会渲染到屏幕上。我看不到有关如何使用该属性的任何文档。我已经看到有关需要其他罐子的各种帖子,但是看起来这是较旧的p:bacode功能的帖子。当我直接从浏览器打印时,它将打印,但我正在打印到标签上,因此不想打印整个页面。由于jQuery在客户端上生成,也许我需要使用JavaScript使其正常工作。在沿着这些其他路径走之前,我只想知道是否有人成功地打印了PrimeFaces Extensions生成的QR码。

这是一个代码的示例,该代码是一代QR代码但无法打印的代码。

<h:form>
<h:panelGrid>
    <p:commandButton value="Print QR">
        <p:printer target="qrCodeElem"/>
    </p:commandButton>
    <p:commandButton value="Print QR Panel">
        <p:printer target="qrPanelId"/>
    </p:commandButton>
    <p:commandButton value="Print Hello">
        <p:printer target="helloId"/>
    </p:commandButton>
    <p:panel id="qrPanelId">
        <pe:qrCode id="qrCodeElem"
                   renderMethod="canvas"
                   text="someqrcode"
                   label="qrCodeLabel"
                   size="200"/>
    </p:panel>
</h:panelGrid>
<p:panel id="helloId">
    <h:outputText value="hello "/>
</p:panel>
</h:form>
</html>

我能够使用简单的print((命令

打印
 <p:commandButton value="print()" onclick="print();"/>

我还需要CSS来告诉它不要打印我不想打印的东西。事实证明,我需要在页面上有CSS内联。将其放入我的.CSS文件中并没有忽略我不想打印的零件。这是CSS

<style type="text/css">
@media print {
    .noPrint {
        display: none;
    }
  }
 </style>

用Styleclass引用它

   <h:panelGrid styleClass="noPrint">

相关内容

  • 没有找到相关文章

最新更新