2

当我运行这段代码时,我在文档顶部得到了一个边距。

图片

我不知道如何摆脱它。我正在运行最新版本的 iText 和 XMLWorker。

Document document = new Document(PageSize.A5.rotate(), 0f, 0f, 0f, 0f);
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("E:/itext/test.pdf"));
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);

htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory());

CSSResolver cssResolver = XMLWorkerHelper.getInstance().getDefaultCssResolver(false);

cssResolver.addCss("p{color: #a00; font-size: 20pt; margin: 0; padding: 0;}", true);

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

XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser xmlParser = new XMLParser(worker);

document.open();

String htmlData = "<html> <p>Lorem ipsum</p> </html>";

xmlParser.parse(new StringReader(htmlData));

document.close();
4

2 回答 2

2

HTML<p>标记通常在上方和下方都有填充。<div>如果您改用标签,也许您会得到您正在寻找的结果?

于 2012-11-02T00:01:32.580 回答
1

您可以设置文档对象的边距。

document.setMargins(0,0,0,0);
于 2019-09-23T15:06:09.043 回答