Telidos平台中的打印功能(使用GWT)

时间:2012-10-24 15:11:44

标签: gwt

我们有在Telidos平台开发的网站,它在侧面使用GWT。但 在该网站中,我们需要包含打印功能。当用户单击打印按钮时,应用程序应该打印搜索条件和该页面中的内容。我不知道如何实现它。我在所有找不到任何解决方案的地方搜索过。

如果有人有任何想法,请帮助我。

1 个答案:

答案 0 :(得分:0)

Jothi,在GWT中,我们拥有GWT小部件中的所有内容。它可能是RootPanel。 VerticalPanel,SplitPanel等等。所以试试这个,

例如。如果要打印在VerticalPanel中添加的CellTable,

VerticalPanel vPanel = new VerticalPanel();
vPanel.add(cellTable);

然后按

打印
String printText = vPanel.asWidget().getElement().getInnerHTML();
printMethod(printText);

并采用以下方法,

public static native void printMethod(String html) /*-{
var frame = $doc.getElementById('printing');
if (!frame) {
$wnd.alert("Error: Can't find printing frame.");
return;
}
frame = frame.contentWindow;
var doc = frame.document;
doc.open();
doc.write(html);
doc.close();
frame.focus();
frame.print();
}-*/;

其中'printing'是iframe ID。

<iframe id="printing" style="width:0;height:0;border:0">
</iframe>

这应该添加到特定小部件的* .ui.xml中,例如

<g:Verticalpanel><iframe id="printing" style="width:0;height:0;border:0">
</iframe></g:Verticalpanel>