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.

Generate3dPDF service converts VRML to PDF

Avatar

Former Community Member

I am using Generate3dPDFClient to convert a vrml(.wrl) file to an PDF file. If I just provided a single VRML file, LiveCycle can convert it successfully. However, if the VRML associated with another image PNG file, it cannot combine the PNG file with the VRML file together. I tried to put the png file as inSupportingDocs parameter in 'create3dPDF' method. It gave me the following exceptions.

ALC-P3D-105-000: com.adobe.livecycle.generate3dpdf.client.ConversionException: ALC-P3D-000-105-File name of the supporting document is missing.

I saw the document, it says 'create a custom PDFG 3D setting using LiveCycle Administration Console. Then specify the shared document location within the new setting.' I tried it, but it doesn't help.

How can I solve this problem?

Thanks

2 Replies

Avatar

Level 8

I've not tried PNG files myself, but this works for parts files in SolidWorks and Catia files.

Try adding the directory path of the PNG file (not the path of the file itself) to the "Additional Search Directories" part of your settings file.  If you are using a setting file loaded into AdminUI then you can set this path by going to: Home > Services > LiveCycle PDF Generator ES  >  Adobe 3D-PDF Settings.   Then choose your settings file and click on the Import tag.  Half way down you will see a Directory Path field.  Browse to the directory containing the PNG file.  Save it.

Put the name of the Settings file (as it appears in AdminUI) in the "Conversion Setting Name" field in workbench.

Avatar

Former Community Member

Thank you for your response. This is what I did before, but it gave me the exception "ALC-P3D-105-000: com.adobe.livecycle.generate3dpdf.client.ConversionException: ALC-P3D-000-105-File name of the supporting document is missing."

The following is a part of my source code for the client

            Properties connectionProps = new Properties(

            connectionProps.setProperty(
                    ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT,
                    "jnp://localhost:1099");

            connectionProps.setProperty(
                    ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,
                    ServiceClientFactoryProperties.DSC_EJB_PROTOCOL);

            connectionProps.setProperty(
                    ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");

            connectionProps.setProperty(
                    ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME,
                    "administrator");

            connectionProps.setProperty(
                    ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD,
                    "password");

            // Create a ServiceClientFactory instance

            ServiceClientFactory factory = ServiceClientFactory
                    .createInstance(connectionProps);

            // Create a Generate3dPDFClient object

            Generate3dPDFClient pdfClient = new Generate3dPDFClient(factory);

            String inputFileName = "C:\\Adobe\\test.wrl";
           
            String inputPNG = "C:\\Adobe\\shared\\test.png";

            FileInputStream fileInputStream = new FileInputStream(inputFileName);
           
            FileInputStream pngInputStream = new FileInputStream(inputPNG);

            Document inDoc = new Document(fileInputStream);
           
            Document inPng = new Document(pngInputStream);
           
            List<Document> pngList = new ArrayList<Document>();
            pngList.add(inPng);

            // the same as the name in AdminUI

            String conversionSetting = "Standard2";

            // Convert Container.sab to a 3-dimensional PDF document

            Create3dPDFResult result = pdfClient.create3dPDF(inDoc,

            "wrl",

            pngList,

            conversionSetting,

            null,

            new java.lang.Integer(280));

            // Save the 3-dimensional PDF document as a PDF file

            Document threeDPDF = result.getConversionResult();

            File newFile = new File("C:\\Adobe\\test.pdf");

            threeDPDF.copyToFile(newFile);