2012-01-20 88 views
3

有没有人成功使用SmartGWT 3.x pdf导出?SmartGWT pdf导出

我的客户端代码如下所示:

DSRequest requestProperties = new DSRequest(); 
requestProperties.setExportFilename("File.pdf"); 
requestProperties.setExportDisplay(ExportDisplay.DOWNLOAD); 
requestProperties.setContentType("application/pdf"); 

RPCManager.exportContent(table, requestProperties); 

当代码运行没有任何反应。我必须做任何服务器端?

我可以只添加我的应用程序成功地使用列表网格中的SmartGWT excel导出。

回答

0

您的问题的答案是肯定的:无数的开发者已经成功地使用了SmartGWT的PDF导出。现在请给我分;)

要排除故障,查看您的服务器日志中的错误。

+1

谢谢,但是你是否知道任何指定了服务器端需要做什么的文档?在web.xml中声明特定的servlet还是自己实际执行pdf生成? –

+0

服务器端不需要做任何事情,它全部是自动的。但是,这里是涉及自动行为的服务器端类,它们有一些代码示例用于执行相关的事情(例如将生成的.pdf保存到磁盘)http://www.smartclient.com/smartgwtee-latest/ server/javadoc/com/isomorphic/contentexport/PdfExport.html –

1

我也徒然试图找到关于此的文档。但并不难。你的代码看起来不错,已经添加了一个画布来打印和行requestProperties.setDownloadResult(true);

  final Canvas canvas = new Canvas(); 
      canvas.setWidth(300); 
      canvas.setBorder("2px solid Red"); 
      DynamicForm formPrint = new DynamicForm(); 
      formPrint.setWidth(200); 
      formPrint.setHeight(100); 
      formPrint.setTop(20); 
      formPrint.setLeft(50); 
      formPrint.setBorder("2px solid Black"); 
      TextItem textItem = new TextItem(); 
      textItem.setName("NameBo"); 
      textItem.setTitle("Title"); 
      textItem.setValue("Value goes here..."); 
      formPrint.setFields(textItem); 
      canvas.addChild(formPrint); 
      canvas.draw(); // to view onscreen 


      DSRequest requestProperties = new DSRequest(); 
      requestProperties.setExportFilename("File"); 
      requestProperties.setExportDisplay(ExportDisplay.DOWNLOAD); 
      requestProperties.setContentType("application/pdf"); 
      requestProperties.setDownloadResult(true); 
      RPCManager.exportContent(canvas, requestProperties); 

我加入从smartgwtEE lib文件夹下面的jar文件(在eclipse的.classpath)

<classpathentry kind="var" path="SGWTEE_HOME/lib/isomorphic_contentexport.jar"/> 
<classpathentry kind="var" path="SGWTEE_HOME/lib/iText-2.0.8.jar"/> 
<classpathentry kind="var" path="SGWTEE_HOME/lib/jtidy-r938.jar"/> 

而这一切,这是它:-)

+0

这里是所有docd在这里:http://www.smartclient.com/smartgwtee-latest/javadoc/com/smartgwt/client/docs/JavaModuleDependencies.html注意正如文档所说,你应该需要包含Flying Saucer的core-renderer.jar,据推测你的项目已经拥有了它。 –