gpt4 book ai didi

java - td border 、 border-bottom 未使用 itext 库以 pdf 格式打印

转载 作者:行者123 更新时间:2023-12-01 09:05:02 29 4
gpt4 key购买 nike

<tr><td style='border-bottom:1px solid #333;'><p style='font-family:arial; font-size:8px; margin:0px 0px 10px 0px;  line-height:10px;'><strong>Customer Details </strong><br>Lawakush Kurmi<br>8285998390<br>lkurmi@craterzone.com<br> </p></td><td valign='top' style='font-family:arial; font-size:8px;  text-align:right; border-bottom:1px solid #333;'>&nbsp;</td></tr>

我正在尝试使用 i-text 库将这些 html 代码转换为 pdf。但是 border-bottom:1px 没有在 pdf 中绘制任何边框。请建议使用 html 在 pdf 中绘制水平线边框的最佳选项是什么。
注意:我正在使用 HTMLWorker 将 HTML 转换为 PDF 页面。

最佳答案

允许我重用 iTextSharp add ( css style or a css file) and download pdf file 中的代码并稍微改变一些值:

public static final String CSS = "th { border-top: 5px solid green; } "
+ "td { font-size: 10pt; border-color: gray; border: 3px}";
public static final String HTML = "<html><body><table class='table-bordered'>"
+ "<thead><tr><th>Customer Name</th><th>Customer's Address</th> </tr></thead>"
+ "<tbody><tr><td> XYZ </td><td> Bhubaneswar </td></tr>"
+ "<tr><td> MNP </td><td> Cuttack </td></tr></tbody>"
+ "</table></body></html>";

/**
* @param file
* @throws IOException
* @throws DocumentException
*/
public void createPdf(String file) throws IOException, DocumentException {
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(file));
document.open();


CSSResolver cssResolver = new StyleAttrCSSResolver();
CssFile cssFile = XMLWorkerHelper.getCSS(new ByteArrayInputStream(CSS.getBytes()));
cssResolver.addCss(cssFile);

// HTML
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory());

// Pipelines
PdfWriterPipeline pdf = new PdfWriterPipeline(document, writer);
HtmlPipeline html = new HtmlPipeline(htmlContext, pdf);
CssResolverPipeline css = new CssResolverPipeline(cssResolver, html);

// XML Worker
XMLWorker worker = new XMLWorker(css, true);
XMLParser p = new XMLParser(worker);
p.parse(new ByteArrayInputStream(HTML.getBytes()));
document.close();
}

生成的 PDF 如下所示:

enter image description here

如果你看CSS ,您会看到我们为 <th> 定义了边框标记为border-top: 5px solid green;<td> 的边框标记为font-size: 10pt; border-color: gray; border: 3px 。这证明 iText 支持表格边框的 CSS。

关于java - td border 、 border-bottom 未使用 itext 库以 pdf 格式打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41351227/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com