【问题标题】:CSS style is not taken while generating pdf from html using itext使用 itext 从 html 生成 pdf 时不采用 CSS 样式
【发布时间】:2014-04-11 06:48:51
【问题描述】:

我可以成功地从 html 字符串生成 pdf,但问题是它不使用 css 脚本。如何生成具有 css 样式的 pdf? 请帮忙!我试过cssresolver als

我的代码在这里:

{String result = "failed";

try 
{
String html2 ="<html>"+.....+"</html>" ;
  long timemilli = System.currentTimeMillis();
            String filename = "EastAfriPack2014_Ticket_"+timemilli;
           String writePath = Global.PDF_SAVE_PATH + filename ; 
           System.out.println("----------writePath--------------"+ writePath);

            OutputStream file = new FileOutputStream(new File(writePath+".pdf"));
            Document document = new Document();
            PdfWriter writer = PdfWriter.getInstance(document, file);
            document.open();
            InputStream is = new ByteArrayInputStream(k.getBytes());

            CSSResolver cssResolver = XMLWorkerHelper.getInstance().getDefaultCssResolver(false);  
            cssResolver.addCss("table {color: red;  background-color: blue; } ", true);

            XMLWorkerHelper.getInstance().parseXHtml(writer, document, is);
            document.close();
            file.close();
            System.out.println("pdf created");
            result = filename;
            return filename;
        } catch (Exception e) {
            e.printStackTrace();
            return result;
        }
    }

【问题讨论】:

标签: java html css pdf itext


【解决方案1】:

我认为你的方法行不通。我之前尝试过,因为它是从 HTML 创建 PDF 的最简单方法,但遇到了同样的问题。

您可以通过样式属性为表格提供内联样式

分别使用 HTML、CSS 文件并将它们发送到 HelperClass

XMLWorkerHelper.getInstance().parseXHtml(writer, document, 
                    new FileInputStream("myhtmlFile.html"), 
                    new FileInputStream("myCSSFile.css"));

HTML 部分也可以是您在上面的代码中创建的 inputStream。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-05
    • 1970-01-01
    • 2015-10-13
    • 2015-10-20
    • 1970-01-01
    • 2016-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多