【发布时间】:2019-10-03 04:23:13
【问题描述】:
我无法使用 p:printer 标签打印由 pe:qrCode 生成的二维码。当我将 renderMethod 设置为 img 或 div 时,它根本不会渲染到屏幕上。我没有看到任何关于如何使用该属性的文档。我看过各种关于需要其他 jar 的帖子,但看起来那是针对较旧的 p:bacode 功能。当我直接从浏览器打印时,它会打印,但我正在打印到标签,所以不想打印整个页面。由于它是由客户端上的 jQuery 生成的,所以我可能需要使用 javascript 来使其工作。在我走这些其他路径之前,我只想知道是否有人成功打印了由 primefaces 扩展生成的二维码。
这是一个生成二维码但无法打印的代码示例。
<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>
【问题讨论】:
-
你试过直接将p:printer中的target设置为pe:qrCode的id吗?
-
是的,这就是第一个 commandButton 的作用
标签: jsf primefaces qr-code primefaces-extensions