Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]11325[/thread]

PDF::Table Anzahl der Zeilen pro seite begrenzt?

Leser: 1


<< |< 1 2 >| >> 14 Einträge, 2 Seiten
Gast Gast
 2008-02-18 15:32
#106063 #106063
Servus!
Mal frage, ich benutze der module PDF::Table um tabelle zu erstellen.Nach der sechste Zeilen spingt automatich die folge daten in einer neuen Seite; ist dass so? hier meine Code:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use PDF::API2;
 use PDF::Table;
 my $pdftable = new PDF::Table;
 my $pdf = new PDF::API2(-file => "my_table.pdf");
 my $page = $pdf->page;
 $page->mediabox(0,0,840,595);
my $data = [
 ["zeile1"],
 ["zeile2"],
 ["zeile3"],
 ["zeile4"],
 ["zeile5"],
 ["zeile6"],
 ["zeile7"],
 ["zeile8"],
 ["zeile9"],
 ];
$pdftable->table(
         $pdf,
         $page,
         $data,
         -x  => 50,
         -start_y => 450,
         -next_y => 450,
         -start_h => 100,
         -next_h => 100,
         -max_word_length=> 20,
         -w => 690,
         -padding => 5,
         -padding_right => 10,
         -font=> $pdf->corefont("Helvetica Bold", -encoding => "utf8",),
         -font_size      => 8,
  );
  $pdf->save();

Vielen Dank
renee
 2008-02-18 15:35
#106064 #106064
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das dürfte an dem Wert von start_h liegen. Mach den mal größer...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2008-02-18 16:26
#106066 #106066
Ja hast du recht!!
danke dir!!!
:-)
Gast Gast
 2008-02-19 14:18
#106096 #106096
Hallo,
ich habe etwa mein skript erweitet. Jetzt möchte ich Hintergrundfarbe in einige Zelle einfügen:
dafür habe ich dieses Code geschrieben:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
 
$cell_props = [
  [],
    [ 
      {#Row 2 cell 1
        background_color => '#AAAA00',
        font_color       => 'blue',
      },
     
    ],
       
  ];

Beim Ausführen gibt es kein problem, aber wenn ich der pdf datei öffne, da habe ich die Fehlermeldung: "ungültige Anzahl von Argumenten eines setcolor-operator" was muss ich da beachten?
Ausserdem hätte ich noch gern,dass die "Borders" von dieser Zellen noch fetter werden. Ist es möglich?
Danke im voraus
nepos
 2008-02-19 14:24
#106097 #106097
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Eine ähnliche hatte ich hier auch. Ursache war, dass hier ein undef an Stelle einer Schriftgrösse an das PDF::API2 übergeben wurde. Leider prüft dieses Modul seine Parameter so gut wie überhaupt nicht...
Erzeugst du nur Ausgaben mit PDF::Table oder auch direkt mit PDF::API2?

Soweit ich das aus der Doku ersehe, kann man die Rahmendicke nur global einstellen. Für einzelne Zeilen/Spalten/Zellen gibt es da leider nichts mehr. Auf Zellebene kannst du nur noch Vorder- und Hintergrundfarbe angeben...
Gast Gast
 2008-02-19 15:17
#106100 #106100
Hallo Nepos!
danke für deine Antwort.
ich erzeuge eine PDF datei mit PDF::API2, die tabelle mit PDF::Table. kann es sein dass es an dem background_color parameter liegt?(sehe code aus mein erster Beitrag)
" background_color => '#FFFF00' "
Wie kann ich es lösen?
nepos
 2008-02-19 15:28
#106101 #106101
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Schwierig. "#FFFF00" ist eine gültige Farbangabe. Bei mir war die Fehlermeldung aus Acrobat total irreführend. Der Fehler hatte mit setcolor nix zu tun. Problem war, dass ich bei der Ausgabe eines Strings die Font-Size undef übergeben habe. PDF::API2 hat dann PDF-Output erzeugt, wo einfach die Font-Size weggelassen wurde. Nachdem PDF ähnlich wie PS eine Stackmaschine ist, hat es ihn mit den Parametern durcheinandergehauen...
Der Fehler war sehr schwer zu finden (haben das PDF selbst durchsucht). Kannst du eventuell den kompletten Code irgendwo pasten?
Dann könnte man mal nach verdächtigen Stellen suchen.

Wie gesagt, PDF::API2 prüft leider so gut wie gar nicht, ob man gültige Daten oder nur Bockmist übergibt...
Gast Gast
 2008-02-19 16:52
#106109 #106109
ok...danke für deine Hilfe! hier mein code:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
use PDF::API2;
 use PDF::Table;
 my $pdftable = new PDF::Table;
 my $pdf = new PDF::API2(-file => "table.pdf");
 my $pdftable1 = new PDF::Table;
 my $page = $pdf->page;
$col_props1 = [
       {
                min_w => 36,
                justify => 'left',
        },
        {
               min_w => 36,
               justify => 'left',
               background_color => '#FFFF00',

        },
                 {
               min_w => 36,
                justify => 'left',
        },
          {
               min_w => 41,
                justify => 'left',
        },
];
my $some_data = [
 ["test1","3","3","3","3","3","3"],
 ["test2","3","3","3","3","3","3"],
 ["test3","3","3","3","3","3","3"],
 ["test4","3","3","3","3","3","3"],
 ["test5","3","3","3","3","3","3"],
 ];
$pdftable1->table(
         # required params
         $pdf,
         $page,
         $some_data,
         -x  => 50,
         -start_y => 215,
         -next_y => 0,
         -start_h => 400,
         -next_h => 0,
         # some optional params
         -w => 85,
         -padding => 5,
         -padding_right => 1,
         -padding_left => 5,
         -font=> $pdf->corefont("Helvetica Bold", -encoding => "utf8",),
         -font_size      => 4,
         -column_props => $col_props1,
         #-cell_props     => $row_props
          #cell background color for even rows
  );
$pdf->save();
nepos
 2008-02-19 17:01
#106112 #106112
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hm, also wenn ich deinen Code so ändere, krieg ich ein korrektes PDF. Allerdings auch einige Warnings, da -w die Breite ist und mit 85 bisschen klein ist:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/usr/bin/perl 

use strict;
use warnings;

use PDF::API2;
use PDF::Table;
my $pdf        = new PDF::API2( -file => "table.pdf" );
my $pdftable1  = new PDF::Table;
my $page       = $pdf->page;
my $col_props1 = [
  {
    min_w   => 36,
    justify => 'left',
  },
  {
    min_w            => 36,
    justify          => 'left',
    background_color => '#FFFF00',

  },
  {
    min_w   => 36,
    justify => 'left',
  },
  {
    min_w   => 41,
    justify => 'left',
  },
];
my $some_data = [
  [ "test1", "3", "3", "3", "3", "3", "3" ],
  [ "test2", "3", "3", "3", "3", "3", "3" ],
  [ "test3", "3", "3", "3", "3", "3", "3" ],
  [ "test4", "3", "3", "3", "3", "3", "3" ],
  [ "test5", "3", "3", "3", "3", "3", "3" ],
];
$pdftable1->table(

  # required params
  $pdf,
  $page,
  $some_data,
  x       => 50,
  start_y => 215,
  next_y  => 0,
  start_h => 400,
  next_h  => 0,

  # some optional params
  w             => 85,
  padding       => 5,
  padding_right => 1,
  padding_left  => 5,
  font          => $pdf->corefont("Helvetica Bold"),
  font_size     => 4,
  column_props  => $col_props1,

  #-cell_props     => $row_props
  #cell background color for even rows
);
$pdf->save();
Gast Gast
 2008-02-19 17:26
#106113 #106113
hm...
Auch mit deine Veränderungen,habe ich immer noch dieselbe Fehlermeldung.
<< |< 1 2 >| >> 14 Einträge, 2 Seiten



View all threads created 2008-02-18 15:32.