So ändern Sie die Breite einer Zelle?

Ich brauche Eure Hilfe, einstellen der Länge der Zelle nach unten an den Rand. Derzeit zeigt Sie den unteren Rand einer Zelle zu lang und ich muss kürzen. Ich habe versucht, ändern Sie die Breite der Tabelle, aber es kommt nicht richtig.

Unten ist der code:

Paragraph tableParagraph = new Paragraph();
tableParagraph.setAlignment(Element.ALIGN_LEFT);

PdfPTable table55 = new PdfPTable(2);
table55 = new PdfPTable(new float[] { 6, 6 });
table55.setWidthPercentage(90f);
table55.getDefaultCell().setBorder(PdfPCell.NO_BORDER);

PdfPCell cel2a = new PdfPCell(new Paragraph("Total of Net Profit ", font));

PdfPCell cel2b = new PdfPCell(new Paragraph("100.000" + " USD  ", font));

cel2a.setBorder(Rectangle.NO_BORDER);
cel2b.setBorder(Rectangle.BOTTOM);
cel2a.setLeading(1f, 1.5f);
cel2b.setLeading(1f, 1.5f);

table55.addCell(cel2a);
table55.addCell(cel2b);
Die Länge der unteren Grenze einer Zelle ist identisch mit der Breite der Zelle. Wenn Sie möchten, zu ändern, die Länge ist, müssen Sie entweder ändern Sie die Breite der Zelle (derzeit ist es die Hälfte von 90% der Seitenbreite abzüglich der linken und rechten Rand), oder... wenn Sie nicht wollen, ändern Sie die Breite der Zelle, der Zellen verwenden, Ereignisse zu zeichnen, die Grenze mit Ihrem eigenen code. Also sagen Sie uns: möchten Sie ändern die Breite der Zelle? Wenn nicht: was sollte die Länge der unteren Grenze?
Auf einer anderen Anmerkung, Sie sollten entfernen Sie diese Zeile: table55.getDefaultCell().setBorder(PdfPCell.NO_BORDER); Sie nicht mit den Standard-Zelle überall in Ihrem code. Stattdessen erstellen Sie Ihre eigenen PdfPCell Instanzen. Mit der Standard-Zelle macht nur Sinn, wenn Sie hinzufügen von Zellen wie diese: table.addCell("cell content"). In diesem Fall, iText erstellt eine PdfPCell basierend auf den Eigenschaften der Standard-Zelle.
Ist die erste nicht, die 6 in den code table55 = new PdfPTable(new float[] { 6, 6 }); bezieht sich auf die erste Zelle der Breite?
Die Linie table55 = new PdfPTable(new float[] { 6, 6 }); ist das äquivalent von table55 = new PdfPTable(2); Durch die Verwendung des Parameters new float[] { 6, 6 } Sie nicht definieren Sie die Breite der Spalten! Sie nur sagen, iText, wollen Sie zwei Spalten mit gleicher Breite. Jeder Messung ist die Hälfte von 90% der verfügbaren Breite an. Bitte Lesen Sie die Dokumentation.
Also sagen Sie mir: wollen Sie ändern die Breite der Zelle? Oder wollen Sie die Breite der Zelle, und ändern Sie die Länge von der unteren Grenze? Ohne eine Antwort auf diese Frage kann ich nicht schreiben eine Antwort auf Ihre.

InformationsquelleAutor 99maas | 2015-08-13

Schreibe einen Kommentar