2011-10-14 4 views
2

Ant 태스크를 사용하여 성공적으로 Apache FOP를 사용하여 PDF를 생성 해 왔습니다. Axis2를 사용하는 Java 코드 (Java API)를 사용하여 PDF 작업을 성공적으로 수행하고 있지만 스타일 시트를 제대로 테스트하는 것이 훨씬 빠르기 때문에 개미 작업을 사용하고 있습니다.Apache FOP 1.0 - TIFFImageEncoder4로 TIFF 생성

PDF 작업이 완료되었으므로 지금 작업중인 프로젝트의 두 번째 요구 사항 인 TIFF를 생성하려고합니다. 동일한 스타일 시트, 동일한 소스 문서이지만 출력은 TIFF입니다.

개미 작업은 다음과 같습니다

<?xml version="1.0" encoding="UTF-8"?> 
<project name="FOPAnt" default="generate-pdf-from-transform" basedir="."> 
<property name="fop.home" value="D:\Dev\Java\libraries\fop-1.0-bin\fop-1.0"/> 

<taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop"> 
    <classpath> 
    <fileset dir="${fop.home}/lib"> 
     <include name="*.jar"/> 
    </fileset> 
    <fileset dir="${fop.home}/build"> 
     <include name="*.jar"/> 
    </fileset> 

    </classpath> 
</taskdef> 

내가 이것을 실행하면, 나는 다음과 같은 오류 얻을 :

BUILD FAILED 
D:\Dev\Java\FopConverter\workspace\FOPAnt\build.xml:30: java.lang.Error: TIFFImageEncoder4 
,536,913을

내가 봤 거든이 오류에 대한 구글 검색, 그리고 JAI ImageIO 도구를 클래스 경로에 포함하는 요구 사항이있는 것 같습니다.

내가 발견 반복 참조

은 이것이다 : https://issues.apache.org/bugzilla/show_bug.cgi?id=49681

은 내가 jai_imageio.jar 내 ${fop.home}/build 폴더에 이미 실제로 나타났습니다. 저는 약간의 Java 초보자입니다. 그래서 틀린 것이 맞지만, JAR 파일이 이미 위의 ANT 스크립트에있는 classpath에 포함되어있는 것처럼 보입니다.

나는 webservice를 사용해 보았습니다 - 빌드 경로에 jai_imageio.jar를 추가했고 WEB-INF/lib에 들어가고 있습니다 - 동일한 오류가 발생합니다. 버그 스레드에서 제안한대로 다른 색 구성을 사용해 보았지만 행운은 없습니다.

정말 고생하고 있습니다. PDF 생성이 잘 진행되면서 실망 스럽습니다. 이것으로 벽돌 벽을 약간 치십시오.

편집 : 더 많은 연구를 한 후, 필자는 Windows 7 x64를 사용하고 있음을 지적해야합니다. x86 JRE를 다시 설치합니다 (JRE 7을 시도합니다).

답변

0

ImageIO가 아닌 ImageIO TOOLS인지 확인하십시오. 완전히 다른 두 가지.

다음은 FOP 기반 TIFF 생성기에서 사용하는 라이브러리입니다. I는 XML 설정을 방지하고 내 자신의 사용자 정의 렌더러 직진 :

  • 아발론 프레임 워크-4.2.0.jar
  • 바틱 - 모든-1.7.jar
  • 공유지-IO-1.4.jar
  • 공유지-logging.jar
  • fop.jar
  • jai_imageio.jar
  • 의 log4j-1.2.13.jar
  • XML-API를-EXT-1.3.04.jar
  • xmlgraphics-commons-1.4.내가 다음 단계에 따라이 작업을 얻었다
1

항아리 :

  1. 는 대상 서버에 JRE 1.4 (도구 IO 자이 영상이 설치 필요)를 설치합니다. x86 (32 비트)이어야합니다. 이 JRE의로 JRE7 설정 - A), JRE-1_4_2_19-창-에는 i586-p.exe이

  2. 이 JRE7 설치 작업 (다시,

  3. 이 Tomcat6 설치) 86에게이어야한다.

  4. JAVA_HOME이 루트 JRE7 폴더로 설정되었는지 확인하십시오.

  5. %의 JAVA_HOME을 확인 % \ bin에는

  6. 설치 jai_imageio-1_1-lib 디렉토리 - 창-에는 i586-jre.exe 변수 PATH에 있습니다. JRE7에 설치해야합니다.

x64이고 x64 JRE 및 JDK가 설치되어 있습니다. 이것은 이것이 내 문제의 뿌리였다.

내 웹 서비스가 TomCat에서 작동하도록 수정되었습니다. 아직 ANT 작업을 시도하지 않았습니다. JAI ImageIO Tools는 32 비트에서만 작동하는 DLL에 의존하는 것으로 보입니다. 32 비트 및 32 비트 JDK/JRE를 가리키는 경우 Eclipse에서 제대로 작동하지 않는다고 가정합니다.