如何对表进行左对齐 - 即,在使用管道和xmlparser生成的pdf文档中?

时间:2013-04-17 18:55:54

标签: java css itext

我正在使用下面的“管道”技术将html字符串转换为PDF格式。

它工作正常,除了html表显然默认为页面的中心。 - 这是默认行为吗?如果是这样,是否有任何工作?

无论如何,我希望这些表格 left 是合理的。

我该如何做到这一点?

注意:“text-align:left;”例如,“margin-left:5px”没有效果......也不支持老式的“align:left”属性。

感谢您提供任何帮助/指导!


java code snippet:

         -
         -
         -
        document.open();

        HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);

        htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory());

        // CSS
        CSSResolver cssResolver = new StyleAttrCSSResolver();
        InputStream csspathtest = Thread.currentThread().getContextClassLoader().getResourceAsStream("css/testpdf.css");            
        CssFile cssfiletest = XMLWorkerHelper.getCSS(csspathtest);
        cssResolver.addCss(cssfiletest);             

        Pipeline<?> pipeline =  new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(document, writer)));

        XMLWorker worker = new XMLWorker(pipeline, true);
        XMLParser p = new XMLParser(worker);
        p.parse(is); //new FileInputStream("results/demo2/walden.html"));

        // step     
        document.close();
         -
         -
         -

css片段:

    div
    {
        margin-left: 5px;
        padding-left: 5px;
    }

    h2
    {
        color:blue;
        text-align: center;
        font-size: 16pt;
        margin-bottom: 20px;
    }

    h6
    {
        color:#777;
        text-align: center;
        font-size: 14pt;
        margin-bottom: 20px;    
    }

    p
    {
        color: green;
        text-align: center; 
        font-style: italic;    
        font-size: 12pt;
        margin-bottom: 20px;    
    }

    table
    {
        font-family: Arial, Helvetica, sans-serif;
        color: blue;
        border-color: #777;
        border-style: solid;
        border-width: .1px;
        border-collapse: collapse;
        text-align: left;
        vertical-align: top;
        margin-bottom: 50px;
        margin-left: 5px;
        padding-left: 5px;
    }


    th
    {
        color: #777;
        font-size: 10pt;
        background-color: lightgrey;
        padding: 5px;
        text-align: left;
        vertical-align: top;    
    }

    td
    {
        font-size: 8pt;
        color: navy;
        border-top-color: #777;
        border-top-width: .01px;       
        padding: 5px;   
        text-align: left;
        vertical-align: top;     
    }

0 个答案:

没有答案