有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用itext从html生成pdf时不采用java CSS样式

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

我的代码在这里:

{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;
        }
    }

共 (1) 个答案

  1. # 1 楼答案

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

    您可以通过表格的“样式”属性内联提供样式

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

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

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