2012-01-20 5 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 엑셀 내보내기를 성공적으로 사용한다고 추가 할 수 있습니다.

답변

0

귀하의 질문에 대한 답변은 예입니다. 수많은 개발자가 SmartGWT의 PDF 내보내기를 성공적으로 사용했습니다. 이제 내 포인트를주세요.)

문제를 해결하려면 서버 로그에서 오류를 확인하십시오.

+1

감사합니다 :-) 여기에 있었다 모든의를 추가 그러나 서버 측에서 수행해야 할 작업을 지정하는 문서를 알고 있으면 어떻게됩니까? web.xml에서 특정 서블릿을 선언하거나 실제로 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); 

나는 다음 (일식 .classpath로) smartgwtEE lib 디렉토리 폴더에서 다음 항아리

<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

여기에 모두 나와 있습니다. http://www.smartclient.com/smartgwtee-latest/javadoc/com/smartgwt/client/docs/JavaModuleDependencies.html 참고 문서에서 말한 것처럼 Flying Saucer의 코어 렌더러 (core renderer.jar)를 포함시켜야 할 필요가있었습니다. 아마도 프로젝트에 이미 포함되어있을 것입니다. –