2014-11-13 5 views
1

iText jars를 사용하는 클래스로 Java 라이브러리를 생성 한 과거 itext를 사용했습니다. 이것은 과거에는 완벽하게 작동했습니다.LS2J를 통해 IBM Notes/Domino의 itext/xfaworker를 사용합니다.

이제 setFormFlattening (true)을 사용할 때 일부 PDF의 손상이 발생하므로 XFAFlattener를 사용해 보았습니다.이 중 하나가 정상적으로 작동합니다.

제 문제는 LicenseKey.loadLicenseFile을 통해 라이센스 파일을로드해야하며 Java 에이전트에서 Java 클래스를 사용하면 문제가 없습니다. 그러나 LotusScript 에이전트에서 Java 클래스 양식을 사용하려고하면 LicenseKey.loadLicenseFile이 호출 될 때 "인증서를 찾을 수 없습니다."라는 오류가 발생합니다.

itext-licensekey-1.0.3.jar 파일 내에 itext.cer 인증서가 있음을 알 수 있습니다. LotusScript 에이전트에서 실행할 때 찾을 수없는 인증서입니다.

누구나이 작업을 수행하는 방법을 알고 있습니까? 어쩌면 깊은 iText 지식을 가진 사람은이 인증서가 iText LicenceKey 코드에서 어떻게로드되고 있는지를 알 수 있으며 문제의 원인을 파악할 수 있습니다.

+0

코드를 추가하십시오. 다음과 같은 것을 사용하십시오 : LicenseKey.loadLicenseFile (StorageDirectory() + java.io.File.separator + "mytemp/itextkey.xml"); signPdf(); 문제는 아마도 LS2J –

답변

0

Java 코드가 LS2J에 의해 실행되면 Java 코드에서 리소스 파일을 읽을 방법이 없습니다.

내 LS2J 프로젝트의 임시 해결책으로 파일 내용을 base64 문자열로 상수에 넣고 리소스 파일 대신이 파일을 읽습니다.

또 다른 방법은 코드를 자바 에이전트에 넣고 LotusScript에서 에이전트를 호출하는 것입니다. 이렇게하면 Java 코드가 예상대로 작동합니다. LotusScript와 Java간에 "통신"하려면 메모리 내 문서를 사용하십시오.

+0

에서 재미있을 것 같은 StorageDirectory가 실행되지 않았을 것입니다. –