如何将横向和两个文本列的文本转换为PDF?

问题描述 投票:0回答:1

我需要更改纸张方向,然后将文本分成两列。我想要它:

enter image description here

我来自一个大文本文件,我需要在照片中添加PDF中的所有文本。

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:https://dropmefiles.com/HqD6f

itext itext7
1个回答
1
投票

要更改页面的方向,您可以使用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();

结果如下:result

© www.soinside.com 2019 - 2024. All rights reserved.