Rendern interaktiver PDF-Dateien mit Forms-Diensten in AEM Forms

Verwenden der Forms Service-API in AEM Forms zum Rendern interaktiver PDF-Dateien

In diesem Artikel beschäftigen wir uns mit dem folgenden Dienst:

  • FormsService: Dies ist ein sehr vielseitiger Dienst, mit dem Sie Daten aus und in eine PDF-Datei exportieren/importieren und durch Zusammenführen von XML-Daten in einer XDP-Vorlage interaktive PDF-Dateien generieren können.

Das offizielle Javadoc für die AEM Forms-API finden Sie hier.

Das folgende Codesnippet rendert interaktive PDF-Dateien mithilfe des FormsService-Vorgangs „renderPDFForm“. Die Vorlage „schengen.xdp“ wird zum Zusammenführen der XML-Daten verwendet.

String uri = "crx:///content/dam/formsanddocuments";
PDFFormRenderOptions renderOptions = new PDFFormRenderOptions();
renderOptions.setAcrobatVersion(AcrobatVersion.Acrobat_11);
renderOptions.setContentRoot(uri);
Document interactivePDF = null;
try {
interactivePDF = formsService.renderPDFForm("schengen.xdp", xmlData, renderOptions);
} catch (FormsServiceException e) {
 e.printStackTrace();
}
return interactivePDF;

Zeile 1: Speicherort des Ordners, der die XDP-Vorlage enthält

Zeile 2–4: Erstellen von PDFFormRenderOptions und Festlegen der zugehörigen Eigenschaften

Zeile 7: Generieren der interaktiven PDF-Datei mithilfe des FormsService-Vorgangs „renderPDFForm“

Zeile 11: Zurückgeben der generierten interaktiven PDF-Datei an die aufrufende Anwendung

So testen Sie das Beispielpaket auf Ihrem System:

  1. Laden Sie „DevelopingWithServiceUserBundle“ herunter und installieren Sie es.

  2. Laden Sie das DocumentServices-Beispiel-Bundle herunter und installieren Sie es mithilfe der Felix-Web-Konsole.

  3. Laden Sie das Paket herunter und installieren Sie es mit dem Paket-Manager.

  4. Melden Sie sich bei configMgr an.

  5. Suchen Sie nach „Adobe Granite CSRF Filter“.

  6. Fügen Sie den folgenden Pfad in den ausgeschlossenen Abschnitten hinzu und speichern Sie

  7. /bin/generateinteractivepdf.

  8. Suchen Sie nach Apache Sling Service User Mapper Service und klicken Sie darauf, um die Eigenschaften zu öffnen.

    1. Klicken Sie auf das Symbol + (Plus), um die folgende Dienstzuordnung hinzuzufügen.
      • DevelopingWithServiceUser.core:getformsresourceresolver=fd-service
    2. Klicken Sie auf „Speichern“.
  9. Öffnen Sie das Mobile-Formular.

  10. Füllen Sie einige Felder aus und klicken Sie dann auf die Schaltfläche Herunterladen und ausfüllen …

  11. Die interaktive PDF-Datei sollte auf Ihr lokales System heruntergeladen werden.

Das Beispielpaket enthält das benutzerdefinierte Profil, das mit dem Mobile-Formular verknüpft ist. Sehen Sie sich die Datei customtoolbar.jsp an. Diese JSP-Datei extrahiert die Daten aus dem Mobile-Formular und sendet eine POST-Anfrage an das im Pfad /bin/generateinteractivepdf bereitgestellte Servlet. Das Servlet gibt die interaktive PDF-Datei an die aufrufende Anwendung zurück. Mit dem Code in „customtoolbar.jsp“ wird dann die Datei auf Ihr lokales System heruntergeladen.

recommendation-more-help
experience-manager-learn-help-forms