私は初めてiText+フライングソーサーを使用し、JSF 2.0を使用したxhtmlページで、firstName、lastName、phone numberなどの通常の入力フィールドを使用した簡単な登録フォームを使用しています。ユーザーがすべてのデータを入力し、[次へ]ボタンをクリックすると、ユーザーデータを含むこのXHTMLページをpdfに変換します。ページに含まれるすべてのスタイルを含むこのページのソースHTMLを正確に取得し、pdfに変換するにはどうすればよいですか。現在、このように結び付けています。
public void createPDF() {
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
HttpSession session = (HttpSession) externalContext.getSession(true);
String url = "http://localhost:8080/MyPROJECT/faces/page1.xhtml;JSESSIONID=" + session.getId();
try {
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(url);
renderer.layout();
HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();
response.reset();
response.setContentType("application/pdf");
response.setHeader("Content-Disposition","C://user//first.pdf");
OutputStream browserStream = response.getOutputStream();
renderer.createPDF(browserStream);
browserStream.close();
session.invalidate();
} catch (Exception ex) {
ex.printStackTrace();
}
facesContext.responseComplete();
}
しかし、それは私にこの例外を投げかけています。
ERROR: 'The string "--" is not permitted within comments.'
org.xhtmlrenderer.util.XRRuntimeException: Can't load the XML resource (using TRaX transformer). org.xml.sax.SAXParseException: The string "--" is not permitted within comments.
これは、上記のURLを使用してページを取得する正しい方法ですか。そのURLは、[次へ]ボタンをクリックしてユーザーデータを含むページを取得してPDFに変換しますか、それとも間違ったコードを試していますか。助けてください。例をいただければ幸いです。