Ich verwende JSF 2.1 und Primefaces. Wenn ein Benutzer ein Formular absendet, füllt mein Programm ein PDF-Dokument aus und lädt es auf den Computer des Benutzers herunter. Anschließend muss ich eine neue Seite mit einer Statusmeldung anzeigen. Mein Code lädt das ausgefüllte Formular herunter, leitet jedoch nicht auf eine Ergebnisseite um.
PDDocument document = PDDocument.load("C:/Backup/test.pdf");
PDDocumentCatalog docCatalog = document.getDocumentCatalog();
PDAcroForm acroForm = docCatalog.getAcroForm();
....
füllt die Felder hier...
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();
response.setHeader("Content-disposition", "attachment; filename=\"test.pdf\"");
response.setHeader("Refresh", "1; URL=result.xhtml");
BufferedOutputStream output = null;
output = new BufferedOutputStream(response.getOutputStream());
document.save(output);
output.close();
facesContext.responseComplete();