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 Package 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 auf Herunterladen und Ausfüllen Schaltfläche

  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
8de24117-1378-413c-a581-01e660b7163e