2013-03-11 2 views
2

В среде Java EE я хочу загрузить файл XML и XSL, отобразить вывод в окно браузера и сохранить отображаемую страницу в формате PDF.HtmlУдалить и сохранить страницу как PDF

Я хотел бы сделать это программно. Я рассматривал HtmlUnit для использования в качестве безгласного браузера. Эта часть, похоже, работает, но имеет ли HtmlUnit какой-либо API для вызова функции «print» или аналогичной функции для сохранения выводимого вывода? Я думал о том, как связать его с iText.

ответ

3

Я бы порекомендовал попробовать flying-saucer который в данном случае является в основном оболочкой iText, поддерживающей CSS/XHTML.

Я написал простой пример ниже. Не забывайте о необходимых зависимостях для HtmlUnit и летающей тарелки.

//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

Если вы делаете отчеты в Java я настоятельно рекомендую вам использовать Jasper Reports, это относительно простые в использовании, вы можете создать отчет в графическом виде, и он может принять XML в качестве входных данных и дать вам отчет в различных форматах (включая PDF).

Смежные вопросы