2013-03-11 4 views
2

Java EE 환경에서 XMLXSL 파일을로드하고 출력을 브라우저 창에 렌더링하고 렌더링 된 페이지를 PDF로 저장하려고합니다.HtmlUnit 및 페이지를 PDF로 저장

프로그래밍 방식으로 모든 작업을 수행하고 싶습니다. 헤드리스 브라우저로 사용할 HtmlUnit을 찾고있었습니다. 그 부분은 작동하지만 HtmlUnit은 렌더링 된 출력을 유지하기 위해 "print"함수 또는 비슷한 함수를 호출하는 API를 가지고 있습니까? 나는 그것을 iText와 링크시키는 방법을 생각하고 있었다.

답변

3

flying-saucer이 경우에는 기본적으로 CSS/XHTML 사용 iText 래퍼를 사용하는 것이 좋습니다.

다음은 간단한 예제입니다. HtmlUnit과 flying-saucer에 대한 필수 종속성을 잊지 마십시오. 자바에보고를하고 있다면

//Set up a new WebClient using your favourite settings 
WebClient webClient = new WebClient(); 

//Fetch page 
HtmlPage page = webClient.getPage("url-to-target.resource"); 

//Set PDF target output file 
String outputFile = "firstdoc.pdf"; 
OutputStream os = new FileOutputStream(outputFile); 

//Set up flying-saucer IText based renderer 
ITextRenderer renderer = new ITextRenderer(); 

//Create PDF 
renderer.setDocumentFromString(page.asXml(); 
renderer.layout(); 
renderer.createPDF(os); 

os.close(); 
+0

PDF를 생성하기 위해 비행 접시를 사용하고 iText를 사용하는 경우이 경우 iText에 상업용 라이센스가 필요합니까? – Teddy

-1

은 내가보기 엔 그것이 비교적 사용이 쉬운 그래픽으로 보고서를 디자인 할 수 있으며 입력으로 XML을 당신에게 다양한 형식의 보고서를 제공 할 수 있습니다, 당신은 Jasper Reports을 사용하는 것이 좋습니다 (PDF 포함).