Probleme mit iText5

  • Antworten:5
mr1000
  • Forum-Beiträge: 86

26.07.2020, 19:12:50 via Website

Guten Tag zusammen,

ich möchte mit iText eine Rechnung schreiben.

Nur bekomme ich gerade Probleme bei:

                    Chunk c2 = new Chunk(
                    "Firma Trölli \n"+
                    "Muster Weg 112b\n"+
                    "74656 Muster \n"+
                    "Tel.: 111/897643\n"+
                    "Mobil:0677/666666\n"+
                    "E-Mail:test.test@web.de\n"+
                     tvDatum.getText().toString());


            Paragraph adresse = new Paragraph(c2);
            adresse.setAlignment(Paragraph.ALIGN_RIGHT);
            adresse.setAlignment(Paragraph.ALIGN_TOP);
            document.add(adresse);
  1. Problem: Ich würde gerne die Anschrift der Firma nach oben rechts verschieben nur wird es nach links verschoben.
  2. Problem: Ich möchte in der Mitte der Rechnung, eine Auflistung haben, dafür benutze ich PDFTable, nur möchte ich die Tabelle gerne mehr nach links verschieben.

            PdfPTable table = new PdfPTable(3);
            table.setWidthPercentage(80);
            table.setSpacingBefore(60);
            table.addCell(getCell("Dienstleistungen", PdfPCell.ALIGN_LEFT));
            table.addCell(getCell("Menge", PdfPCell.ALIGN_CENTER));
            table.addCell(getCell("Summe", PdfPCell.ALIGN_RIGHT));
            document.add(table);
    

So sieht es in PDF aus:

Das was ich zensiert habe, möchte ich gerne auf der gleiche Höhe haben, wie bei der Anschrift von den Kunden nur auf der rechte Seite.

Ich hoffe, ich kann noch was von euch lernen

Gruß,

Lisa

imageimage

Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

27.07.2020, 09:47:04 via Website

Hallo Lisa,

du musst dein ChunckText dann schon in 2 Teile aufteilen und diesen dann passend positionieren.
Also in ein Textbaustein für rechts und einen für links.

das Alignment musst du wenn du oben und rechts willst, auch mit veroderten Flags machen:

  adresse.setAlignment(Paragraph.ALIGN_RIGHT|Paragraph.ALIGN_TOP);

mehrmals ein anderes Alginment setzen hilft dir sonst nicht weiter

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
mr1000
  • Forum-Beiträge: 86

27.07.2020, 10:18:57 via Website

Guten Morgen Pascal,

ich habe nun das Problem das es nach Links verschoben wurde.

Ich wollte das so gerne haben, dass die Adresse von den Kunden oben links steht und die Adresse von der Firma oben rechts.
Nur wird die Adresse von der Firma, unter der Adresse von den Kunden angezeigt.

Gruß,

Lisa
image

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

27.07.2020, 10:24:41 via Website

Wie sieht dein Code dazu aus?

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
mr1000
  • Forum-Beiträge: 86

27.07.2020, 10:28:39 via Website

          `document.add(new Paragraph("Fa XYL – Muster Weg 11b 1234 Musterstadt"));
            document.add(new Paragraph(Chunk.NEWLINE));
            document.add(new Paragraph(tvName.getText().toString() +" \n"+
                    tvAdresse.getText().toString()+"\n"+
                  tvPLZUndStadt.getText().toString()+" \n"));`

  Chunk c2 = new Chunk(
                    "gh \n"+
                    "ghg\n"+
                    " hghg\n"+
                            "\n" +
                    "Tel.:hghg \n"+
                    "Mobil:ghh\n"+
                    "E-Mail:ghhgh\n"+
                     tvDatum.getText().toString());


            Paragraph adresse = new Paragraph(c2);
            adresse.setAlignment(Paragraph.ALIGN_TOP|Paragraph.ALIGN_RIGHT);
            document.add(adresse);
Hilfreich?
Kommentieren