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:
-
Laden Sie „DevelopingWithServiceUserBundle“ herunter und installieren Sie es.
-
Laden Sie das Paket herunter und installieren Sie es mit Package Manager.
-
Suchen Sie nach „Adobe Granite CSRF Filter“.
-
Fügen Sie den folgenden Pfad in den ausgeschlossenen Abschnitten hinzu und speichern Sie
-
/bin/generateinteractivepdf.
-
Suchen Sie nach Apache Sling Service User Mapper Service und klicken Sie darauf, um die Eigenschaften zu öffnen.
- Klicken Sie auf das Symbol + (Plus), um die folgende Dienstzuordnung hinzuzufügen.
- DevelopingWithServiceUser.core:getformsresourceresolver=fd-service
- Klicken Sie auf „Speichern“.
- Klicken Sie auf das Symbol + (Plus), um die folgende Dienstzuordnung hinzuzufügen.
-
Füllen Sie einige Felder aus und klicken Sie auf Herunterladen und Ausfüllen Schaltfläche
-
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.