1 package org.simantics.document.linking.report.pdf;
\r
3 import java.util.List;
\r
5 import org.simantics.document.linking.report.DocumentLine;
\r
6 import org.simantics.document.linking.report.DocumentTitlePage;
\r
7 import org.simantics.document.linking.report.Table;
\r
8 import org.simantics.document.linking.report.Document.TextSize;
\r
9 import org.simantics.document.linking.report.TableColumn.Alignment;
\r
12 public class PDFTitlePage extends DocumentTitlePage implements PDFElement {
\r
14 PDFDocument document;
\r
16 public PDFTitlePage(PDFDocument writer) {
\r
17 this.document = writer;
\r
21 public PDFPage getPage() {
\r
26 public void writeTitle(List<DocumentLine> titleLines) throws Exception {
\r
27 Alignment alignment = (Alignment)titleLines.get(0).getHints().get(Alignment.class);
\r
28 if (alignment == null)
\r
29 alignment = Alignment.CENTER;
\r
30 TextSize textSize = (TextSize)titleLines.get(0).getHints().get(TextSize.class);
\r
31 if (textSize == null)
\r
32 textSize = TextSize.HUGE;
\r
34 document.nextPage();
\r
35 this.page = document.contentStream.getCurrentPage();
\r
36 Table table = document.newElement(Table.class);
\r
37 table.addColumn("Names", 1.0).setAlignment(alignment);
\r
38 table.setLinesVisible(false);
\r
39 table.setHeaderVisible(false);
\r
40 table.setTextSize(textSize);
\r
41 int lines = (document.contentStream.getAvailableLines()-3)/2;
\r
42 for (int i = 0; i < lines; i++)
\r
44 for (DocumentLine line : titleLines) {
\r
45 TextSize s = (TextSize)line.getHints().get(TextSize.class);
\r
48 table.setTextSize(textSize);
\r
49 table.writeRow(line.getLine());
\r
51 table.setTextSize(TextSize.SMALL);
\r
52 table.setLinesVisible(true);
\r
53 table.setHeaderVisible(true);
\r
54 document.nextPage();
\r