PDF Export aus Vorgängerversion übernehmen

Alles, was nicht in die anderen Foren passt, kannst du hier loswerden.
Antworten
Floeken
Beiträge: 8
Registriert: 6. Mär 2014, 18:46

PDF Export aus Vorgängerversion übernehmen

Beitrag von Floeken »

Hallo Zusammen,

ich habe schon länger hier gestöbert und viel selbst probiert, bin aber zu keiner Lösung gekommen. Folgendes ist mein Problem:

Wir nutzen Admidio schon lange für unsere Hobbyfussballliga und haben immer Spielerpässe und Mannschaftslisten als PDF ausgegeben, um diese dann an die einzelnen Mannschaften auszugeben. Ein Freund, der das leider nicht mehr übernehmen will, hat den Code geschrieben, sodass die Mannschaftslisten jeweils 4mal auf eine DIN A4 Seite passen. Wir drucken das ganze dann als Etiketten auf für die Spielberichtsbögen. Lange Rede, kurzer Sinn: Ich habe den Code vorliegen, schaffe es aber aus eigener Kraft nicht, ihn an die aktuelle Version anzupassen. Ich füge unten mal die entsprechenden Bereiche der alten lists_show an und hoffe, ihr habt Ideen für mich. Ich habe nie wirklich php oder html gelernt, bin aber nicht ganz unbegabt! :wink:

if($mode == 'pdf-aufkleber') {
// Teamname
$teamName = $role_row->rol_name;

// Spielerliste
$teamPlayers = array();

// Leiter
$leiter_sql = prepareSQL($leiter_sql, array($rol_id));
if(!empty($leiter_sql)) {
$result_lst = mysql_query($leiter_sql, $g_adm_con);
while($row = mysql_fetch_array($result_lst)) {
$teamPlayers[] = array(
'first' => stripslashes($row['usr_first_name']),
'last' => stripslashes($row['usr_last_name']),
'passnr' => stripslashes($row['usr_id']),
'anwesend' => '',
'aus' => '',
'karte' => '',
);
}
}

// Spieler
$main_sql = prepareSQL($main_sql, array($rol_id));
if(!empty($main_sql)) {
$result_lst = mysql_query($main_sql, $g_adm_con);
while($row = mysql_fetch_array($result_lst)) {
$teamPlayers[] = array(
'first' => stripslashes($row['usr_first_name']),
'last' => stripslashes($row['usr_last_name']),
'passnr' => stripslashes($row['usr_id']),
'anwesend' => '',
'aus' => '',
'karte' => '',
);
}
}

// PDF
include_once("pdfClass/class.ezpdf.php");

$fontSize = 7;
$fontSizeTitle = 18;
$tableOptions = array(
'showLines' => 2,
'showHeadings' => 0,
'shaded' => 0,
'fontSize' => $fontSize,
'rowGap' => 2,
'colGap' => 2,
'xPos' => 'left',
'xOrientation' => 'right',
// 'width' => 280,
'innerLineThickness' => 0.5,
'outerLineThickness' => 0.5,
'cols' => array(
'last' => array('width'=>75),
'first' => array('width'=>75),
'passnr' => array('width'=>30),
'anwesend' => array('width'=>23),
'aus' => array('width'=>23),
'karte' => array('width'=>23),
),
);

$maxRows = 30;
$tableData = array();
$tableData[] = array(
'last' => '<b>Nachname</b>',
'first' => '<b>Vorname</b>',
'passnr' => '<b>Passnr.</b>',
'anwesend' => '<b>Anw.</b>',
'aus' => '<b>Aus.</b>',
'karte' => '<b>Karte</b>',
);
foreach($teamPlayers as $player) {
$tableData[] = $player;
}
if(count($tableData)>$maxRows) {
$tableData = array_slice($tableData, 0, $maxRows);
}
$tableData = array_pad($tableData, $maxRows, array('first' => '', 'last' => '', 'passnr' => '', 'anwesend' => '', 'karte' => ''));

$pdf = new Cezpdf('a4', 'portrait');
$pageMargins = array(20, 20, 20, 30);
$pdf->ezSetMargins($pageMargins[0], $pageMargins[1], $pageMargins[2], $pageMargins[3]);
$pdf->selectFont('pdfClass/fonts/Helvetica.afm');

$posY = array(
0 => 825,
1 => 825,
2 => 425,
3 => 425,
);
$tableXPos = array(
0 => 'left',
1 => 'right',
2 => 'left',
3 => 'right',
);

$tableXOrientation = array(
0 => 'right',
1 => 'left',
2 => 'right',
3 => 'left',
);

$titleIndent = array(
0 => '',
1 => ' ',
2 => '',
3 => ' ',
);

for($x=0; $x<4; $x++) {
$pdf->ezSetY($posY[$x]);
$tableOptions['xPos'] = $tableXPos[$x];
$tableOptions['xOrientation'] = $tableXOrientation[$x];
$pdf->ezText($titleIndent[$x].$teamName, $fontSizeTitle);
$pdf->ezSetDy(-4);
$pdf->ezTable($tableData, '', '', $tableOptions);
}

// Ausgeben
$pdf->ezStream();

// Ende
exit;
}
weissst
Developer
Beiträge: 342
Registriert: 4. Nov 2011, 18:07
Wohnort: 54xx

Re: PDF Export aus Vorgängerversion übernehmen

Beitrag von weissst »

Hallo Floeken,

kannst du mir mehr infos geben?
arbeite auch grad an einer Lösung für PDF's... jedoch bisher nur als Listen
wenn jedoch mehrere solche anfragen sind, dann muss ich mir eine umfangreichere lösung überlegen...

den Code den du geposted hast, in welchem file war der?
und kannst du auch ein altes PDF dazugeben? (Anonymisiert) wäre dann einfacher, das richtige layout zu finden!?
Floeken
Beiträge: 8
Registriert: 6. Mär 2014, 18:46

Re: PDF Export aus Vorgängerversion übernehmen

Beitrag von Floeken »

Hallo weissst,

du kriegst jede Info, die du brauchst :wink:

Das, was ich hier geposted habe, kommt aus der lists_show.php.

Das Ergebnis sieht so aus. Ist die Liste meiner eigenen Mannschaft und enthält nur die Namen. Daher nicht anonymisiert. Die Passnummern fallen im Übrigen jetzt weg.
Ich darf leider keine PDFs anhängen, daher hier der Link: https://www.dropbox.com/s/yt9ei7xrvt4n3 ... Kleber.pdf
weissst
Developer
Beiträge: 342
Registriert: 4. Nov 2011, 18:07
Wohnort: 54xx

Re: PDF Export aus Vorgängerversion übernehmen

Beitrag von weissst »

Hi Floeken,

ich hab mal eine erste Version mit "FPDF" erstellt... jedoch wird das für deine Anforderungen nicht ausreichen!
Ich habe mir auch die Erweiterung angesehen, die in eurem alten beispiel verwendet wurde, jedoch dürften wir hier probleme mit der Lizenz bekommen^^

ich hab mir jetzt "html2pdf", "TCPDF" und "R&OS" angesehen und werde am WE mal einen test mit den letzten 2 machen.

ich gebe dann bescheid ob es funktioniert oder nicht!
weissst
Developer
Beiträge: 342
Registriert: 4. Nov 2011, 18:07
Wohnort: 54xx

Re: PDF Export aus Vorgängerversion übernehmen

Beitrag von weissst »

Hi Floeken,

hab eine erste funktionierende PDF export Version fertiggestellt...
die Library die ich nun verwende ist: TCPDF

habe auch gesehen das es hierfür einen feature Request gibt: #273 Export der Listen direkt als PDF

leider hatte ich keine Berechtigung (oder ich bin zu doof) die änderungen Einzuspielen.
daher habe ich die Dateien an Fasse geschickt (per mail)

ich hoffe ich kann auch dein besonderes anliegen noch dieses WE umsetzen!
Ich denke du Verwendest die Version 2.4.x? -> dann mach ich erst diese Version Fertig

mfg
weissst
Developer
Beiträge: 342
Registriert: 4. Nov 2011, 18:07
Wohnort: 54xx

Re: PDF Export aus Vorgängerversion übernehmen

Beitrag von weissst »

Hallo nochmal,

ich hab noch schnell was gemacht... ich hoffe das funktioniert für dich.
habe es getestet mit Version 2.4.4 und 2.4.5!

die Dateien kannst du dir hier runterladen:
http://uberg.at/Admidio/Admidio_pdf.zip

dann die "lists_show.php" in "\adm_program\modules\lists\" ersetzen (Backup nicht vergessen) und den Ordner "tcpdf" in "\adm_program\libs\" speichern!
dann eine eigene Liste erstellen mit den 3 Feldern die du Benötigst - die 3 leeren macht das Programm.

dann die Liste anzeigen und die Ausgabe "PDF Special" auswählen...

PS: das file "lists_show_V3.php" ist für die Admidio Version 3!
Floeken
Beiträge: 8
Registriert: 6. Mär 2014, 18:46

Re: PDF Export aus Vorgängerversion übernehmen

Beitrag von Floeken »

Sorry, ich war ein paar Tage nicht online. Ich werde das sofort testen und mich melden! Auf jeden Fall schon vorab großen Dank!!
Floeken
Beiträge: 8
Registriert: 6. Mär 2014, 18:46

Re: PDF Export aus Vorgängerversion übernehmen

Beitrag von Floeken »

Funktioniert bestens!! Nochmal Danke!
Antworten