我正在使用下面的“管道”技术将html字符串转换为PDF格式。
它工作正常,除了html表显然默认为页面的中心。 - 这是默认行为吗?如果是这样,是否有任何工作?
无论如何,我希望这些表格 left 是合理的。
我该如何做到这一点?
注意:“text-align:left;”例如,“margin-left:5px”没有效果......也不支持老式的“align:left”属性。
感谢您提供任何帮助/指导!
-
-
-
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();
-
-
-
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;
}