2015-07-07 2 views
0

Я пытаюсь создать что-то вроде этого с помощью iText PdfPTable:регулировка Colspan в PdfPTable/PdfPCell

-------------------------------------------------------------- 
|       Content 1       | 
-------------------------------------------------------------- 
|    Content 2   | Content 3 | Content 4 | 
-------------------------------------------------------------- 
|       Content 5       | 
-------------------------------------------------------------- 
|   Content 7   |  Content 7   | 
-------------------------------------------------------------- 

UPDATE:

Я попытался создать подобный материал, но потерпел неудачу, который показывает, что я определенно нужно чтобы узнать больше. Может ли кто-нибудь предложить мне, как построить то же самое и помочь мне учиться. Любое предложение приветствуется.

Благодаря

+0

* Как это не работает? – tnw

+0

Он работает, но .. Я не могу понять идею создания iText PdfTable, особенно строки и colspan. Могли бы вы мне помочь? – mustangDC

+0

Это совершенно другой вопрос из того, что вы опубликовали. Либо удалите вопрос и спросите новый, либо отредактируйте его, чтобы отразить то, что является актуальным вопросом. Имейте в виду, если вы спросите, что именно вы сделали со мной, это будет (более чем вероятно) закрыто как слишком широкое – tnw

ответ

3

Что вам нужно, это гораздо проще, чем пример, который вы использовали для вдохновения. Хорошая практика заключается в том, чтобы добавлять строки комментариев для каждой строки, так что вы можете легко вычислить математику для расчета необходимых колипанов:

public void createPdf(String dest) throws IOException, DocumentException { 
    Document document = new Document(); 
    PdfWriter.getInstance(document, new FileOutputStream(dest)); 
    document.open(); 
    // I see 3 columns in your example 
    PdfPTable table = new PdfPTable(3); 
    // The first column appears to have double the width of the other columns 
    table.setWidths(new int[]{ 2, 1, 1}); 
    // the first row consists of 1 cell that spans the 3 columns 
    PdfPCell c1 = new PdfPCell(new Phrase("Content 1")); 
    c1.setColspan(3); 
    table.addCell(c1); 
    // Then follows a row with normal cells 
    table.addCell("Content 2"); 
    table.addCell("Content 3"); 
    table.addCell("Content 4"); 
    // Again we have a row with 1 cell that spans 3 columns 
    PdfPCell c5 = new PdfPCell(new Phrase("Content 5")); 
    c5.setColspan(3); 
    table.addCell(c5); 
    // Now we have a row with 1 normal cell and 1 that spans 2 columns 
    table.addCell("Content 7.1"); 
    PdfPCell c7 = new PdfPCell(new Phrase("Content 7.2")); 
    c7.setRowspan(2); 
    table.addCell(c7); 
    // now we can add the table 
    document.add(table); 
    document.close(); 
} 
+0

Цените его. Это не только решило все, но и получило справедливое представление об охвате. Спасибо – mustangDC

+0

;-) Рад, что этот пример помог. –

+0

Мой вопрос был тривиальным, как новичок, которого я не мог сделать больше. Но с такими людьми, как вы, я могу легко пройтись от любителя к профессионалу :-). – mustangDC

Смежные вопросы