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