Comment puis-je fusionner les données dans un fichier XDP et retourner un PDF (via .NET)?

StackOverflow https://stackoverflow.com/questions/1757397

  •  20-09-2019
  •  | 
  •  

Question

Mon équipe a un modèle (XDP) que nous avons créé avec le concepteur Adobe LiveCycle.

La situation:

  • Nous remplaçons une ancienne forme Acrobat (Format XFDF) avec ce LiveCycle forme dans le cadre d'une mise à niveau beaucoup plus

  • Le formulaire Acrobat est en cours dynamiquement peuplé avec des données de base et remis à l'utilisateur en PDF (L'utilisateur clique sur un lien et un PDF ouvre sur leur machine pré-remplie avec des détails démographiques de base)

  • Le processus actuel ressemble à quelque chose comme: l'utilisateur clique, application .NET récupère les données, l'application .NET récupère PDF à partir du système de fichiers, l'application .NET sérialise données dans modèle sous forme XFDF, application ASP.NET envoie une réponse HTTP à l'utilisateur au format XFDF, l'utilisateur affiche le PDF dans Adobe Reader

Nous souhaitons maintenir un processus analogue à peu près avec le nouveau format XDP.

Pour mémoire, nous DO ont accès aux services LiveCycle qui font ce type de travail (par exemple le service rendu). Cela dit, nous aimerions créer ce type de sérialisation dans .NET pour plusieurs raisons. Nous avons limité les licences de LiveCycle et lutterons pour accéder aux services de LiveCycle en raison de leur emplacement dans l'entreprise

Toutes les pensées (même « arrêter de faire ça, vous êtes fou ») sont appréciés.

Était-ce utile?

La solution

Hey, désolé pour la réponse lente, ne voit pas.

Créer le PDF. Comme base64 Encodez.

Créez un fichier texte, 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>

Insérez le code XML qui est ici vos données dynamiques, en respectant les champs dynamiques dans le PDF.

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

Sans mettre des caractères après l'étiquette, insérez les base64 PDF codé.

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

Et voilà, vous avez un XDP valide. Adobe Reader accepte cela et afficher le PDF avec vos valeurs en elle.

En Java, si vous avez une des propriétés les détails de connexion en elle, le code suivant peut utiliser Livecycle pour transformer un XDP au format PDF, bien que votre kilométrage peut varier 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();

Autres conseils

On dirait que vous êtes à la recherche pour le rendu côté client - quelque chose que je ne l'ai jamais vraiment été en mesure d'utiliser de façon pratique. Et étant donné que vous travaillez en .Net, il va probablement faire des choses impossibles ..

À mon avis votre meilleur pari sera certainement d'utiliser le rendu service qui est livré avec Forms ES. n'aide probablement pas grand-chose, mais bon:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top