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

标签 java html css pdf itext

我可以从 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;
        }
    }

最佳答案

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

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

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

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

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

关于java - 使用 itext 从 html 生成 pdf 时不采用 CSS 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23005424/

相关文章:

javascript - 使用 bxSlider 显示/隐藏筛选 slider 项

第一个 li 级别和 li :hover 上带有单独图像的 CSS 菜单

java - 为什么 Android 2.2 的模拟器中不出现阿拉伯字符

java - 我应该在学习Android之前学习Java吗

java - Swagger 不够智能,无法处理匿名类型(例如 map )

java - 双重检查锁定作为反模式

css - 让 div 置于一切之上

html - 最后用占位符和度量满足(:after)

css - 如何将上一个和下一个箭头放入物化轮播中?

在 chrome 中包含 html5 视频时的 css 悬停问题