我有一个JSF应用程序,它使用primefaces通过this answer显示动态生成的图像。当我想使用p:printer打印包含图像的网页的一部分时,除了动态生成的图像之外,打印所选片段的所有内容。图像由非常小的图标表示。
我已尝试过以下链接中的建议,但失败了。
应用程序打印动态图像至关重要,请帮忙。
答案 0 :(得分:1)
我在打印时使用css隐藏所有其他div并使用了window.print命令。
打印按钮
<p:commandButton styleClass="noPrintBlock" ajax="false" value="Print" onclick="window.print();" actionListener="#{patientReportController.markAsPrinted()}" />
我要打印的组件。
<p:panel styleClass="printBlock" id="divPrint" >
</p:panel>
我不想打印的组件示例
<h:panelGroup styleClass="noPrintBlock">
</h:panelGroup>
CSS
@media print{
.noPrintBlock{
display: none;
}
.printBlock{
height: 100%;
width: 100%;
position: fixed;
top: 0;
left: 0;
margin: 0;
}
}