Itext 如何获取文本并转换为具有横向和两个文本列的PDF?
我需要更改纸张方向,然后将文本分为两列。我想要喜欢它: 我来自一个大的文本文件,我需要将所有这些文本添加到照片中的PDF中Itext 如何获取文本并转换为具有横向和两个文本列的PDF?,itext,itext7,Itext,Itext7,我需要更改纸张方向,然后将文本分为两列。我想要喜欢它: 我来自一个大的文本文件,我需要将所有这些文本添加到照片中的PDF中 PdfDocument pdfDoc = new PdfDocument(new PdfWriter(DEST)); PageSize ps = PageSize.A4;; Document doc = new Document(pdfDoc, ps); BufferedReader br = new BufferedReader(new FileReader("very
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(DEST));
PageSize ps = PageSize.A4;;
Document doc = new Document(pdfDoc, ps);
BufferedReader br = new BufferedReader(new FileReader("verybigfileWithText.txt"));
while ((line = br.readLine()) != null) {
//split pdf and add text in two column without overlapping page
}
doc.close();
我需要能够更改中间的边距(两列之间)和上/右/下/左边距。并获取每列的宽度:)
请帮帮我
Pdf:
要更改页面方向,可以使用
PageSize#rotate
,例如PageSize.A4.rotate()
要将内容放入两列(或更多)中,您可以创建自己的文档呈现器,或使用符合您需要的现有ColumnDocumentRenderer
。它接受允许您控制边距的列区域(甚至以一种可能不是您的用例的特殊方式定位列):
结果如下所示:
Document document = new Document(pdfDocument, PageSize.A4.rotate());
Rectangle[] columnAreas = new Rectangle[] {new Rectangle(30, 30, 350, 520), new Rectangle(430, 30, 350, 520)};
ColumnDocumentRenderer renderer = new ColumnDocumentRenderer(document, columnAreas);
document.setRenderer(renderer);
document.add(new Paragraph(text).setTextAlignment(TextAlignment.JUSTIFIED));
document.close();