iText und Table.setTableFitsPage(); geht nicht

Status
Nicht offen für weitere Antworten.

dirty-mg

Bekanntes Mitglied
Hallo liebe Leute,

ich erzeuge ein PDF mit vielen untereinanderstehenden Tabelle.
Jede Tabelle ist hat 5 Spalten und 5 Zeilen.
Nun habe ich folgendes gemacht:
Code:
myTable.setTableFitsPage(true);

Das soll doch sicherlich verhindern, dass eine Tabelle am Seitenende gesplittet wird und beispielsweise die letzten beiden Zeilen auf der nächsten Seite erscheinen. Viel mehr sollte doch dann die ganze Tabelle auf der nächsten Seite stehen oder?

Leider brechen die Tabelle bei mir doch mittendrin um.

Hat jemand einen Rat?

mfg
Marcus
 

thE_29

Top Contributor
Müsste eigentlich genau mit dem funktionieren.

Hast du das Bsp vielleicht bei der Hand zum Testen?
 

dirty-mg

Bekanntes Mitglied
hier ein Beispiel, das bei mir nicht funktioniert:
Code:
package test;

import com.lowagie.text.Table;
import com.lowagie.text.Rectangle;
import com.lowagie.text.Phrase;
import com.lowagie.text.Element;
import com.lowagie.text.FontFactory;
import com.lowagie.text.Cell;
import com.lowagie.text.Document;
import com.lowagie.text.PageSize;
import com.lowagie.text.pdf.PdfWriter;
import java.io.FileOutputStream;
import java.awt.Color;

public class MainClass {
    public static void main(String[] args) {
        try {
            // Dokument vorbereiten
            Document document = new Document();
            document.setPageSize(PageSize.A4);
            String docName = System.currentTimeMillis()+".pdf";
            PdfWriter.getInstance(document, new FileOutputStream(docName));           
            document.open();
            
            for (int i=0; i<10; i++) {
                Table table = new Table(5);
                table.setBorder(Rectangle.LEFT | Rectangle.RIGHT | Rectangle.TOP | Rectangle.BOTTOM);
                table.setBorderColor(Color.RED);
                table.setWidth(90);
                table.setTableFitsPage(true);
                table.setPadding(2);
                
                for (int zeile=1; zeile<=5; zeile++) {
                    for (int spalte=1; spalte<=5; spalte++) {
                        Cell cell = new Cell(new Phrase("S "+spalte+" Z "+zeile,
                            FontFactory.getFont("Arial", 10,
                                                com.lowagie.text.Font.NORMAL)));
                        cell.setBorder(Rectangle.BOTTOM);
                        cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                        table.addCell(cell);
                    }
                }
                
                // ein wenig Abstand zwischen 2 Tabellen
                document.add(new Phrase("", FontFactory.getFont("Arial", 10,
                                                            com.lowagie.text.Font.NORMAL)));
                
                document.add(table);
            }
            
            document.close();
            Runtime.getRuntime().exec("RUNDLL32 url.dll,FileProtocolHandler " + docName);
        }
        catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}
Die Tabellen haben einen roten Rahmen, die Zellen einen schwarzen.
 

thE_29

Top Contributor
Mit iText 1.3 macht er das schön sauber...
Also die roten Tabellen werden nie zwischengebrochen!

Ich weiß warum ich seit 1.3 nicht mehr geupdated habe.. Die haben manchmal mehr kaputt gemacht, als eingebaut.
 

dirty-mg

Bekanntes Mitglied
Und nu? Wenn ich ein Downgrade auf iText 1.3 mache, kann ich viele viele andere Dokumente anpassen. Das wäre nicht lustig. Probier es doch mal mit iText 2.1.2u aus ;-)
 

robthemobb

Mitglied
dachte das macht

Code:
table.setSplitLate(false);
oder
Code:
table.setSplitRows(false);

habs noch nie ausprobiert. evtl klappt es damit

rob
 

dirty-mg

Bekanntes Mitglied
Code:
table.setSplitLate()
kommt aus der Klasse
Code:
com.lowagie.text.pdf.PdfPTable
Ich benutze aber
[/code]com.lowagie.text.Table
Code:
und da gibt es diese Methode nicht.
 

robthemobb

Mitglied
dumme frage:

warum nimmst du dann nicht einfach die klasse?
sorry, bin anfänger und das verwirrt mich ein wenig. ich würde dann einfach die andere klasse nehmen mit der es geht...
 

thE_29

Top Contributor
So also mitn 2.1.3 gehts mal nicht..
Ich teste mal 2.1.0.

Ädit: 2.1.0 geht auch nicht... Manchmal frage ich mich warum die bestehende Funktionen so dermassen zerstören und keinem fällt es beim Testen auf.
 

dirty-mg

Bekanntes Mitglied
Jo dann muss ich die quasi fertige Klasse, die mein PDF erzeugt komplett überarbeiten zwecks Ausrichtung etc. und das möchte ich mir ersparen. Verstehst Du???
 

thE_29

Top Contributor
Code:
    try
    {
      // Dokument vorbereiten
      Document document = new Document();
      document.setPageSize(PageSize.A4);
      String docName = System.currentTimeMillis() + ".pdf";
      PdfWriter.getInstance(document, new FileOutputStream(docName));
      document.open();

      for (int i = 0; i < 10; i++)
      {
        Table table = new Table(5);
        table.setBorder(Rectangle.LEFT | Rectangle.RIGHT | Rectangle.TOP |
                        Rectangle.BOTTOM);
        table.setBorderColor(Color.RED);
        table.setWidth(90);
        table.setTableFitsPage(true);
        table.setPadding(2);

        for (int zeile = 1; zeile <= 5; zeile++)
        {
          for (int spalte = 1; spalte <= 5; spalte++)
          {
            Cell cell = new Cell(new Phrase("S " + spalte + " Z " + zeile,  FontFactory.getFont("Arial", 10,
                com.lowagie.text.Font.NORMAL)));
            cell.setBorder(Rectangle.BOTTOM);
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            table.addCell(cell);
          }
        }

        // ein wenig Abstand zwischen 2 Tabellen
        document.add(new Phrase(" ", FontFactory.getFont("Arial", 10, 
                                                        com.lowagie.text.Font.NORMAL))); //<-- OHNE LEERZEICHEN IST DANN KEIN ABSTAND
        table.setConvert2pdfptable(true); //<--- DIESER BEFEHL SORGT DAFÜR, DAS setSpliteLate gesetzt wird

        document.add(table);
      }

      document.close();
      Runtime.getRuntime().exec("RUNDLL32 url.dll,FileProtocolHandler " + docName);
    }
    catch (Exception ex)
    {
      ex.printStackTrace();
    }
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Wie kann man die IText Table Position bestimmen? Allgemeine Java-Themen 3
F IText Table ohne Rand Allgemeine Java-Themen 5
izoards iText Lizenz? Allgemeine Java-Themen 2
O PDF auslesen und verändern, was ist besser iText oder PDFBox ? Allgemeine Java-Themen 9
I OpenPDF (ehem. iText) will kein PDF mit CMYK only erzeugen Allgemeine Java-Themen 6
N iText keine Sonderzeichen und Umlaute unter Windows Allgemeine Java-Themen 13
W PDFs signieren mittels IText / Lowagie Allgemeine Java-Themen 0
M itext - Button der Text in Zwischenablage stellt Allgemeine Java-Themen 0
S iText: zweite Seitenhälfte mit vorhandenen pdf füllen Allgemeine Java-Themen 2
T PDF-Generierung (itext) - läuft unter Eclipse, bei har aber leere Seite Allgemeine Java-Themen 39
S JFileChooser und iText Allgemeine Java-Themen 6
T iText mit eclipse richtig in Java-Projekt einbinden Allgemeine Java-Themen 2
4a61766120617274697374 PDF iText Wort Koordinaten auslesen Allgemeine Java-Themen 1
S iText Cellen mit Attributen aus ArrayListen füllen Allgemeine Java-Themen 1
G Mein PDF Projekt mit iText Allgemeine Java-Themen 2
T itext: text in ein textfeld hinzufügen Allgemeine Java-Themen 2
K Pdf mit dynamischem Text mit iText Allgemeine Java-Themen 0
C Itext Voralagen Header Footer -> PDF Allgemeine Java-Themen 0
J iText und PdfWriter.DID_SAVE Allgemeine Java-Themen 4
S runnable jar file in Verbindung mit itext Allgemeine Java-Themen 3
I itext Libreoffice Java und ein PDF Template Allgemeine Java-Themen 1
F Input/Output Problem mit iText: Formularfeld uneditierbar machen Allgemeine Java-Themen 0
L iText PDF-Generierung ohne Speichern Allgemeine Java-Themen 10
P iText Text zentrieren Allgemeine Java-Themen 3
L iText PDF Form-Felder werden nach Bearbeitung mit iText nicht mehr richtig erkannt. Allgemeine Java-Themen 2
A Tabelle mit iText erstellen Allgemeine Java-Themen 3
B itext Graphics Allgemeine Java-Themen 4
V iText Textfelder mit Zahlen! Allgemeine Java-Themen 2
H JTable per iText in PDF: Größenanpassung möglich? Allgemeine Java-Themen 2
M itext Leerzeichen am ende unterstreichen Allgemeine Java-Themen 4
N iText-Nutzung (Version 2.1.7) in kommerzieller Website Allgemeine Java-Themen 8
K iText, HTML Einrückung im Document, aber nicht im Paragraph Allgemeine Java-Themen 3
B iText Portable Collection Acrobat X Allgemeine Java-Themen 2
J iText und images Allgemeine Java-Themen 6
S iText PDF - Verständnisproblem beim Update von TableCells (Seitenzahlen) Allgemeine Java-Themen 2
T iText Dokument in DB und dann in ein JPanel Allgemeine Java-Themen 5
N iText Problem beim verlinken anderer PDFs Allgemeine Java-Themen 2
G itext BarcodeDatamatrix Allgemeine Java-Themen 4
P Itext PDf wird zu groß Allgemeine Java-Themen 8
D Tabellenbeschriftung im RTF-File mit IText erstellen??? Allgemeine Java-Themen 2
D pdf mit iText drucken Allgemeine Java-Themen 4
P PDF erstellen ohne iText Allgemeine Java-Themen 3
Guybrush Threepwood iText de facto nicht mehr verwendbar Allgemeine Java-Themen 15
D tiff (->komprimieren)-> iText(pdf) Allgemeine Java-Themen 2
Dissi Itext - Anordnung von Elementen durch PDF Writer Allgemeine Java-Themen 2
Z iText - 2. Seite pdf Allgemeine Java-Themen 7
W itext: Initialer Abstand in einem Dokument Allgemeine Java-Themen 2
T Deckblatt im iText realisieren... Allgemeine Java-Themen 5
T JXPanel mit seinen Komponenten auf PDF mit iText ausgeben Allgemeine Java-Themen 15
T IText: Zwei A4 PDF´s auf ein A3 PDF´s Allgemeine Java-Themen 2
A Itext: Fonts einbetten Allgemeine Java-Themen 1
A Dynamische PDF Erstellung mit iText Allgemeine Java-Themen 4
D itext & Stringlänge Allgemeine Java-Themen 10
G iText Kursiv/Fett mit IText Allgemeine Java-Themen 3
F Probleme mit iText Allgemeine Java-Themen 3
R Pdf öffnen, das von iText erstellt wurde Allgemeine Java-Themen 4
R Pfad zu PDF bei iText in Webapps Allgemeine Java-Themen 4
D Probleme beim Umstellen von iText 1.4.4 auf Version 2.1.2 Allgemeine Java-Themen 5
G itext größe von image Allgemeine Java-Themen 2
J itext cell border Allgemeine Java-Themen 1
E Aus mehreren PDFs eines machen, zusammenfügen mittels iText Allgemeine Java-Themen 1
T Java Applet PDF erstellen mit iText, Probleme mit Pfad Allgemeine Java-Themen 1
J Itext , Spaltenbreite automatisch anpassen ? Allgemeine Java-Themen 4
Lazybone iText und Drucken Allgemeine Java-Themen 5
J Itext Seite drehen ? Allgemeine Java-Themen 4
S iText Allgemeine Java-Themen 10
A Probleme mit iText - Text in Zellen ist zu lang Allgemeine Java-Themen 7
P RTF dynamisch machen (IText, Swing) Allgemeine Java-Themen 4
L iText: Mehrseitiges PDF erzeugen Allgemeine Java-Themen 9
L Per IText erstelltes PDF automatisch drucken Allgemeine Java-Themen 13
V Itext - "Seite . von " ausgeben Allgemeine Java-Themen 6
G iText: Problem beim Drucken von AcroFormen Allgemeine Java-Themen 2
B Probleme mit itext Allgemeine Java-Themen 2
T iText + neue Seite Allgemeine Java-Themen 14
K JFreeChart und itext: Bildprobleme Allgemeine Java-Themen 4
G iText: Wie stellt man die Höhe eines Strings fest? Allgemeine Java-Themen 3
V Lösung mit iText gesucht. Allgemeine Java-Themen 2
Z Frage zu iText Allgemeine Java-Themen 2
A Übergroße Graphics2D mit iText als PDF schreiben Allgemeine Java-Themen 3
D iText: Tabelle in Footer einfügen Allgemeine Java-Themen 6
R iText: PDF-Datei erzeugen Allgemeine Java-Themen 2
P iText unter Linux zum Laufen bringen Allgemeine Java-Themen 4
R iText.jar wird zur Laufzeit nicht gefunden Allgemeine Java-Themen 4
L editieren von pdf mit iText Allgemeine Java-Themen 2
S iText - Java meets PDF Allgemeine Java-Themen 5
Thallius Key/Value Table in Klasse einlesen Allgemeine Java-Themen 14
D Möglichkeit mit GAE eine Table auszulesen und eine csv zu schreiben Allgemeine Java-Themen 22
A ALTER TABLE mit Hilfe von RegEx zerlegen, splitten Allgemeine Java-Themen 5
G Transaction Script, Table- Domain Model Allgemeine Java-Themen 2
L Wie kann man dieses "Table" Problem am besten löse Allgemeine Java-Themen 8
L Drag and Drop Table Allgemeine Java-Themen 9
E HashMap/Table sortiert nach nacheinander eingefuegten Elmeme Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben