我有一个关于文件的一些问题:
itextpdf是否必须有一个特定的页面上的其他保证金的选项?我曾尝试使用
document.setMargin
然后
document.newPage
,但似乎每个页面得到相同的幅度。
有什么办法可以防止标题和元素重叠吗?
谢谢!
EDIT
这里是,增加了该文档内容的方法:
@Override
void addDocumentContent(Document doc, PdfWriter writer, AbstractDiplomaDataModel diplomaData) throws DiplomaPdfFileProducerException {
try {
doc.setMargins(DefaultPdfDocumentSettings.LEFT_MARGIN, DefaultPdfDocumentSettings.RIGHT_MARGIN, 0f, 0f);
doc.newPage();
doc.add(new DiplomaPdfDataGenerator(diplomaData).generateFirstPagePdf());
doc.setMargins(DefaultPdfDocumentSettings.LEFT_MARGIN, DefaultPdfDocumentSettings.RIGHT_MARGIN, DefaultPdfDocumentSettings.TOP_MARGIN,DefaultPdfDocumentSettings.BOTTOM_MARGIN);
doc.newPage();
doc.add(new DiplomaPdfDataGenerator(diplomaData).generateOtherPagesPdf());
} catch (Exception e) {
throw new DiplomaPdfFileProducerException(e.getMessage());
}
}
,这是结果:
+0
'DiplomaPdfDataGenerator.generateFirstPagePdf()'和'DiplomaPdfDataGenerator.generateOtherPagesPdf()'返回什么?你怎么生成你的头文件?那些DefaultPdfDocumentSettings常量的值是多少?除此之外,代码看起来像我的答案中的代码,它可以像预期的那样工作。因此,这些对象或机制有些特殊之处。 –
+0
它工作。 generateFirstPagePdf()和generateOtherPagesPdf()返回段落/元素。我只是没有注意到差异,因为DefaultPdfDocumentSettings.TOP_MARGIN是20.我将顶部边距更改为60,我注意到差异 –
+1
太棒了!我开始想知道这些方法可能会返回什么结果来忽略边距...; –