Wie konvertiere ich eine Webseite in ein PDF-Format, wobei das Erscheinungsbild (genau wie im Webbrowser) und der Text / die Links erhalten bleiben?

24

Ich suche nach einer Möglichkeit, eine Webseite in PDF zu konvertieren, aber das Erscheinungsbild der Webseite beizubehalten. Auch wenn der Text der Webseite erhalten bleibt (wählbar ist), kann gesucht werden.

Ich suche nach Drucken der Webseite als PDF wie sie ist (wie im Webbrowser) ohne Manipulation des Stils oder der Ausrichtung oder Verlust der statischen Komponenten einer Webseite.

Dies würde dazu beitragen, Offline-Kopien von Webseiten zu erhalten, die leicht lesbar, mit Anmerkungen versehen und durchsuchbar sind.


Sie müssen keinen der folgenden Punkte lesen (Frage ist nur der obige Abschnitt) , um meine Frage zu erhalten. Der folgende Abschnitt listet nur in verschachtelter Form auf, was ich durch Nachforschungen oder Antworten anderer erhalten habe, um eine Antwort auf die Frage zu erhalten.

Forschungsergebnisse (Vorschläge, die mein Problem nicht gelöst haben)

Bisherige Ergebnisse beim Versuch, eine Lösung zu finden (Alle funktionieren immer noch nicht als Lösung für diese Frage)

Ich habe diese PDF-Webdruck-Engines ausprobiert, aber alle manipulieren das Erscheinungsbild der Seiten, sind sogar schädlicher und machen einige davon kaum lesbar: ( Beispielseiten- Screenshots sind in eckigen Klammern enthalten)

  • Chrome [ Original , Druckstile ( deaktiviert | nicht deaktiviert )]
  • Firefox [ Original , Druckstile (Deaktiviert p1 , p2 | nicht deaktiviert p1 , p2 )]
  • Lesbarkeit
    • Es vereinfacht die Webseite (was gut für fokussiertes Lesen ist - das ist jedoch nicht das, wonach ich suche). Ich möchte, dass alle Positionen / Stileigenschaften der Webseite, wie sie im Webbrowser angezeigt werden, ohne Manipulation in einem PDF-Format gespeichert werden.
  • Foxit Reader
  • NovaPDF
  • CutyCapt [ Original , Zoomfaktor : 0.4 : Screenshots, ausgegebenes PDF]
    • Ich werde Links hinzufügen, nachdem ich die laufenden Probleme des Programms unter Windows gelöst habe. "
  • wkhtmltopdf [ Original , Zoomfaktor : 0.4 : Screenshots , ausgegebenes PDF ]
    • CSS3 wird nicht unterstützt.

Alle Homepage Screenshot Bilderfassungs- Plugins (zB Entführung , Super Screenshot , Fireshot , Firefox Screenshot Developer Tool , Ausführlicher Screen Capture , Page2Images , Web-Capture , ...) nicht die Frage beantworten, weil sie nicht bewahren Text und links .

Scrible eignet sich hervorragend zum Speichern von Webseiten sowie für weitere Anmerkungen und Nachforschungen, ist jedoch leider immer noch online und ohne Konvertierung in das PDF-Format.

Es gibt zwei andere Fragen in der Community, die meiner irgendwie ähnlich sind, aber diese unterscheiden sich ein bisschen, aber mit diesen wichtigen Unterscheidungen:

  • Wie bekomme ich WYSIWYP in einen Webbrowser?
    • Diese Frage fragt nach einer Möglichkeit, eine Webseite (wie auf dem Bildschirm zu sehen) zu erfassen, selbst wenn es sich um ein Bild handelt und Text nicht erhalten bleibt. Ich möchte jedoch auch Text und Links erfassen ( wichtig ist, dass Text und Links erhalten bleiben ).

Weitere ähnliche Fragen, bei denen das Beibehalten von Text und Links nicht erforderlich ist (Seiten werden meist als Screenshots erfasst ):


Anmerkungen

Betriebssystem: Windows 10

Omar
quelle
Wenn Sie über einen Browser drucken möchten, müssen Sie zuerst alle Druckstylesheets deaktivieren, um das Erscheinungsbild der Webseite beizubehalten.
DavidPostill
Siehe Wie bekomme ich WYSIWYP (drucke, was ich sehe) in einen Webbrowser? . Siehe meine Antwort auf diese Frage.
DavidPostill
Dann können Sie mit CutePDF writer drucken .
DavidPostill
@DavidPostill Es scheint, dass das Deaktivieren von Druckstilen entweder nicht funktioniert oder den Browser nicht dazu veranlasst, PDF-Dateien korrekt anzuzeigen. Der bearbeiteten Version der Frage wurden Beispiel-Screenshots hinzugefügt.
Omar
Ich hatte heute die gleiche Frage und diese Seite hat mir geholfen (obwohl die Ausgabe eine mobile Version der Seite war): stackoverflow.com/questions/9540990/…
MicroMachine

Antworten:

7

In einem Universitätsprojekt standen wir vor dem gleichen Problem und konnten es mithilfe von lösen

wkhtmltopdf

Wir haben die Fähigkeiten dieses Tools auf der Kommandozeile sehr genossen. Wir haben es auch Python-Code genannt, um den aktuellen Status von Webseiten zu rendern. Es besteht die Möglichkeit, die Webseite als PDF zu liefern, normalerweise nicht perfekt, um die Website-Ansicht aufgrund der Seitenformatierung (z. B. A4) beizubehalten, oder als PNG (behält die Ansicht der Seite bei, jedoch keine Links).

Es gibt auch das von uns verwendete Lesbarkeitsprojekt (für Python: pypi.python.org/pypi/readability-lxml), das das Entfernen von Anzeigen und das Erkennen von Inhalten recht gut macht (z. B. für Zeitungsartikel und dergleichen). Wenn Sie nur ein Addon oder eine Erweiterung für Ihren Browser wünschen, kann die folgende Implementierung der Lesbarkeit Ihren Anforderungen entsprechen:

https://www.readability.com/addons/

sebisnow
quelle
Leider hat wkhtmltopdf die Position der Seitenelemente nicht beibehalten. Beispielseite : Zoomfaktor : 0.4: Screenshots , ausgegebenes PDF
Omar
Die Lesbarkeit vereinfacht die Seite (was gut ist - aber das ist nicht das, wonach ich suche). Ich muss alle Positionen / Stileigenschaften der Seite, wie sie im Webbrowser angezeigt werden, in einem PDF-Format ohne Manipulation beibehalten.
Omar
Haben Sie die Option wkhtmltopng des Tools verwendet, da png die Positionen in Ordnung sein sollten (zumindest viel besser als in der PDF-Version, in der die Seite auf A4-Format angepasst ist)
bis
3

Beitrag eine andere Antwort für mögliche Benutzer. In Firefox gab es früher ein Addon "Seiten in PDF drucken". Sie können nach der letzten Version 0.1.9.3 suchen (nur für Vorgängerversionen von Quantum).

Derzeit gibt es dieses Addon für Chrome und Firefox, das recht gut funktioniert: PDFMage

  • Speichern Sie alle Bilder auf der Seite
  • Generieren Sie Text als Text und nicht als Bild. Sie können Text in der generierten PDF-Datei suchen.
  • Preserver-Hyperlinks
  • Hat die Option, eine lange Webseite als einseitiges PDF zu speichern (damit die Bilder nicht zwischen den Seiten aufgeteilt werden)
nmhung1985
quelle
2

Ich hatte wirklich Probleme damit und habe die meisten der bisher erwähnten Tools ausprobiert. Die besten Ergebnisse erzielte ich im kopflosen Modus von Chrome. Der Befehl unter MacOS würde folgendermaßen aussehen:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --headless --print-to-pdf=test.pdf http://127.0.0.1:8080

Die beste Liste der Befehlszeilenoptionen, die ich gefunden habe, ist hier .

Es gab jedoch Probleme damit. Insbesondere meine Seiten sind sehr stark mit Javascript belastet und ich konnte die Druckfunktion nicht darauf warten lassen, dass sie die Ausführung abschließen. Meine Ausgabe enthielt also keine Bilder.

Die Lösung , die ich fand , war ein NodeJS Paket: chrome-headless-render-pdf. Es ist kaum Dokumentation ist hier . Es funktioniert und es ist leicht skriptfähig.

AlanObject
quelle
2

Ich hatte das gleiche Problem und fand es über Chrome und mit einem kostenlosen Druckertreiber namens PDF995 heraus. Dies ist Teil einer Reihe von PDF-Dienstprogrammen. Die Website des Herausgebers lautet http://www.pdf995.com/ .

Ich denke jedoch, dass jeder Webbrowser und jeder PDF-Konverter ausreichen wird. Wie auch immer, hier ist was ich getan habe:

  1. Alles auswählen oder Alles markieren.
  2. Klicken Sie mit der rechten Maustaste auf die hervorgehobene Auswahl oder drücken Sie Strg + P (beide Optionen führen zu geringfügig unterschiedlichen Ergebnissen, aber Sie erhalten nach Abschluss dasselbe Ergebnis).

  3. Wenn Sie in 2. mit der rechten Maustaste auf die Auswahl (die Verknüpfung) geklickt haben, klicken Sie auf "Drucken", und nur alles, was Sie ausgewählt haben, wird in der Druckvorschau angezeigt. Stellen Sie sicher, dass Sie Ihr Druckerziel auf den PDF-Konverter ändern, den Sie verwenden möchten (PDF995 oder einen anderen).

  4. Klicken Sie auf "Drucken" und es wird als PDF-Dokument gespeichert.

  5. Wenn Sie stattdessen in 2. (etwas länger) Strg + P gedrückt haben, klicken Sie auf "Weitere Einstellungen" und scrollen Sie nach unten zu "Optionen".

  6. Klicken Sie auf das Kästchen "Nur Auswahl" und alles, was in der von mir beschriebenen Abkürzung steht, wird folgen.

  7. Vergessen Sie nicht, Ihr Druckerziel in einen von Ihnen gewählten PDF-Konverter (PDF995 oder einen anderen) zu ändern.

  8. Klicken Sie auf "Drucken".

user726167
quelle
1

Wenn Sie unter Linux arbeiten, probieren Sie dieses kleine Befehlszeilentool CutyCapt aus , das nur von Qt und QtWebkit abhängt, und exportieren Sie es in PDF.

Ziggy Crueltyfree Zeitgeister
quelle
0

Auch wenn dies nicht genau Ihre Anforderung ist, die nicht in PDF enthalten ist, ist es nur das Ziel, eine Offline-Kopie der Webseiten für eine spätere Überprüfung aufzubewahren. Das Speichern als Webseite würde genau das tun.

Die große Einschränkung besteht darin, dass eine HTML-Datei und ein Ordner mit dem gesamten Medieninhalt auf der Seite erstellt werden und nicht ein einzelnes Dokument.

In Chrome und Firefox können Sie eine Seite speichern, indem Sie mit der rechten Maustaste darauf klicken und Speichern unter ... auswählen. In Internet Explorer können Sie sie unter Datei -> Speichern unter speichern (drücken Sie die Alt-Taste, damit die Menüs angezeigt werden).

Pyheme
quelle
Wenn Sie die Webseite im HTML-Format speichern, ist sie nicht annotierbar. Also brauche ich es im PDF-Format.
Omar
Das ist ein guter Punkt! Ich erinnere mich an eine Erweiterung, mit der Sie druckbezogene Stylesheets einfach deaktivieren können. Eine schnelle Google-Suche führte mich zu der Diskussion über Superuser, als ich zum ersten Mal davon gehört hatte: Wie bekomme ich WYSIWYP (drucke das, was du siehst) in einen Webbrowser?
Pyheme
Ich habe versucht, mit Chrome "Speichern unter" zu erstellen. Es erstellt eine HTML-Datei und einen Ordner. In der .HTLM-Datei fehlte eine ganze Menge Material auf der Seite.
SherlockSpreadsheets
0

Versuchen Sie diesen Service. Erstellt ein PDF aus einer Website, wie Sie es im Browser sehen. https://lomotoh.com/ (Ich bin mit dieser Seite verbunden)

David Herse
quelle
Dadurch werden Verknüpfungen, jedoch kein auswählbarer Text beibehalten, was in der Frage erforderlich ist.
Fixer1234
Scheint für einige Websites auswählbar zu sein. Ich denke, es hängt davon ab, welche Art von benutzerdefinierter Schriftart die Site verwendet.
David Herse
0

Zumindest der gesamte Text auf einigen Seiten kann durchsucht, ausgewählt, ausgeschnitten und eingefügt werden. Ich habe es mit einer Seite versucht, die von einem Computer aus Text und Pixeln roboterhaft zusammengeklebt wurde, und sie hat alles in ein Bild umgewandelt.

Ich habe diese Dinge jahrelang benutzt. Die besten Linux-Ergebnisse erzielen Sie, wenn Sie die Seite in einem XX-Wort Ihrer Wahl neu erstellen und das Ergebnis als PDF exportieren. Ich kann zu beträchtlichen Kosten bekommen, was ich will. Die von David Herse eingerichtete Site https://lomotoh.com/ (ich bin NICHT mit dieser Site verbunden) funktioniert so gut wie jede andere, die ich jemals benutzt habe. Ich werde meine Ressource sein, um Webseiten mit PDFs zu versehen, bis ich sie besser finde oder es zu teuer ist, aus meinem eigenen Geldbeutel zu bezahlen.

Gordon Couger
quelle