2010-11-23 3 views
1

wkhtmltopdf를 사용하여 wpfd를 사용하여 pdf를 생성하면 명령 프롬프트에서 제대로 작동합니다. commons-exec을 통해 jetty에서 실행중인 서블릿에서 똑같은 wkhtmltopdf 명령을 실행하면 빈 pdf가 생성됩니다.java commons-exec에서 실행되는 응용 프로그램은 win7에서 웹에 액세스 할 수 없지만 cmd.exe에서 시작할 수 있습니다.

사이트의 accesslog 밸브와 win7에 netmon이 설치되어 있고 명령 프롬프트에서 호출했을 때 사이트 자체에 대한 웹 요청이 생성되고 있음을 분명히 볼 수 있습니다. 부두 진입 과정에서 전혀 발생하지 않습니다.

win7에서 이벤트 뷰어로 이벤트 로그를 검사했지만 빈 보안 pdf를 설명 할 수있는 보안 예외가 표시되지 않습니다. 이면 pdf를 생성한다는 것은 wkhtmltopdf 실행 파일이 올바르게 호출됨을 의미합니다.

wkhtmltopdf에 http 액세스 권한이 없으므로 어떤 아이디어가 있습니까?

답변

2

누군가 다른 사람이 다음과 같이 실행되는 경우에이를 해결했습니다. wkhtmltopdf 실행 파일이 정상적으로 실행되었지만 환경 변수가없는 상태에서 실행 중이 었으며 HTTP 요청이 자동으로 실패하는 원인이되었습니다 (또는 적어도 나는 결코 그것을 발견하지 못했다.) 시작 프로세스에서 wkhtmltopdf 프로세스로 모든 환경 변수를 복사하도록 프로세스 시작 프로그램을 변경하면 문제가 해결됩니다.

마지막으로 wkhtmltopdf를 bat 스크립트로 감싸고 env vars와 다른 상태를 인쇄하여이 문제를 해결했습니다. 내 박쥐 스크립팅을 다듬어야했는데 그만한 가치가있었습니다.