• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

PHP PDFparser eliminiert sämtliche ausgaben

alter_Bekannter

N.A.C.J.A.C.

Registriert
14 Juli 2013
Beiträge
4.823
Ort
Midgard
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":
[src=apache]::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"
::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"
::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"
::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"
::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"
::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"[/src]

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:
[src=php]<?php

// Include Composer autoloader if not already done.
include 'vendor/autoload.php';

// Parse pdf file and build necessary objects.
$parser = new \Smalot\PdfParser\Parser();
$pdf = $parser->parseFile('sample.pdf');

// Retrieve all pages from the pdf file.
$pages = $pdf->getPages();

// Loop over each page to extract text.
foreach ($pages as $page) {
echo $page->getText();
}
print_r(scandir());
echo "done";
?>[/src]

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?
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.560
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:
[src=php]ini_set('error_reporting', E_ALL);
ini_set( 'display_errors', '1');[/src]

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)
 

alter_Bekannter

N.A.C.J.A.C.

Registriert
14 Juli 2013
Beiträge
4.823
Ort
Midgard
  • Thread Starter Thread Starter
  • #3
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:
[src=apache]::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"
::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"[/src]

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:
[src=apache][21-May-2018 09:20:58 UTC] PHP Warning: Module 'openssl' already loaded in Unknown on line 0
[/src]
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:
[src=apache]
F:\xampp\htdocs\pdf>F:\xampp\php\php.exe composer.phar update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files[/src]

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:
[src=apache]HTTP/1.1 200 OK
Date: Mon, 21 May 2018 09:37:56 GMT
Server: Apache/2.4.33 (Win32) OpenSSL/1.0.2o PHP/5.6.36
X-Powered-By: PHP/5.6.36
Content-Length: 0
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8[/src]
Wie gesagt: Explizite Antwort: "Alles in Ordnung!" + "Hier ist deine leere Antwort."

[src=apache]F:\xampp\htdocs\pdf>F:\xampp\php\php.exe composer.phar check-platform-reqs
ext-iconv 0 success
php 5.6.36 success[/src]

Wie sie sehen, sehen sie nix.:unknown:

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:
[src=apache]gswin64c -dCOMPLEX -sDEVICE=txtwrite -o pages/page%d.txt "input.pdf"[/src]

Damit landen im Ordner "pages" relativ gut ausgelesene Seiten als einzelne Textdateien.
 
Zuletzt bearbeitet:
Oben