Pdf 如何将文本放入单元格itext 7
供参考 如何使用Cell和itext 7库获取上述内容Pdf 如何将文本放入单元格itext 7,pdf,itext,pdf-generation,itext7,Pdf,Itext,Pdf Generation,Itext7,供参考 如何使用Cell和itext 7库获取上述内容 我使用了cell.setPadding0f;但这并没有帮助我获得预期的结果。您似乎忘记设置要添加到单元格中的内容的前导。我试着模仿你分享的屏幕截图: 这是我用来这样做的代码: public void createPdf(String dest) throws IOException { // step 1 PdfDocument pdfDocument = new PdfDocument(new PdfWriter(dest
我使用了cell.setPadding0f;但这并没有帮助我获得预期的结果。您似乎忘记设置要添加到单元格中的内容的前导。我试着模仿你分享的屏幕截图: 这是我用来这样做的代码:
public void createPdf(String dest) throws IOException {
// step 1
PdfDocument pdfDocument = new PdfDocument(new PdfWriter(dest));
pdfDocument.setDefaultPageSize(PageSize.A4.rotate());
// step 2
Document document = new Document(pdfDocument);
// step 3
Table table = new Table(new float[]{ 50 , 50 });
table.setWidthPercent(30);
table.addCell(new Cell().setPadding(0).setTextAlignment(TextAlignment.CENTER)
.add(new Paragraph("4.0").setMultipliedLeading(1.2f).setItalic()));
table.addCell(new Cell().setPadding(0).setTextAlignment(TextAlignment.CENTER)
.add(new Paragraph("0.14").setMultipliedLeading(1.2f).setItalic()));
document.add(table);
// step 4
document.close();
}
在本例中,我使用了1.2f的相乘前导。请随意更改该值
注意:无法在父级上设置级别的值(例如,表、文档等)是非常烦人的,。。。。我已经创建了,希望在下一个版本中支持此功能。似乎您忘记设置要添加到单元格中的内容的前导。我试着模仿你分享的屏幕截图: 这是我用来这样做的代码:
public void createPdf(String dest) throws IOException {
// step 1
PdfDocument pdfDocument = new PdfDocument(new PdfWriter(dest));
pdfDocument.setDefaultPageSize(PageSize.A4.rotate());
// step 2
Document document = new Document(pdfDocument);
// step 3
Table table = new Table(new float[]{ 50 , 50 });
table.setWidthPercent(30);
table.addCell(new Cell().setPadding(0).setTextAlignment(TextAlignment.CENTER)
.add(new Paragraph("4.0").setMultipliedLeading(1.2f).setItalic()));
table.addCell(new Cell().setPadding(0).setTextAlignment(TextAlignment.CENTER)
.add(new Paragraph("0.14").setMultipliedLeading(1.2f).setItalic()));
document.add(table);
// step 4
document.close();
}
在本例中,我使用了1.2f的相乘前导。请随意更改该值
注意:无法在父级上设置级别的值(例如,表、文档等)是非常烦人的,。。。。我已经创建了,希望在下一个版本中支持它。虽然没有合适的默认前导设置器,但有一种方法可以在实现IPropertyContainer的document/table/other类上设置它。只需使用setProperty方法。由于前导和斜体模拟属性是继承的,因此容器及其所有子容器将具有此属性,除非覆盖它 我已经重写了Bruno的代码,下一个代码段将执行您想要的结果
PdfDocument pdfDocument = new PdfDocument(new PdfWriter(outFileName));
pdfDocument.setDefaultPageSize(PageSize.A4.rotate());
Document document = new Document(pdfDocument);
Table table = new Table(new float[]{ 50 , 50 });
table.setWidthPercent(30);
document.setProperty(Property.LEADING, new Leading(Leading.MULTIPLIED, 1.2f));
document.setProperty(Property.ITALIC_SIMULATION, true);
table.addCell(new Cell().setPadding(0).setTextAlignment(TextAlignment.CENTER)
.add("4.0"));
table.addCell(new Cell().setPadding(0).setTextAlignment(TextAlignment.CENTER)
.add("0.14"));
document.add(table);
document.close();
但是,强烈建议不要自行设置属性,除非您了解这会导致什么结果 尽管没有合适的默认前导设置器,但有一种方法可以在实现IPropertyContainer的文档/表格/其他类上设置它。只需使用setProperty方法。由于前导和斜体模拟属性是继承的,因此容器及其所有子容器将具有此属性,除非覆盖它 我已经重写了Bruno的代码,下一个代码段将执行您想要的结果
PdfDocument pdfDocument = new PdfDocument(new PdfWriter(outFileName));
pdfDocument.setDefaultPageSize(PageSize.A4.rotate());
Document document = new Document(pdfDocument);
Table table = new Table(new float[]{ 50 , 50 });
table.setWidthPercent(30);
document.setProperty(Property.LEADING, new Leading(Leading.MULTIPLIED, 1.2f));
document.setProperty(Property.ITALIC_SIMULATION, true);
table.addCell(new Cell().setPadding(0).setTextAlignment(TextAlignment.CENTER)
.add("4.0"));
table.addCell(new Cell().setPadding(0).setTextAlignment(TextAlignment.CENTER)
.add("0.14"));
document.add(table);
document.close();
但是,强烈建议不要自行设置属性,除非您了解这会导致什么结果 @alexey你能帮忙吗this@alexey你能帮我做这个@Bruno@Bruno吗