Spreadsheet Download PDF-Format ändern

Hallo allen in der Runde,

ich möchte die Tabelle eines Search-Kit-Ergebnisses gerne als PDF exportieren und nutze dazu aktuell die „Download-Spreadsheet“-Funktion. Leider ist das exportierte PDF im hochformat und die Tabelle wird so zerschnitten. Gibt es eine Möglichkeit das Format der ausgegebenen PDF zu verändern und wenn ja wo geht das?

Liebe Grüße,
Samuel

würde mich auch interessieren :slight_smile:

Hallo,
es kann sein, dass wir eine zumindest etwas praktikable Lösung für uns gefunden haben. Beim Spreadsheet-Download in PDF Format gab es immer das Problem, dass das Ergebnis ein schreckliches Format hatte und abgeschnitten wurde.
Man kann aber zumindest in Firefox die entsprechenden Einträge markieren und dann über Rechtklick–> Auswahl drucken ein PDF erzeugen, in dem das angezeigte HTML Format übernommen wird und auch automatisch auf DINA4 Format skaliert wird.
Ich suche aktuell noch nach einer Möglichkeit Spaltenformat im SearchKit mit CSS anzupassen, weil keines aus der Auswahl für uns passt.
Man kan „Anderes“ auswählen und dann einen CSS-Code eingeben. Ich kenne mich mit CSS aber nicht aus. Kann mir jemand sagen, welchen Code ich Civi hier geben muss, damit ich eine Zelle mit simplem schwarzen Rand bekomme?

Liebe Grüße und vielen Dank

1 „Gefällt mir“

Hallo Samuel,

meinst du mit „Anderes“ die Auswahl im SearchKit-Display bei Spalten-Stil?

searchkit-spaltenformat

Dort hinterlegt man den Namen einer CSS-Klasse. Die CSS-Regel selbst kannst du an der Stelle nicht hinterlegen.

Um die Tabellen-Zellen mit Rändern darstellen zu lassen, kannst du weiter oben bei Table-Style entweder Row-Borders und/oder Column Borders wählen:

searchkit-borders

Viele Grüße
Romy

2 „Gefällt mir“

Hallo Romy,

danke dir. Ja genau darum geht es mir. Wo und wie kann ich denn die CSS-Regel hinterlegen? Das Problem mit den Row-Borders und Colum-Borders ist zumindest bei unserer Konfiguration, dass die nur sehr schmal und in weiß angezeigt werden. Im Ergebniss sind sie nur sichtbar, wenn die Felder farbig sind, nicht jedoch, wenn die Felder weiß sind. Wie kann ich das ändern?

Liebe Grüße und Danke

1 „Gefällt mir“

Hallo Samuel,
dafür gibts mehrere Wege:

  • du definierst die CSS-Regel entweder im Theme deines CMS (dort gibt es meist eine Möglichkeit, benutzerdefiniertes CSS zu hinterlegen) oder
  • du installierst ein CMS-Plugin, in welchem man CSS-/JS-/PHP-Code-Snippets hinterlegen kann und hinterlegst deine CSS-Regel dort, oder
  • du legst eine CSS-Datei im Dateisystem ab (z.B. in einem Ordner unter /wp-content/uploads/civicrm/ bei Wordpress oder sites/default/files/civicrm bei Drupal9) und verlinkst diese im CiviCRM unter Administration > Systemeinstellungen > Ressourcen-URLs bei „URL für benutzerdefiniertes CSS“

Du kannst mittels benutzerdefiniertem CSS entweder vorhandene Regeln überschreiben oder eigene anlegen. Wenn du sie überschreibst, musst du im Seachkit nichts weiter machen, Legst du neue an, dann kannst du im Seachkit die neue CSS-Klasse hinterlegen.

Viele Grüße
Romy

Hallo Romy,

vielen Dank schonmal für die Antwort. Dann schaue ich mal wie ich damit weiterkomme.

Liebe Grüße,
Samuel

Hallo @romyy ,

Du schreibst

und das stimmt ja auch. Aber so bekommt man nur ein gutes PDF, wenn man den Bildschirmbereich als PDF im Browser druckt (s.o.).

Wo kann man denn der PDF Engine (dompdf, oder?) die CSS-Infos mitgeben, dass ich ein gestaltetes PDF über das Aktionsmenü exportieren kann? Also ohne diesen Schummelschritt mit dem Browser? Weißt Du das?

Hallo Torben,

die Frage beinhaltet jetzt mehrere Ebenen. Es ist ja generell möglich, aus einem SearchKit/FormBuilder-Display via Aktion „Dokument erzeugen“ auf benutzerdefinierte Nachrichtenvorlagen zuzugreifen, die dann custom CSS enthalten können und aus denen quasi pro Zeile Suchergebnis (meist pro Kontakt) je ein beliebig gestaltetes Dokument erzeugt werden kann. Also man kann schon generell wie bisher Dokumente für z.B. einzelne Kontakte in einer Art Stapelverarbeitung erzeugen.

Problematisch wirds, wenn man CSS für die PDF-Ausgabe der gesamten Übersicht (Aktion „Download Spreadsheet“) hinterlegen will. Leider gibt’s da bis jetzt keine mir bekannte, einfache Möglichkeit. Ich hatte das im April schonmal und Detlev Ende Mai nochmal ähnlich in der internationalen Community (Mattermost, Channel FormBuilder) gefragt, darauf hieß es: „[…] the ‚Download Spreadsheet‘ Action - it has an option for pdf. There’s no formatting options.“

Das einzige, was mir bisher gelungen ist: in einer komplett selbst erstellten Nachrichtenvorlage mittels API die gewünschten Daten zu holen (in meinem Fall waren es die Teilnehmenden eines bestimmten Events mit Anforderungen, die die Standard-Teilnehmerlisten-Funktion in CiviCRM nicht annähernd konnte). Und so konnte ich dann mittels Token/Smarty-Variablen und foreach-Schleife für jeden TN eine Tabellenzeile generieren und nicht nur Teilnehmendendaten, sondern auch Event- und Kontaktdaten mit ausgeben, also unterschiedliche Entitäten verknüpfen. Aber das war auch nur eine Notlösung, weil es eben wenig andere Möglichkeiten gibt, überhaupt Kontaktlisten bzw. SearchKit-Displays formatiert als PDF auszugeben – das als Workflow in der täglichen Arbeit mit CiviCRM machen zu wollen, kann ich echt keinem empfehlen, hat außerdem im Grunde auch nichts mit SearchKit und der Download-Spreadsheet-Funktion, also mit der Frage zu tun.

Der Vollständigkeit halber: Der DataProcessor bietet auch einen PDF-Export-Output, mit dem man Listen ausgeben kann – es gibt 3 vorgefertigte Templates, die man ggf. bearbeiten kann (bzw. es gibt die Möglichkeit, seine eigene Vorlage zu bauen), und im UI lassen sich einige grobe Angaben zur Gestaltung machen (templates/CRM/DataprocessorOutputExport/PDF · main · Extensions / dataprocessor · GitLab)

Hallo, ich hatte die Frage hier ja ursprünglich eingebracht. Mein aktueller Work-Arround ist tatsächlich das Search-Kit Display als Excel (Download Spredsheet) zu ziehen und dann aus einer zweiten fertig formatierten Excel einen Datenabruf (per Excel Datenabruf) aus der Download-Datei zu machen. Von dort aus, ist ein guter Export als PDF möglich. Insgesamt ein ziemlicher Aufwand gebe ich zu, aber da ich die Datei nur einmal im Monat erzeugen muss, reicht mir das. Die vielen Gestaltungsmöglichkeiten des Search-kits sind damit leider überflüssig, andererseits kann man bei der Methode auf alle Gestaltungsmöglichkeiten und Weiterverarbeitungen von Excel zugreifen. Eine Direktabfrage mit Excel von Civi müsste theoretisch auch umsetzbar sein, dazu reichen aber meine Kenntnisse nicht aus.

Danke @romyy , das ist leider die Antwort, die ich am wenigsten hören wollte:
„[…] the ‚Download Spreadsheet‘ Action - it has an option for pdf. There’s no formatting options.“

Die Alternativen DataProcessor und Excel Datenabruf werde ich prüfen. Danke für den Hinweis, @stauss