使用iText将html转换为pdf时应用css

时间:2011-11-22 06:40:57

标签: itext

我正在尝试将html转换为pdf。我正在使用iText来实现这一目标。我成功地进行了转换,但我遇到了必须应用外部CSS文件将此HTML转换为PDF的情况。我搜索了iText邮件列表,谷歌已经有一段时间了。我所理解的是,无法应用外部css文件。

如果我错了,有人可以纠正我吗?或者有没有办法应用外部CSS来动态转换HTML到PDF格式?任何关于如何进行的提示将不胜感激。

2 个答案:

答案 0 :(得分:1)

您无法直接加载外部css文件,但您可以使用iText库中的“StyleSheet”类定义样式表中指定的样式。请参考以下网址。

http://itextpdf.com/examples/iia.php?id=56

答案 1 :(得分:0)

您可以使用外部StyleSheet作为内部样式表进行测试,如果一切正常,请使用此方法

public void generatePDFDesdeDoc()
{
    Document document = new Document();
    PdfWriter writer;
    String lsPath = Environment.getExternalStorageDirectory().getPath();
    try {
        writer = PdfWriter.getInstance(document, new FileOutputStream(
                lsPath + getResources().getString(R.string.path_pdf)));
        document.open();
        try {
            XMLWorkerHelper.getInstance().parseXHtml(writer, document
            , new FileInputStream(lsPath + getResources().getString(R.string.path_html))
            , new FileInputStream(lsPath + getResources().getString(R.string.path_css))
            );
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } catch (FileNotFoundException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    } catch (NotFoundException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    } catch (DocumentException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    document.close();
}