Expand my Community achievements bar.

Radically easy to access on brand approved content for distribution and omnichannel performant delivery. AEM Assets Content Hub and Dynamic Media with OpenAPI capabilities is now GA.

Unable to create com.adobe.aemfd.docmanager.Document Object

Avatar

Level 2

Hi, I am trying to create to convert base64 encoded pdf document to com.adobe.aemfd.docmanager.Document object by using below line of code. But it throwing error. Any suggestion please.

 

Document document = new Document(Base64.decodeBase64(base64));

 

Errors:

 

Exception in thread "main" java.lang.NoClassDefFoundError: com/adobe/aemfd/docmanager/source/DocumentSourceHandler
at com.aemproject.core.workflows.ConvertBase64ToDocument.main(ConvertBase64ToDocument.java:76)
Caused by: java.lang.ClassNotFoundException: com.adobe.aemfd.docmanager.source.DocumentSourceHandler
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 1 more

 

I don't know how to resolve this problem.

 

-Sri

10 Replies

Avatar

Employee

@GirishBedekar he is decoding it in the call.

 

But I wonder which Base64 class that is. The Oracle JDK class is defined here https://docs.oracle.com/javase/8/docs/api/java/util/Base64.html

Are you sure that a byte array is passed? Sure that the base64 variable decodes to a proper PDF?

Did you try to have the decoding separate like

byte [] thePdfDocument = Base64.decodeBase64(base64);

Document document = new Document(thePdfDocument);

 

-Kosta

 

Avatar

Level 2

I am using Java Util package. Yes, Byte array passing to as a parameter. 

I am getting same error message when using below code as you recommended. Thanks

 

String baseDoc = "......";

Base64.Decoder decoder = Base64.getDecoder();

// Decoding string String dStr = new String(decoder.decode(baseDoc));

Document document = new Document(dStr.getBytes());

Avatar

Employee

I see you posted also in another thread.

 

I tested this with AEM Forms 6.5.7 using 

<dependency>
<groupId>com.adobe.aemfd</groupId>
<artifactId>aemfd-client-sdk</artifactId>
<version>6.3.0</version>
</dependency>

and it did work.

 

What version of AEM Forms are you using?

Avatar

Level 2
No, I am getting same error earlier and now using recommended dependency. I have tried with both version 6.3.0 and 4.1.50