Pregunta

Mi equipo tiene una plantilla (XDP) que hemos creado con el diseñador de Adobe LiveCycle.

La situación:

  • Estamos reemplazando una forma antigua de Acrobat (Formato XFDF) con este LiveCycle forma como parte de una actualización mucho más grande

  • La forma corriente es Acrobat dinámicamente poblado con los datos básicos y entregado al usuario en formato PDF (El usuario hace clic en un enlace y un PDF se abre en su máquina de pre-poblada con datos demográficos básicos)

  • El proceso actual se ve algo como: el usuario hace clic, .NET aplicación recupera datos, .NET aplicación recupera PDF a partir del sistema de archivos, .NET aplicación serializa los datos en la plantilla en forma XFDF, ASP.NET aplicación envía una respuesta HTTP de nuevo al usuario en formato XFDF, el usuario visualiza el PDF en Adobe Reader

Nos gustaría mantener un proceso más o menos análoga con el nuevo formato XDP.

Para el registro, que DO tienen acceso a los servicios de LiveCycle que hacen este tipo de trabajo (por ejemplo, el servicio Render). Dicho esto, nos gustaría crear este tipo de serialización en .NET por varias razones:. Hemos limitado licencias LiveCycle y lucharemos para acceder a los servicios de LiveCycle debido a su ubicación en la empresa

Cualquier pensamiento (incluso "dejar de hacer eso, estás loco") son apreciados.

¿Fue útil?

Solución

Hey, lo siento por la lenta respuesta, no ver esto.

Crea el PDF. Codificarlo como base 64.

Crea un archivo de texto, foo.xdp:

<?xml version='1.0' encoding='UTF-8'?>
<?xfa generator='AdobeDesigner_V7.0' APIVersion='2.2.4333.0'?>
<xdp:xdp xmlns:xdp='http://ns.adobe.com/xdp/'>
    <xfa:datasets xmlns:xfa='http://www.xfa.org/schema/xfa-data/1.0/'>
        <xfa:data>

Introduzca el código XML aquí es que los datos dinámicos, haciendo coincidir los campos dinámicos en el PDF.

        </xfa:data>
    </xfa:datasets>
    <pdf xmlns=\"http://ns.adobe.com/xdp/pdf/\"><document>
       <chunk>

Sin poner ningún carácter después de la etiqueta, insertar los base64 PDF codificado.

        </chunk>
    </document></pdf>
</xdp:xdp>

Y, he aquí que, usted tiene un XDP válida. Adobe Reader aceptará esto y mostrar el PDF con sus valores en el mismo.

En Java, si usted tiene un Propiedades con los detalles de la conexión en el mismo, el siguiente código se puede utilizar para convertir una Livecycle XDP a un PDF, aunque su kilometraje puede variar en C #.

        // Create a ServiceClientFactory object
        ServiceClientFactory myFactory = ServiceClientFactory
                .createInstance(connectionProperties);

        // Create a PDF Utility client
        PDFUtilityServiceClient pdfClient = new PDFUtilityServiceClient(myFactory);

        // Specify an XDP file to convert to a PDF document
        ByteArrayInputStream bais = new ByteArrayInputStream(xdp.getBytes("ASCII"));
        Document inDoc = new Document(bais);

        // Convert the XDP file to a PDF document
        Document pdf = pdfClient.convertXDPtoPDF(inDoc);

        // Return the PDF as an InputStream.
        return pdf.getInputStream();

Otros consejos

Parece que estás en busca de representación del lado cliente - algo que en realidad nunca he sido capaz de utilizar de manera viable. Y dado que usted está trabajando en .Net que va a hacer las cosas probablemente imposible ..

En mi opinión la mejor opción será definitivamente a utilizar el servicio de render que viene con Forms ES. Probablemente no ayuda mucho, pero bueno:)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top