IE9在打印时改变<img/>的内容

时间:2014-11-26 15:01:48

标签: jsp internet-explorer jsf printing

我正在尝试打印一个应该包含一些图像(图标)的网页。 它们在页面中显示正常,Firefox打印得很好,但是IE会破坏它们中的大部分。

This is what the printed  icons look like in IEAlt

这是做什么的,我该如何解决?

这些图标在JSP中循环设置:

<t:dataTable newspaperColumns="1"
    value="#{page.afterSales.leftOptionColumn}" var="row">
    <h:column>
        <h:graphicImage value="#{row.imgIsCompleted}" style="width: 16px !important;"/>
        <h:commandButton value="#{row.rowName}"></h:commandButton>
    </h:column>
</t:dataTable>

1 个答案:

答案 0 :(得分:0)

我不知道这个问题的原因,我可以说这是因为重要的CSS,但是作为一个解决方法,我建议你用js提取target DOM element,并创建一个新的窗口,你有CSS样式中没有内容,可以用<img>标记产生这样的问题。

我的工作:

function printCssCleanContent(){
                                var prtContent =  Ext.query('span[id*=overView]')[0]; // just the root dom node i choise to print (can be done with vanilla js or jquery or any other dom parser) 
                                var WinPrint = window.open('', '', 'left=0,top=0,width=1200,height=900,toolbar=0,scrollbars=0,status=0');
                                WinPrint.document.write(prtContent.innerHTML);
                                WinPrint.document.close();
                                WinPrint.focus();
                                WinPrint.print();
                                WinPrint.close();
                            }