Ankündigung

Einklappen
Keine Ankündigung bisher.

PDF als Text speichern

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PDF als Text speichern

    Hallo ich suche eine Möglichkeit ein PDF Dokument in einer .txt-Datei zu speichern und es später wieder zurück zu wandeln - meiner Meinung nach müsste das ja mit Base64 oder UUencode gehen.

    Wer kann mir hier bitte helfen? - Hier mein Code

    PHP-Code:
    <!doctyp html>
        <html>
            <head>
            
            </head>
            <body>
                <form enctype="multipart/form-data" action="<?php $_SERVER['PHP_SELF'?>" method="post">                
                    <input type="hidden" name="MAX_FILE_SIZE" value="300000000">
                    Datei angeben:
                    <input name="userfile" type="file">
                    <br>
                    <input name="pdf2string" type="submit" value="pdf2string">
                </form>
            </body>
        </html>

    <?php
        
    if (isset($_POST['pdf2string'])) {
            
    $a move_uploaded_file($_FILES['userfile']['tmp_name'],'./'.md5($_FILES['userfile']['name'].$_POST['date'].$_POST['other']).$_FILES['userfile']['name']);
            
            
    $b $a "<br>" base64_encode($a) . "<br>" convert_uuencode($some_s) . "<br>";
            
            
    $saved_pdf fopen("saved_pdf.txt""a");
            
    fwrite($saved_pdf,$b.";some other values"."\n");
            
    fclose($saved_pdf);
        }
    ?>


  • #2
    Hast du schon gegoogelt?
    So dürfte das definitiv nicht gehen, da PDF eben doch ein spezielles Format ist.
    Current Projects: http://www.welten-buch.de, http://neu.zooadoo.de

    Kommentar


    • #3
      Zitat von Geromel Beitrag anzeigen
      Hast du schon gegoogelt?
      So dürfte das definitiv nicht gehen, da PDF eben doch ein spezielles Format ist.
      Ja, habe ich - allerdings um PDFs in einer MySQL-Datenbank zu speichern. Empfohlen wird das nicht, aber bei mir würde auch keine große Datenmenge zusammen kommen. Ich möchte das PDF nur in eine "mini-Datenbank" packen (und nein SQLite möchte ich nicht nutzen).

      Warum denkst du ist das mit Base64 nicht möglich? Bei Bildern geht es ja auch?

      Kommentar


      • #4
        http://stackoverflow.com/a/7001377

        Anstatt echo schreibst du es dann in deine .txt.

        Kommentar


        • #5
          Dann probier es. Ich kann mich ganz entfernt dran erinnern, dass ich damals ne Bibliothek benutzt habe.
          Wieso packst du deine PDFs dann nicht einfach in einen Ordner namens PDFs und speicherst die URL in der Datenbank?
          Current Projects: http://www.welten-buch.de, http://neu.zooadoo.de

          Kommentar


          • #6
            ein PDF Dokument in einer .txt-Datei zu speichern und es später wieder zurück zu wandeln
            Warum willst du das so machen? Würde mich interessieren, wie/warum man auf sowas kommt.
            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar


            • #7
              Vielen Dank dreamcatcher! Ich denke damit komme ich ans Ziel!

              @hausl:
              Das Skript soll nur aus einer Datei bestehen und diese soll sich eine art Lokale Datenbank anlegen. Nur kein SQlite, da man hier auf einem Linux Server wieder extra Pakete usw. braucht.
              Deshalb soll alles in einer txt-Datei neben dem Skript liegen.
              In Ordnern will ich das nicht speichern, da hier dann möglicherweise ein PDF im Ordner gelöscht wird - aber der Eintrag in der txt-db noch besteht.

              Kommentar


              • #8
                Das was du machst ist aber nicht die praktikable Lösung. Im Normalfall lagert man solche Dateien eben in Ordnern und fügt einen entsprechenden Pfad in die Datenbank. Wieso sollte man PDFs einfach löschen? Einem Löschscript sagt man dann eben, es soll auch den Eintrag in der Datenbank entfernen.

                Ich sag das auch aus rein perfomance-technischen Gründen. Angenommen du hast eine 100seitige PDF-Datei...
                Current Projects: http://www.welten-buch.de, http://neu.zooadoo.de

                Kommentar


                • #9
                  Gern geschehen

                  Kommentar


                  • #10
                    PHP-Code:
                    <?php
                        
                    require_once('settings.php');
                    ?>

                    <!doctyp html>
                        <html>
                            <head>
                            
                            </head>
                            <body>
                                <form enctype="multipart/form-data" action="<?php $_SERVER['PHP_SELF'?>" method="post">                
                                    <input type="hidden" name="MAX_FILE_SIZE" value="300000000">
                                    Datei angeben:
                                    <input name="userfile" type="file">
                                    <br>
                                    <input name="pdf2string" type="submit" value="pdf2string">
                                </form>
                            </body>
                        </html>

                    <?php
                        
                    if (isset($_POST['pdf2string'])) {
                            
                    move_uploaded_file($_FILES['userfile']['tmp_name'],'./'.md5($_FILES['userfile']['name'].$_POST['date'].$_POST['other']).$_FILES['userfile']['name']);
                            
                    $filename md5($_FILES['userfile']['name'].$_POST['date'].$_POST['other']).$_FILES['userfile']['name'];
                            
                    $pfd_file = new PDF2Text();
                            
                    $pfd_file->setFilename($filename);
                            
                    $pfd_file->decodePDF();
                            
                    $encoded $pfd_file->output(); 
                            
                            
                    $saved_pdf fopen("saved_pdf.txt""a");
                            
                    fwrite($saved_pdf,$encoded.";some other values"."\n");
                            
                    fclose($saved_pdf);
                        }
                    ?>
                    Habe das Skript jetzt mal umgebaut - und es funktioniert prinzipiell.
                    Allerdings geht das nicht, wenn im PDF Bilder, das liegt aber wohl an der PHP-Klasse. Ich bräuchte aber eine Lösung die quasi eine Prüfsumme berechnet und diese dann auch wieder rückgängig machbar ist. Es werden max. 2 Seiten PDFs gespeichert.

                    Kommentar


                    • #11
                      Ich bin raus, wieso es einfach machen, wenn es auch kompliziert geht...
                      Current Projects: http://www.welten-buch.de, http://neu.zooadoo.de

                      Kommentar


                      • #12
                        die idee:
                        http://webcheatsheet.com/php/reading...t_from_pdf.php

                        und der nächste code:
                        https://gist.github.com/smalot/6183152

                        und ich hab sowas immer mit ghostscript gemacht, bin ich doof.

                        Kommentar


                        • #13
                          Zitat von dietzelmann Beitrag anzeigen
                          @hausl:
                          Das Skript soll nur aus einer Datei bestehen und diese soll sich eine art Lokale Datenbank anlegen.
                          ...
                          Deshalb soll alles in einer txt-Datei neben dem Skript liegen.
                          In Ordnern will ich das nicht speichern, da hier dann möglicherweise ein PDF im Ordner gelöscht wird - aber der Eintrag in der txt-db noch besteht.
                          Dennoch, ich finde diese Gangart seltsam, denn ...

                          - ... warum sollte eine PDF einfach so gelöscht werden, das würde dann doch auch zB für jedes Bild deiner Website gelten, die könnten auch immer gelöscht werden.

                          - ... genauso gut könnte die statt der PDF die TXT Datei gelöscht werden, was ist der Unterschied.. Datei ist Datei und beide könnten gelöscht werden, wenn du es so siehst.

                          Würde mich interessieren, Bilder und CSS Dateien, oder JS Dateien handelst du aber "normal" oder?
                          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                          PHP.de Wissenssammlung | Kein Support per PN

                          Kommentar

                          Lädt...
                          X