2017-03-06 3 views
1

J'essaie d'ajouter une cellule de "lignes et colonnes multiples" à la table, mais j'ai obtenu
IndexOutOfBoundsException.Erreurs avec itext7

Toute aide sera grandement appréciée.

Merci!

public static void main(String[] args) throws FileNotFoundException { 
    PdfWriter writer = new PdfWriter("D:\\test.pdf"); 
    PdfDocument pdf = new PdfDocument(writer); 
    Document document = new Document(pdf); 
    Table table = new Table(10); 
    table.setWidthPercent(100); 
    table.addCell(new Cell(1, 3).add(new Paragraph(1 + "_" + 3 + "_"))); 
    table.addCell(new Cell(1, 7).add(new Paragraph(1 + "_" + 4 + "_"))); 
    table.addCell(new Cell(6, 1).add(new Paragraph(6 + "_" + 1 + "_"))); 
    table.addCell(new Cell(6, 9).add(new Paragraph(6 + "_" + 9 + "_"))); 
    table.flushContent(); 
    document.add(table); 
    document.close(); 
} 

Exception

java.lang.IndexOutOfBoundsException: Index: 2, Size: 2 
at java.util.ArrayList.rangeCheck(ArrayList.java:653) 
at java.util.ArrayList.get(ArrayList.java:429) 
at com.itextpdf.layout.renderer.TableRenderer.drawVerticalBorder(TableRenderer.java:1718) 
at com.itextpdf.layout.renderer.TableRenderer.drawBorders(TableRenderer.java:1619)  
at com.itextpdf.layout.renderer.TableRenderer.drawChildren(TableRenderer.java:1265) 
at com.itextpdf.layout.renderer.AbstractRenderer.draw(AbstractRenderer.java:437) 
at com.itextpdf.layout.renderer.TableRenderer.draw(TableRenderer.java:1175) 
at com.itextpdf.layout.renderer.DocumentRenderer.flushSingleRenderer(DocumentRenderer.java:118) 
at com.itextpdf.layout.renderer.RootRenderer.processRenderer(RootRenderer.java:287) 
at com.itextpdf.layout.renderer.RootRenderer.updateCurrentAreaAndProcessRenderer(RootRenderer.java:300) 
at com.itextpdf.layout.renderer.RootRenderer.addChild(RootRenderer.java:201) 
at com.itextpdf.layout.RootElement.add(RootElement.java:108) 
at com.itextpdf.layout.Document.add(Document.java:143) 
+0

montrer votre code complet s'il vous plaît –

+0

j'ai modifié la question – Starwhere

+0

Quelle version de iText 7 exactement utilisez-vous? Il y a eu des bogues liés aux bordures de table dans les premières versions, puis le code de la table a été révisé. – mkl

Répondre

1

Le bogue a été corrigé dans 7.0.3-SNAPSHOT. L'instantané avec le correctif peut être téléchargé à partir de Artifactory.

Le fichier résultant ressemble maintenant à ceci: enter image description here