Ergebnis 1 bis 3 von 3

Thema: PHP PDFparser eliminiert sämtliche ausgaben

  1. #1
    N.A.C.J.A.C. Avatar von alter_Bekannter
    Registriert seit
    Jul 2013
    Ort
    Midgard
    Beiträge
    4.076

    PHP PDFparser eliminiert sämtliche ausgaben

    Das Problem ist mein Ferhlerbild ist ein vollständiger Mangel an outputs. Der einzige Log Eintrag den ich bekomme ist eine 200 Meldung aka "soweit ich erkennen kann alles in Ordnung":
    Code (Apache/.htaccess):
    1. ::1 - - [20/May/2018:17:13:25 +0200] "GET /pdf/ HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36"
    2. ::1 - - [20/May/2018:17:14:22 +0200] "GET /pdf/ HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36"
    3. ::1 - - [20/May/2018:17:14:24 +0200] "GET /favicon.ico HTTP/1.1" 200 30894 "http://localhost/pdf/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36"
    4. ::1 - - [20/May/2018:17:14:47 +0200] "GET /pdf/ HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36"
    5. ::1 - - [20/May/2018:17:14:49 +0200] "GET /favicon.ico HTTP/1.1" 200 30894 "http://localhost/pdf/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36"
    6. ::1 - - [20/May/2018:20:09:24 +0200] "GET /pdf/ HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36"
    Der letzte Eintrag ium Errorlog ist einige Stunden alt daher würde ich den mal als für dieses Problem irrelevant einstufen.

    Die Ausgabe ist komplett leer. Auch wenn ich mir den Seitenquelltext anzeigen lasse "eine Zeile" nichts.(An den Zeilenummern erkannt) Welche http client für Windows würde keine HTML Struktur improvisieren so das ich damit den echten Output mal als Datei hochladen kann? Die üblichen Browser fallen da ja mittlerweile alle raus.

    Es handelt sich um diese Lib:
    https://pdfparser.org

    Umgebung ist:
    xampp-win32-5.6.36-0-VC11.zip

    Source:
    Code (PHP):
    1. <?php
    2.  
    3. // Include Composer autoloader if not already done.
    4. include 'vendor/autoload.php';
    5.  
    6. // Parse pdf file and build necessary objects.
    7. $parser = new \Smalot\PdfParser\Parser();
    8. $pdf    = $parser->parseFile('sample.pdf');
    9.  
    10. // Retrieve all pages from the pdf file.
    11. $pages  = $pdf->getPages();
    12.  
    13. // Loop over each page to extract text.
    14. foreach ($pages as $page) {
    15.     echo $page->getText();
    16. }
    17. echo "done";
    18. ?>
    Sample PDF ist:
    Document1_pdfxchange.pdf
    (Beispieldatei die mit pdfparser geliefert wird.)

    Was mich am meisten irritiert ist die Tatsache das nichtmal das "done" ausgegeben wird.

    Wie kann ich feststellen ob composer bzw die Abhängigkeiten alle da sind?
    Wichtig: Warum die Installation von Win XP ein Linuxproblem ist.

    Autos töten keine Menschen, sie beschützen sie, vor Menschen mit kleineren Autos.

  2. #2

    Re: PHP PDFparser eliminiert sämtliche ausgaben

    Moin,

    Ein erneutes "composer update" "sollte" prüfen das alle Abhängigkeiten installiert sind.
    Evtl. ich hab noch nicht mit composer gearbeitet, mal die "Umgegung" testen: "composer check-platform-reqs"

    Du kannst auch mal Error Loggign aktivieren, in den Code setzen:
    Code (PHP):
    1. ini_set('error_reporting', E_ALL);
    2. ini_set( 'display_errors', '1');
    Bekommst du irgendwelche Fehler?

    Die Beispiel PDF kann bei mir ausgelesen werden. (PHP 7.x)

    Ich hab aber den aktuellen "Master" heruntergaden und nicht über Composer installiert und dann das "composer update" in dem Hauptordner ausgeführt.
    Abhängigkeiten die installiert worden sind, waren:
    tecnickcom/tcpdf (6.2.17)
    atoum/atoum (3.3.0)
    Gruß theSplit
    @ I might be sober. The good things... the bad things... all I ever know is here! @ The past; yesterday, the present; here and now; the future; to be shaped. @
    +++ Pi-Thread +++ IT-Talents Code Competitions +++ NGB-Statistik Opt-Out/Anonymisierung +++ Stonerhead +++ Add-on Flag Cookies +++ Google Image Directlinks +++ dwrox.net

  3. #3
    N.A.C.J.A.C.

    (Threadstarter)

    Avatar von alter_Bekannter
    Registriert seit
    Jul 2013
    Ort
    Midgard
    Beiträge
    4.076

    Re: PHP PDFparser eliminiert sämtliche ausgaben

    Richtig, nix, habe den Apache gerade neugestartet, script laufen lassen:
    letzter Eintrag im error log:
    [Mon May 21 11:20:58.536439 2018] [mpm_winnt:notice] [pid 13532:tid 172] AH00354: Child: Starting 150 worker threads.

    access log:
    Code (Apache/.htaccess):
    1. ::1 - - [21/May/2018:11:21:01 +0200] "GET /pdf/ HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36"
    2. ::1 - - [21/May/2018:11:21:03 +0200] "GET /favicon.ico HTTP/1.1" 200 30894 "http://localhost/pdf/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36"
    200: alles paletti! Also laut Apache ist alles gut gelaufen. Sogar explizit. Bei 200 erwarte ich auch keinen Error.

    letzter Eintrag im php_error_log:
    Code (Apache/.htaccess):
    1. [21-May-2018 09:20:58 UTC] PHP Warning:  Module 'openssl' already loaded in Unknown on line 0
    2.  
    Stunden vor dem Request und ne reine Warning, da mir die guten Ideen ausgehen fixe ich das mal und checks nochmal.
    Edit:
    Erwartungsgemäß keine Änderung, das Warning bleibt nach dem Neustart und weiteren Test der letzte Eintrag.

    edit2:
    composer update:
    Code (Apache/.htaccess):
    1.  
    2. F:\xampp\htdocs\pdf>F:\xampp\php\php.exe composer.phar update
    3. Loading composer repositories with package information
    4. Updating dependencies (including require-dev)
    5. Nothing to install or update
    6. Generating autoload files
    Deswegen würde ich die korrekten Abhängigkeiten nämlich eben genau lieber nicht über composer prüfen sondenr ob sie im Script ankommen. Die Infrastruktur sagt mir ja nur konsequent: "alles grün!"

    Firefox sagt mir im debugging auch:
    This request has no response data available.

    Außerdem ist die gesamte http Antwort nur 254Bytes groß. Also alles grün für eine leere Antwort.

    Kompletter Header:
    Code (Apache/.htaccess):
    1. HTTP/1.1 200 OK
    2. Date: Mon, 21 May 2018 09:37:56 GMT
    3. Server: Apache/2.4.33 (Win32) OpenSSL/1.0.2o PHP/5.6.36
    4. X-Powered-By: PHP/5.6.36
    5. Content-Length: 0
    6. Keep-Alive: timeout=5, max=100
    7. Connection: Keep-Alive
    8. Content-Type: text/html; charset=UTF-8
    Wie gesagt: Explizite Antwort: "Alles in Ordnung!" + "Hier ist deine leere Antwort."

    Code (Apache/.htaccess):
    1. F:\xampp\htdocs\pdf>F:\xampp\php\php.exe composer.phar check-platform-reqs
    2. ext-iconv  0         success
    3. php        5.6.36    success
    Wie sie sehen, sehen sie nix.

    edit3:
    Oder anders:
    Wie sähe deiner Meinung nach eine saubere Installation aus, bzw wie hast du es gemacht? Die hälfte Der Anleitungen überschüttet einen mit Installern. Die ich nicht verwenden werde.

    Experimente mit der composer.json habe das Projekt hier jedenfalls zerlegt, Neuinstallation liegt eh an. Jetzt bekomme ich natürlich Fehler, aber welche wo sich eine Reperatur sicher nicht mehr lohnt.

    --- [2018-05-21 13:53 CEST] Automatisch zusammengeführter Beitrag ---

    Okay, hat sich wohl erledigt.

    Das Ding läuft jetzt. Ich werde das setup nicht posten weil es einfach nicht vorzeig oder reproduzierbar ist.

    Die mitgelieferte sample wird ausgewertet.
    Die Dateien die ich wirklich auswerten will(20-110Megabyte) sind wohl zu groß oder sonstwie inkompatibel.

    "Pdfparser" ist damit wohl raus. Wenn ich den Speicher massiv erhöhe kommt irgendwann Text raus. Aber "Ghostscript" liefert schneller bessere Ergebnisse.
    Ghostscript:
    Code (Apache/.htaccess):
    1. gswin64c -dCOMPLEX -sDEVICE=txtwrite -o pages/page%d.txt "input.pdf"
    Damit landen im Ordner "pages" relativ gut ausgelesene Seiten als einzelne Textdateien.
    Geändert von alter_Bekannter (21.05.18 um 14:03 Uhr)
    Wichtig: Warum die Installation von Win XP ein Linuxproblem ist.

    Autos töten keine Menschen, sie beschützen sie, vor Menschen mit kleineren Autos.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •