Linuchs: TCPDF: Extrem minimalistisches CSS

Moin,

per PHP erzeuge ich eine PDF-Datei. Als Hintergrundbild ein formular.jpg. Nun möchte ich Werte in die Formularfelder schreiben.

Da geht es schon los, position:absolute wird nicht verstanden. Stand Jan. '15:

Currently, only the following CSS attributes are supported:

  • font-family
  • font-size
  • font-weight
  • font-style
  • color
  • background-color
  • text-decoration
  • width
  • height
  • text-align

Aber nichtmal das funktioniert. Der graue p ist keine 58mm hoch (mit div hat's auch nicht geklappt) und width sowie background-color der td wird ignoriert:

PDF

<style>
table#gema {
  width: 100%;
  color: #00f;
  border: .1pt solid #f00;
}
td.sp01 { width: 32mm; background-color: #eee; }
td.sp02 { width: 83mm; background-color: #fff; }
td.sp03 { width: 12mm; background-color: #eee; }
td.sp04 { width: 12mm; background-color: #fff; }
td.sp05 { width: 12mm; background-color: #eee; }
td.sp06 { width: 12mm; background-color: #fff; }
</style>

<body>
  <p style="height:58mm;border:.1pt solid #f00;background-color:#eee;">&nbsp;<!-- margin-top --></p>
  <table id="gema">
    <tbody>
      <tr>
        <td class=sp01><!-- margin-left --></td>
        <td class=sp02>Titel 1</td>
        <td class=sp03>Komponist 1</td>
        <td class=sp04>Bearbeiter 1</td>
        <td class=sp05>Verlag 1</td>
        <td class=sp06>1</td>
      </tr>
    </tbody>
  </table>
</body>

Habt ihr einen Tipp, wie ich die Daten gezielt platzieren kann?

fragt Linuchs

  1. Habt ihr einen Tipp, wie ich die Daten gezielt platzieren kann?

    Klar. Nimm statt der html2pdf-Krücken einfach LaTeX. Hab ich an die hundert Mal gepredigt, dass dieses die einzige praktikable Möglichkeit ist, wenn man einen sauberen und genauen Satz verlangt.

    Und verzeih mir meine Neugier, aber was ist denn mit denn aus der Abmahnung und aus dem Email-Versand geworden? In beiden Fällen waren irgendwie Teilaspekte offen...

    1. Lieber Jörg,

      Nimm statt der html2pdf-Krücken einfach LaTeX.

      und wie kompiliert man dann LaTex zu PDF rein mit PHP? Das geht nicht. Dazu muss auf dem Server eine Bibliothek namens pdflatex (oder etwas vergleichbares) installiert und verfügbar sein, die man dann mit einem syscall benutzt. Aber was tut man, wenn das exakt nicht gegeben ist?

      Liebe Grüße

      Felix Riesterer

      1. (pdflatex, syscall) Aber was tut man, wenn das exakt nicht gegeben ist?

        Nun. Wäre „den Hoster fragen“ eine Option? Manche suchen geradezu nach „Alleinstellungsmerkmalen“ und sagen nicht pauschal „nein“.

        Bliebe noch:

        • Homehosting der konkreten Anwendung (findet nachvollziehbar begründet längst nicht jeder gut)
        • Wechseln zu einem VPS (kostet Geld)
        • Jemanden kennen, der einen (virtuellen privaten) Server hat und das als Gastanwendung laufen lässt.
        • Meine schlechte Antwort.
        1. Kommentarlose negative Bewertung Besser kann man, glaub ich, nicht darstellen, dass man entweder nicht zu einer sachlichen Diskussion bereit, nicht zu einer sachlichen Diskussion in der Lage oder (Martin schrieb: „Check where appropriate.", übersetzt heisst das, „zieh Dir selbst die passende Jacke an“) zwanghaft veranlagt ist - denn was, bitte, sollte denn an den insgesamt fünf Vorschlägen so schlecht sein, dass es Deine Handlung sachlich rechtfertigt?

          1. Lieber Jörg,

            ich sehe eben erst Deine Antwort(en). Sie alle bestätigen mir, dass es rein mit PHP-Mitteln keine Lösung gibt. Die Klimmzüge, die Du beschreibst, sind nicht für alle gangbar. Also ist die Empfehlung zu LaTex nur etwas für Leute, die diese Klimmzüge anpacken können, oder auf deren Webspace pdflatex nutzbar ist.

            Da es pdflatex anscheinend schon lange gibt, macht sich niemand die Mühe, das in PHP zu reimplementieren. Damit scheidet eine Lösung in vanilla php auf lange Sicht aus.

            Liebe Grüße

            Felix Riesterer

  2. Hi there,

    per PHP erzeuge ich eine PDF-Datei. Als Hintergrundbild ein formular.jpg. Nun möchte ich Werte in die Formularfelder schreiben.

    Da geht es schon los, position:absolute wird nicht verstanden. Stand Jan. '15:

    Currently, only the following CSS attributes are supported:

    Hast Du es schon einmal mit FPDF probiert? Damit kann man bei Bedarf alles pixelgenau plazieren, auch auf ein Hintergrundbild. Man muß halt mehr "konstruieren", aber das ist bei pixelgenauem Plazieren ohnehin unumgänglich. (Was ich jetzt auf die Schnelle nicht weiß, ob man damit Formulare erzeugen kann, das hab ich im Gegensatz zu den oben genannnten Anforderungen nie benötigt und daher auch nicht diesbezüglich nachgesehen)...

  3. Wenn Du Tools verwendest, die aufgrund von technischen Beschränkungen (Hier: kein echter oder gar vollständiger HTML-Renderer) nur beschränkt HTML und CSS verstehen, dann zieh Dich auf deren technischen Stand zurück.

    Was hat man also in den 90ern gemacht?

    • Tabellenlayout und 1-Pixel-Grafiken mit width und height (im HTML!) zur Erzwingung der Zellenhöhe…

    Hint: Das das eine wirklich fürchterlich und schreckliche Idee ist, für die man auch mannigfaltige andere ablehnende Beschreibungen finden kann, braucht mir keiner mitzuteilen.

    1. Tach!

      Wenn Du Tools verwendest, die aufgrund von technischen Beschränkungen (Hier: kein echter oder gar vollständiger HTML-Renderer) nur beschränkt HTML und CSS verstehen, dann zieh Dich auf deren technischen Stand zurück.

      Was hat man also in den 90ern gemacht?

      • Tabellenlayout und 1-Pixel-Grafiken mit width und height (im HTML!) zur Erzwingung der Zellenhöhe…

      Hint: Das das eine wirklich fürchterlich und schreckliche Idee ist, für die man auch mannigfaltige andere ablehnende Beschreibungen finden kann, braucht mir keiner mitzuteilen.

      Warum sollte das das schlecht sein? Es geht hier nicht darum, HTML und CSS zu schreiben, das für eine große Anzahl an Browsern und Crawlern semantisch sinnvoll ist, sondern für exakt ein Tool, das daraus etwas ganz anderes erzeugt. Und dafür ist nicht irgendein Standard maßgebend, sondern nur das, was das Tool beherrscht.

      dedlfix.

      1. Warum sollte das das schlecht sein?

        Das ist einfach. Weil ich es vorgeschlagen habe.

        1. Hallo Raketenmuseumswärter,

          Warum sollte das das schlecht sein?

          Das ist einfach. Weil ich es vorgeschlagen habe.

          Begeben wir uns wieder zum Marktplatz der verletzten Eitelkeiten?

          Bis demnächst
          Matthias

          --
          Du kannst das Projekt SELFHTML unterstützen,
          indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.
        2. Hallo,

          Weil ich es vorgeschlagen habe.

          Zählt Selbstkasteiung eigentlich auch zu persönlichen Angriffen?

          Gruß
          Kalk

          1. Hallo,

            Weil ich es vorgeschlagen habe.

            Zählt Selbstkasteiung eigentlich auch zu persönlichen Angriffen?

            [ ] bei hinreichend egozentrierten Personen schon.
            [ ] Vielleicht auch bei schizophren veranlagten.

            Check where appropriate.

            Live long and pros healthy,
             Martin

            --
            Ich stamme aus Ironien, einem Land am sarkastischen Ozean.
            1. Was hier so alles als „konstruktiv und die Stimmung verbessernd“ gilt, ist schon beeindruckend.

          2. Zählt Selbstkasteiung eigentlich auch zu persönlichen Angriffen?

            Nö. Aber wie viel ist -1 * -1? Anders ausgedrückt hab ich dem einen oder anderen mit dem Hang zum pauschalem Minusklick und der begrenzten Möglichkeit, sich verbal angemessen zu äußern, die Chance gegeben, mit einem -1 darzustellen, dass die „schlechte“ Antwort, eine gute solche ist…

            1. Hallo Raketenmuseumswärter,

              Anders ausgedrückt hab ich dem einen oder anderen mit dem Hang zum pauschalem Minusklick und der begrenzten Möglichkeit, sich verbal angemessen zu äußern,

              äußern zu wollen!

              die Chance gegeben, mit einem -1 darzustellen, dass die „schlechte“ Antwort, eine gute solche ist…

              Oder durch @dedlfix’ Antwort und die positive Bewertung derselben.

              Bis demnächst
              Matthias

              --
              Du kannst das Projekt SELFHTML unterstützen,
              indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.
              1. Anders ausgedrückt hab ich dem einen oder anderen mit dem Hang zum pauschalem Minusklick und der begrenzten Möglichkeit, sich verbal angemessen zu äußern,

                äußern zu wollen!

                Na, wenn sich jemand nicht angemessen äußern will und statt dessen zur Maus greift, dann wirft das doch so einige, tief gehende Fragen auf.

                Oder durch @dedlfix’ Antwort und die positive Bewertung derselben.

                Die „Else“ sagt dazu: „Sie haben Ihr Ziel erreicht.“

      2. @@dedlfix

        • Tabellenlayout und 1-Pixel-Grafiken mit width und height (im HTML!) zur Erzwingung der Zellenhöhe…

        Warum sollte das das schlecht sein?

        • Es ist aufwendig in der Entwicklung. Schwer zu testen, schlecht wartbar.

        • Es erfordert spezielle Kenntnisse, über die man als Webentwickler i.A. nicht verfügt. Kenntnisse, die man über diesen speziellen Anwendungsfall nicht anwenden kann. Jedenfalls nicht sollte; wenn man es doch tut, gnade einem der Webgott.

        • SISO-Prinzip (shit in, shit out): Präsentationsbezogenes Markup führt wohl nicht zu barrierefreiem PDF, das für alle nutzbar ist.

        🖖 Stay hard! Stay hungry! Stay alive! Stay home!

        PS: Die Liste ist als in der Priorität ansteigend sortiert zu verstehen.

        --
        “Turn off CSS. If the page makes no sense, fix your markup.” —fantasai
        1. Tach!

          • Tabellenlayout und 1-Pixel-Grafiken mit width und height (im HTML!) zur Erzwingung der Zellenhöhe…

          Warum sollte das das schlecht sein?

          So zusammengekürzt ergibt das eine Aussage, die ich in der Form nicht getroffen habe. Meine Aussage war nicht, dass Tabellenlayout gut ist, sondern dass man das Tool so beliefern muss, wie es vorgesehen ist, um zum Ergebnis zu kommen.

          • Es erfordert spezielle Kenntnisse, über die man als Webentwickler i.A. nicht verfügt. Kenntnisse, die man über diesen speziellen Anwendungsfall nicht anwenden kann. Jedenfalls nicht sollte; wenn man es doch tut, gnade einem der Webgott.

          Ein PDF zu erstellen erfordert auch so schon "spezielle Kenntnisse, über die man als Webentwickler i.A. nicht verfügt".

          • SISO-Prinzip (shit in, shit out): Präsentationsbezogenes Markup führt wohl nicht zu barrierefreiem PDF, das für alle nutzbar ist.

          Wenn das das Ziel ist, dann ist das Tool nicht das geeignete Werkzeug, wenn sich damit nur "schlechtes PDF" erstellen lässt. Barrierefreie Websites in HTML erstellen zu können, heißt ja noch lange nicht, dass damit auch barrierefreies PDF entsteht. Dann wäre wohl eher die Frage zu stellen, welches das beste Tool für das gewünschte Ergebnis ist.

          Wenn hingegen das PDF neben Webseiten nur als zusätzliche Präsentationsform der Daten zum Zwecke des Ausdrucks ist, dann spielt die Barrierefreiheit wohl eher eine untergeordnete Rolle, denn auf dem Papier sieht man sowieso nichts mehr vom Tabellenlayout.

          Im OP ging es allerdings um ein Formular für die GEMA. Da spielt es auch keine primäre Rolle, ob das PDF im Allgemeinen barrierefrei ist. Es muss nur so beschaffen sein, wie die GEMA es verlangt.

          dedlfix.

          1. @@dedlfix

            So zusammengekürzt ergibt das eine Aussage, die ich in der Form nicht getroffen habe. Meine Aussage war nicht, dass Tabellenlayout gut ist

            Das hat dir auch niemand in den Mund gelegt.

            sondern dass man das Tool so beliefern muss, wie es vorgesehen ist, um zum Ergebnis zu kommen.

            So hatte ich deine Aussage auch verstanden. Und darauf geantwortet, was trotzdem schlecht daran ist.

            Wenn hingegen das PDF neben Webseiten nur als zusätzliche Präsentationsform der Daten zum Zwecke des Ausdrucks ist, dann spielt die Barrierefreiheit wohl eher eine untergeordnete Rolle, denn auf dem Papier sieht man sowieso nichts mehr vom Tabellenlayout.

            Ja. IIRC geht’s hier aber nicht darum, sondern um PDF-Forumlare, die online ausgefüllt werden sollen.

            Im OP ging es allerdings um ein Formular für die GEMA. Da spielt es auch keine primäre Rolle, ob das PDF im Allgemeinen barrierefrei ist. Es muss nur so beschaffen sein, wie die GEMA es verlangt.

            Das wäre mir neu, dass blinde Musiker vom Ausfüllen von GEMA-Listen freigestellt wären.

            🖖 Stay hard! Stay hungry! Stay alive! Stay home!

            --
            “Turn off CSS. If the page makes no sense, fix your markup.” —fantasai
            1. Tach!

              Ja. IIRC geht’s hier aber nicht darum, sondern um PDF-Forumlare, die online ausgefüllt werden sollen.

              Das sehe ich nicht so. Die GEMA hat bereits PDF-Formulare zum Herunterladen und Offline- oder Online-Bearbeiten, als auch die Möglichkeit, die Daten direkt im Browser ohne den Umweg über PDF einzugeben. Es besteht meines Erachtens keine Notwendigkeit, auf einer nicht zur GEMA gehörenden Website ein leeres oder teilweise vorausgefülltes Formular on-the-fly erstellen zu müssen. Das ergibt für mich so keinen Sinn. Ich stelle mir als Anwendungsfall vor, dass der Chor auf Linuchs' Webseite die Daten eingibt und die Website daraus ein fertig ausgefülltes, dem GEMA-Formular entsprechendes PDF erstellt. Was auch immer nun mit dem PDF geschieht, wird wohl eine Sache sein, die Linuchs direkt mit der GEMA absprechen muss.

              Im OP ging es allerdings um ein Formular für die GEMA. Da spielt es auch keine primäre Rolle, ob das PDF im Allgemeinen barrierefrei ist. Es muss nur so beschaffen sein, wie die GEMA es verlangt.

              Das wäre mir neu, dass blinde Musiker vom Ausfüllen von GEMA-Listen freigestellt wären.

              Das nicht. Aber selbst wenn der Anwendungsfall so gelagert wäre, ist generell nicht anwenderfreundlich, dass das mit einem derartigen Medienbruch über PDF geschehen soll. Dafür muss ich mir keine blinden Musiker als unterstützendes Argument heranholen.

              dedlfix.

        2. Es erfordert spezielle Kenntnisse, über die man als Webentwickler i.A. nicht verfügt.

          Antwort aus der Abteilung „Humor“: Vollständig richtig wäre wohl „spezielle Kenntnisse, über die man als Webentwickler anno 2020 nicht mehr verfügt“ gewesen.

          Antwort aus der Abteilung „Realismus“: Ja. Es gibt verdammt viele Gründe, den Tipp mit dem „Spacer-Gif“ als schlecht zu bezeichnen. Deshalb habe ich das getan. Der einzige Grund, ihm zu folgen ist tatsächlich, dass man sein Ziel aus außen liegenden Gründen nicht anders erreichen kann. Allerdings muss man dann auch anerkennen, dass manchmal die einzige - schlechte - Möglichkeit gezwungenermaßen das Mittel der „Wahl“ sein muss.

  4. Schon mal bei der Gema nachgefragt, ob die dort

    • eigene, inhaltlich und optisch weitgehend identische Formulare/Ausdrucke akzeptieren? (Dann könnte die Webseite z.B. auch direkt ausgedruckt werden, statt ein PDF zu erzeugen.)
    • andere Vorlagen anbieten, die man selbst (online) ausfüllen kann (Word, RTF, PDF)?
    1. @@Raketenwissenschaftler

      Schon mal bei der Gema nachgefragt, ob die dort

      • eigene, inhaltlich und optisch weitgehend identische Formulare/Ausdrucke akzeptieren? (Dann könnte die Webseite z.B. auch direkt ausgedruckt werden, statt ein PDF zu erzeugen.)
      • andere Vorlagen anbieten, die man selbst (online) ausfüllen kann (Word, RTF, PDF)?
      • die Daten auch in anderen Formaten (JSON in wohldefinierter Struktur; evlt. auch CSV) entgegennehmen? (Es dürfte ja auch in deren Interesse sein, die Daten einfach verarbeiten zu können.)

      🖖 Stay hard! Stay hungry! Stay alive! Stay home!

      --
      “Turn off CSS. If the page makes no sense, fix your markup.” —fantasai
  5. ... oder noch besser: Daten serverseitig in ein vorhandenes beschreibbares PDF einfügen?

    Ich glaube, ich bin in eine Sackgasse gelaufen. Habe das beschreibbare PDF-Formular als Hintergrund für ein HTML-Dokument genommen und will mit den eingegebenen Daten per PHP wieder ein PDF „basteln“. Das ist dann aber - anders als das PDF-Original - nicht mehr beschreibbar.

    Neue Idee:

    Ich könnte doch mit PHP die beschreibbaren Felder im PDF-Dukument orten und mit den Werten aus dem HTML-Dokument füllen? Danach das immer noch beschreibbare PDF-Dokument mailen.

    Leider verweigert mein Editor Geany, den Quellcode des PDF anzuzeigen, auch nachdem ich die Datei in .txt umbenannt habe.

    Wie kann ich mir die Innereien von PDF-Dokumenten ansehen?

    Linuchs

    1. Hallo,

      Leider verweigert mein Editor Geany, den Quellcode des PDF anzuzeigen, auch nachdem ich die Datei in .txt umbenannt habe.

      du kannst versuchen, ein PDF-Dokument in einem stinknormalen Texteditor zu öffnen, aber was du dann siehst, wird dir nicht gefallen. Mein Firefox kommt ab und zu auf die blöde Idee, heruntergeladenen Binärschrott nicht zu speichern, sondern an die nächstbeste Anwendung zu übergeben. Das ist dann meist der Texteditor.

      Wie kann ich mir die Innereien von PDF-Dokumenten ansehen?

      Eine Google-Suche nach "pdf edit" listet eine Menge verschiedene Programme auf, die das anscheinend können. Erwarte aber keine Bearbeitung auf "Quellcode-Ebene"; das PDF-Format ist kein lesbarer Text, sondern wohldefinierter Binärmüll. Ich hatte vor Jahren mal einen PDF-Editor installiert (war direkt im Ubuntu-Repo, aber ich weiß nicht mehr, wie das Teil hieß; ist auch ein paar Jahre her).
      Bearbeiten lief damit eher wie im DOM-Inspektor eines Browsers, d.h. der PDF-Editor zeigte mir in einer quasi-graphischen Struktur die Objekthierarchie im PDF an, und ich konnte die einzelnen Knoten gezielt manipulieren.

      Live long and pros healthy,
       Martin

      --
      Ich stamme aus Ironien, einem Land am sarkastischen Ozean.
      1. das PDF-Format ist kein lesbarer Text, sondern wohldefinierter Binärmüll.

        Heißt das, ich würde Einträge in die felder wie feld_01 nach dem Speichern des PDF nicht wiederfinden?

        Habe die PDF mit Libre Office geöffnet und unverändert als PDF wieder exportiert. Die Beschreibbarkeit der Felder ist weg.

        1. Hab auf meinen ersten Einfall hin und dann „auf die Schnelle“ nur das hier gefunden:

          „Ein ausfüllbares Formular erstellen in Writer - LibreOffice 6 (German with English subtitles)“

          Beschreibung:

          Dieses Video zeigt, wie in Writer - LibreOffice 6 - ein Kaufvertrag als Formular mit Textfeldern, Numerischen Feldern, und Datumsfeldern als ODT-Datei erstellt wird und als PDF-Datei exportiert wird. Die PDF-Datei kann nun ausgefüllt werden und sollte unter neuem Namen gespeichert werden.

          https://www.youtube.com/watch?v=-zLTSaIL9N0

        2. Hallo Linuchs,

          das PDF-Format ist kein lesbarer Text, sondern wohldefinierter Binärmüll.

          Heißt das, ich würde Einträge in die felder wie feld_01 nach dem Speichern des PDF nicht wiederfinden?

          Möglicherweise nicht. PDFs können komprimierte Daten beinhalten. Hier gibt es ein Wiki, das man als SelfPDF beschreiben könnte...

          Ich habe ein bisschen mit dem Scripter (Mini-Tutorial) von Scribus 1.5.5 an einem PDF-Formular herumexperimentiert und damit kann man den einzelnen Feldern (im Beispiel dem Feld f11[0]) neue Werte zuweisen:

          scribus.setText('Blabla', 'f11[0]')
          

          Scribus kann man seit 1.5.x mit einem Dokument und einem Script als Parameter aufrufen, das ließe sich also automatisieren. Außerdem wird man noch etwas an den Stilen drehen müssen, denn im erzeugten PDF ist der Text in den Formularfelder einfach nur riesig. Dürfte also machbar, aber nicht trivial sein. Und du musst Scribus auf deinem Server installieren können.

          Gruß
          Julius

    2. danke für das Lesen, eure Zeit und eure Antworten.

      Viel Zeit vergeht auf der Suche nach einer Lösung, ich probiere dieses und jenes, falle auf falsche bzw. alte Tipps zu PCPDF herein. Aber bitte nicht zusätzlich Empfehlungen zu mir unbekannten Programmen.

      Ich teste gerade dieses:

      // TextField( $name, $w, $h, $prop = array(), $opt = array(), $x = '', $y = '', $js = false )
      $pdf->TextField( "komponist_".$i, "20mm", "10mm", [], ['v' => 'komponist_'.$i], $x2."mm", $y."mm", FALSE );
      

      Die so erzeugte PDF-Datei runterlade ich in den Linux-Dokumentenbetrachter, lese komponist_6 (von v), per Doppelklick öffne ich das Feld und ändere den Inhalt in Ko 6

      PDF lokal abgespeichert, wieder aufgerufen mit dem Linux-Dokumentenbtrachter. Jetzt steht Ko 6 drin und kann immer noch geändert werden.

      Sieht soweit ganz gut aus, ich teste weiter.

      Linux

      1. Hi there,

        [...] Aber bitte nicht zusätzlich Empfehlungen zu mir unbekannten Programmen.

        Verstehe. Dir ist es vor allem wichtig, einen Namen für das tote Pferd zu finden...

        1. Moin,

          einen Namen für das tote Pferd

          Ich bin dem großen Irrtum aufgesessen, dass PCPDF ein bequemes Tool ist, um HTML zu PDF zu machen. Vor Jahren hatte ich das in einem anderen Projekt so angewendet, die Ausgabe war aber eine einfache Liste ohne genaue Positionierung von Feldern.

          Nun ist ein vorgegebenes GEMA-Formular nachzubilden, das von mindestens einer Stelle (Chor-Fachverband) zu ändern und zu ergänzen ist.

          TCPDF scheint ein leistungsfähiges Werkzeug zu sein, mit PHP ein PDF-Dokument von Null an aufzubauen. Allerdings muss man sich mit den unzähligen Möglichkeiten beschäftigen:

          https://tcpdf.org/docs/srcdoc/TCPDF/class-TCPDF/

          Eine weitere Programmiersprache bzw. Seitenbeschreibungssprache für eine einmalige Anwendung zu lernen, schreckt erstmal ab, aber die vergebliche Mühe und vertane Zeit, Fehler bei der Konvertierung aufzuspüren und HTML anzupassen, also einen neuen HTML-String speziell für PCPDF zu erstellen, hätte ich besser in das Studium von PCPDF gesteckt, nun muss ich es nachholen.

          Linuchs

          1. Hi there,

            Nun ist ein vorgegebenes GEMA-Formular nachzubilden, das von mindestens einer Stelle (Chor-Fachverband) zu ändern und zu ergänzen ist.

            Ja, nachbilden bedeutet meist, pixelgenau zu arbeiten und es ist nicht jedes PDF-Tool dafür geeignet.

            Eine weitere Programmiersprache bzw. Seitenbeschreibungssprache für eine einmalige Anwendung zu lernen, schreckt erstmal ab, aber die vergebliche Mühe und vertane Zeit, Fehler bei der Konvertierung aufzuspüren und HTML anzupassen, also einen neuen HTML-String speziell für PCPDF zu erstellen, hätte ich besser in das Studium von PCPDF gesteckt, nun muss ich es nachholen.

            Prinzipiell geb' ich Dir recht, daß man den Aufwand immer im Verhältnis zum Nutzen sehen sollte, auch bei der Softwareentwicklung und verwandten Gebieten. Aber ich denke doch, daß Du Dich da irgendwie verrannt hast. Ich seh' da halt das Problem, daß das mit HTML eigentlich überhaupt nichts zu tun hat. Was Du anbieten oder zur Verfügung stellen willst, das ist ein ausfüllbares PDF-Formular. Und das ist vom Konzept eher etwas, was parallel zu HTML existiert und nicht davon abgeleitet wird. Dein Gedanke war vermutlich, daß Du nicht zweimal das selbe Formular/Konstrukt/was auch immer bauen willst, aber das ist halt nicht immer oder nicht immer mit in dem Zusammenhang vertretbarem Aufwand möglich.

            Ich weiß ja nicht, ob das Deinen Anforderungen entspräche, aber ich hätte auf ein ausfüllbares PDF verzichtet, hätte einfach ein HTML-Formular zu Verfügung gestellt und hätte dann aus diesen Daten ein fertiges, bereits ausgefülltes, PDF generiert und dazu könnte man zB das viel einfacher zu händelnde FPDF, das ich Dir einem vorigen Posting zum Nachschauen empfohlen habe, verwenden können. Anyway, ich wünsche Dir, daß Du eine passende Lösung findest, die Deinen Ansprüchen und Anforderungen genügen wird...

          2. Lieber Linuchss,

            Ich bin dem großen Irrtum aufgesessen, dass PCPDF ein bequemes Tool ist, um HTML zu PDF zu machen.

            nein, Du weigerst Dich hartnäckig, die Perspektiven und Vorschläge von anderen auch nur nachzuvollziehen, wenn sie nicht von vornherein in Dein vorgefasstes Denkkonzept passen. Das ist kein Irrtum, sondern etwas anderes.

            Nun ist ein vorgegebenes GEMA-Formular nachzubilden, das von mindestens einer Stelle (Chor-Fachverband) zu ändern und zu ergänzen ist.

            Ich kann mich nur wiederholen. In Deinem Fall nimmt man ein vorgefertigtes PDF (ohne Eingabefelder!) und verwendet es als Vorlage, um mit PHP Ergänzungen einzutragen. Ist die "offizielle" Vorlage nicht gut genug, bastelt man sich mit einem Office eine besser passende zurecht und nimmt dann eben die.

            TCPDF scheint ein leistungsfähiges Werkzeug zu sein, mit PHP ein PDF-Dokument von Null an aufzubauen. Allerdings muss man sich mit den unzähligen Möglichkeiten beschäftigen:

            Nein, auch hier ist es nicht so, wie Du Dir das in Deiner vorgefassten Meinung zurecht gelegt hast. Man kann auch ergänzende PHP-Klassen wie FPDI verwenden, um ein bereits vorhandenes PDF wie ein Hintergrundbild zu laden und dann nur noch ergänzende Inhalte mit TCPDF oben drauf zu setzen. Das erspart das "von Null an" und damit eine erhebliche Menge Zeit. Und Mühen.

            aber die vergebliche Mühe und vertane Zeit, Fehler bei der Konvertierung aufzuspüren und HTML anzupassen, also einen neuen HTML-String speziell für PCPDF zu erstellen, hätte ich besser in das Studium von PCPDF gesteckt, nun muss ich es nachholen.

            Oder Du hättest Dir das, was in diesem Forum schon weidlich diskutiert wurde, tatsächlich und gründlich zu Gemüte führen können. Mit den damit möglichen Erkenntnissen hättest Du einen völlig anderen Weg einschlagen und Dein Problem in wesentlich weniger Zeit schon längst gelöst haben können.

            Liebe Grüße

            Felix Riesterer