Es ist wie die resultierende PDF aus xvfb sein 100% möglicherweise nicht korrekt aussieht. Es gibt einige Probleme mit den Metadaten. Es fehlt zum Beispiel der Schöpfer. Auch PDF-0 scheint keine gültige PDF-Version zu sein. Möglicherweise gibt es andere Probleme mit dem Dokument. Dies ist ein möglicher Grund, warum die generierte Datei nicht in Chrome angezeigt wird.
Eine gute Möglichkeit, das Dokument zu untersuchen, wäre das Preflight-Tool von Acrobat. Es wird das Dokument auf mögliche Probleme untersuchen, und das könnte einen Hinweis darauf geben, was vor sich geht. Das Tool befindet sich unter "Druckproduktion" in Acrobat. Das auszuführende Profil heißt "PDF-Syntaxfehler melden". Ich bin mir sicher, dass es andere Tools gibt, die auch erklären können, was mit dem Dokument nicht stimmt.
Dieser Abschnitt sollte eine Lösung für das Problem bieten. Wie in den folgenden Kommentaren erwähnt, sollte das Aktualisieren der QT-Version von 4.8.6 auf etwas Neueres das Problem beheben. Das funktionierende Setup scheint 5.3.2 zu laufen, während das nicht funktionierende Setup unter QT 4.8.6 läuft.
wkhtmltopdf setzt das Erstellerfeld nur korrekt seit Version 0.12.1 (speziell seit [this] (https://github.com/wkhtmltopdf/wkhtmltopdf/commit/a762a849a64c2bd4e697d7ac37e7be5be59300bc6)). Ich vermute also, dass Sie eine ältere Version auf Ihrem Remote-Server ausführen müssen. Irgendeine Chance, die du aktualisieren kannst? - Trotzdem glaube ich, dass die Ursache in [QPrinter] (http://doc.qt.io/qt-5/qprinter.html) liegt, daher könnte Ihr Problem auch von den verschiedenen QT-Versionen herrühren, die Sie ausführen. Können Sie die erste Zeile der PDF-Datei so posten, wie sie in einem Texteditor angezeigt wird?Es codiert die PDF-Version. – morido
Die Versionen, die auf meinem lokalen Computer und auf dem Server ausgeführt werden, sind identisch. 0.12.2.4 genau – DAKZH
Das führt uns zu der Schlussfolgerung, dass Ihr Problem wahrscheinlich innerhalb von QT (oder sogar irgendwo in der Kette) verwurzelt ist. Können Sie Ihre QT-Bibliotheken auf dem Server aktualisieren und es erneut versuchen? – morido