2015-04-21 6 views
1

ПроблемыCSS не применяется в генерируемый PDF

Я использую летающее блюдце для создания PDF из HTML-файла.

PDF правильно сгенерирован, но CSS не применяется к нему.

HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
    <head> 
    <meta http-equiv="X-UA-Compatible" content="IE=8" /> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> 
    <link rel="stylesheet" media="print" type="text/css" href="C:/Users/f_antbar/Workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/Gest_saisie/css/printPDF.css"/> 
</head> 
<body> 
    <div style="background-color:white; width:100%"><img src="C:/Users/f_antbar/Workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/Gest_saisie/img/logo_50.jpg"/></div> 
    <div id="corps">... 

Генератор

try { 
    FileOutputStream os = new FileOutputStream(context.getRealPath("documents")+"/print/test.pdf"); 
    ITextRenderer renderer = new ITextRenderer(); 
    renderer.setDocument(new File(context.getRealPath("documents")+"/print/test.html")); 
    renderer.layout(); 
    renderer.createPDF(os); 
    os.close(); 
    System.out.println("PDF created"); 
} catch (Exception ex) { 
    ex.printStackTrace(); 
} 

CSS-проверяется по W3C валидатор, путь является правильным, так как я использовал его только IText, но так как IText не Поддержите много CSS, я хотел попробовать с летающей тарелкой.

Конфигурация

Я работаю с

  • Struts2
  • IText 2.1.7
  • летающих блюдца ядро-9.0.7
  • летно-блюдца-PDF -9.0.7

ответ

0

**** Как я не имею доступ к добавлению комментариев, он упоминается в разделе Ответа

Привет,

The HREF ссылки, упомянутой в таблицу стилей не может быть accessbile при выполнении кода. Сделайте его доступным по URL-адресу и отредактируйте html с соответствующими URL-адресами. (убедитесь, что он доступен для сервера, на котором выполняется код).

Для проверки попробуйте вставить весь код стилей в теги <style></style> и выполнить.

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