Website rendern?

Stuff

Mitglied
Hallo Leute,

folgendens Problem: Ich möchte eine Webseite als Bild auf der Festplatte speichern. Um das zu machen, gibt es sicherlich einige Möglichkeiten, bsp. Screenshot eines Browserfensters mit Robot Klasse oder einbindung eines externen Programms, das diese Aufgabe erledigt.
Bei all diesen Lösungen, muss jedoch ein Browserfenster geöffnet sein und genau das Möchte ich nicht.
Ich will also ein Programm, das den Inhalt einer Seite rendert, aber nicht anzeigt.
Ist dies mit Java überhaupt möglich? Und wenn ja wie?
Rendering-Engines gibts ja open-source, z.B. Gecko (wird auch von Firefox verwendet). Wie ich so etwas allerdings verwende und in ein Java-Programm einbaue weiß ich absolut nicht.

-Gruß und Vielen Dank

PS.: ISt das erste mal das ich hier im Forum schreibe. Ich bin immernoch Java-lerner und lese schon seit einiger Zeit mit, und ihr habt mir bei einigen Fragen super geholfen. Dafür erstmal vielen Dank!!
 

hansmueller

Bekanntes Mitglied
Hallo,

es gibt die Klasse JEditorPane, mit der man html-Texte darstellen kann.
Allerdings kann das Teil kein Java-Script und ist meines Wissens eher rudimentär bzw. von seinen Interpretationsfähigkeiten eher sehr einfach gestrickt. Aber vielleicht reicht es ja für deine Zwecke aus.
Wegen der Imageerzeugung schau dir mal diesen Link an: JPanel zu Image @ tutorials.de: Tutorials, Forum & Hilfe

Wenn dir das JEditorPane nicht reicht, mußt du dich wohl mit einer Rendering-Engine auseinandersetzen und nach Möglichkeiten suchen, diese in Java einzubinden (evtl. gibt es da schon fertige Bibliotheken).

Da du noch Java-lerner bist (wie die meisten von uns auch, den ich behaupte mal, daß das ganze Thema Java inzwischen so groß ist, daß es da immer was Neues zu lernen gibt ;)), empfehle ich dir, erst ein Problem nach dem anderen zu lösen. D. h. zuerst schauen, daß man die html-Darstellung angezeigt bekommt und danach sich den Kopf darüber zu zerbrechen, wie man das praktisch versteckt im Hintergrund ablaufen läßt. Am besten mit kleinen Testpogrammen, die nur einen speziellen Teilaspekt (z. B. Darstellung einer html-Seite) von deinem Hauptprojekt darstellen.

MfG
hansmueller
 

Stuff

Mitglied
Jo, Danke erstmal für deine Antwort. Die JEditorPaner kenne ich bereits, und sie reicht leider nicht, JavaScript und am besten Flash sollten schon darstellbar sein.
Ich denke es wird darauf hinauslaufen, eine Render-Engine einzubinden. Ich bin zwar kein blutiger Anfänger mehr, aber ausser mit Java und ein bischen Html, hab ich mich nie intensiv mit anderen Programmiersprachen beschäftigt (OK noch mit Haskell aber das bringt mir hier nichts).
Leider weiß ich überhaupt nicht wie ich an dieses Problem, also das einbinden einer Render-Engine, rangehen soll. Das ist absolutes Neuland für mich. Aber auf jeden Fall weiß ich schonmal das dies der Weg ist.

Danke noch für die Tips mit dem Zerlegen in einzelne kleine Probleme. Die wichtigse aufgabe ist erstmal das Einbinden der Engine.

Danke und Gruß!
 

HoaX

Top Contributor
HtmlUnit rendert aber auch nicht.

Wieso speicherst du nicht einfach die HTML-Dateien usw ab? Dann kann der Nutzer die Seite rendern lassen mit was er will.
 
T

tuxedo

Gast
Kommt drauf an was man untern rendern versteht :) Audio kann man auch rendern, aber nicht sehen :)

Nach wie vor ist unklar wieso man eine Seite rendern, aber nicht anzeigen will... (weder jetzt noch später).
 

Stuff

Mitglied
Ja Sorry Leute, konnte mch ein paar Tage nicht melden. Ich möchte mehrere Websites in einer Schleife als Bild speichern. Damit man nebenher etwa anderes am gleichen PC machen kann muss der Bildschirm "frei bleiben". Deshalb kann die gerenderte Webseite nicht angezeigt und per Screenshot-capture fotografiert werden.
Ich habe noch ein bischen Google befragt und es gibt solche Programme z.B. html2jpg macht genau das. Man kann es mit der gewünschten URL als Parameter aufrufen. Das Programm läuft dann und erzeugt den Output ohne die Seite anzuzeigen (Das programm hat auch eine GUI, in der die Seite angezeigt und sogar bedient werden kann).
Im grunde genommen will ich genau so etwas, allerdings möchte ich das selbst bauen um meine Programmierkenntnisse weiter zu schulen und um weitere Funktionen einzubauen. Habt ihr eine idee wie man so ein Programm "nachbauen" könnte.

-Danke
 
Zuletzt bearbeitet:

HoaX

Top Contributor
Am einfachsten indem du einen fertigen Browser irgendwie einbindest, für gecko gibts wohl ein Javabinding. Ansonsten müsste man selbst die Seite rendern. Aber da ja sogar die großen Browser damit Probleme haben wirst du das mit 100% Sicherheit nicht schaffen.
Also am Einfachsten auf etwas fertiges und natives zurückgreifen. (Oder halt nicht als Bild speichern, sondern die HTML-Dokumente/Bilder/... einzeln).
 

muckelzwerg

Bekanntes Mitglied
Kann das nicht vielleicht sogar ein Plugin für Gecko/Firefox schaffen? Ich hab da nur begrenzte Erfahrungen, aber eigentlich ist das doch nicht viel anders, als die Webseite zu "drucken". Evtl. lässt es sich direkt aus der Funktion rausfummeln.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Java Website Stock Bot Allgemeine Java-Themen 3
K Inhalte Parsen von Website Allgemeine Java-Themen 15
torresbig Website login Problem - Jsoup, wie bisher, klappt nicht! Allgemeine Java-Themen 31
J Website mit Kundenbereich Allgemeine Java-Themen 1
E Java Website Login Allgemeine Java-Themen 2
J4n5chmiddi Methoden Website-URL im Browser öffnen nach erfolgreicher Basisauthentifizierung in Java Allgemeine Java-Themen 12
M Website Quelltext mit Java einlesen Allgemeine Java-Themen 10
H HTTP Website-Login Allgemeine Java-Themen 5
Scream_ilias Auf einer Website die anmeldedaten eingeben Allgemeine Java-Themen 9
J Hotel Zimmer Buchungen Website Allgemeine Java-Themen 4
G website programmatisch browsen Allgemeine Java-Themen 2
D Java auf Webserver Website möglich Allgemeine Java-Themen 7
A Website zur Ausnahmeliste hinzufügen (Mac) Allgemeine Java-Themen 3
Javafan01 Website in Java aufrufen Allgemeine Java-Themen 1
J Daten aus Website-Quelltext auslesen Allgemeine Java-Themen 62
Developer_X Website HTML Code von HTTPS URL laden Allgemeine Java-Themen 0
C php-Website mit Proxy aufrufen Allgemeine Java-Themen 6
L Seite einer Partner Website neu laden Allgemeine Java-Themen 1
A Erste Schritte Daten aus einer Website auslesen Allgemeine Java-Themen 7
KeVoZ_ JSoup - Website Inhalt/Element mit String vergleichen Allgemeine Java-Themen 2
K Socket SocketIO Website nicht erreichbar! :( Allgemeine Java-Themen 1
L Login auf website per Java Allgemeine Java-Themen 13
Ananaskirsche Website mit Browser-Check aufrufen Allgemeine Java-Themen 8
K Auf einer Website nach einem String suchen Allgemeine Java-Themen 5
I HTML einer Website auslesen liefert nur head Allgemeine Java-Themen 6
G Daten aus Website auslesen Allgemeine Java-Themen 7
N Input/Output Website Text auslesen und bestimmte Zeilen wiedergeben Allgemeine Java-Themen 4
S Interaktion mit einer website (website als Objekt?) Allgemeine Java-Themen 3
I Inhalt einer Website auslesen Allgemeine Java-Themen 6
K Website in Programm einbinden und auslesen Allgemeine Java-Themen 2
S Buch oder Website mit genialen Algorithmen..? Allgemeine Java-Themen 1
U mit HTMLunit auf Website einloggen - Formname nicht vorhanden Allgemeine Java-Themen 5
C HTTP OnClick auf Website in Java simulieren Allgemeine Java-Themen 2
N Input/Output Bild von WebSite laden? Allgemeine Java-Themen 3
S Website verbinden Allgemeine Java-Themen 5
K XML Quelltext Website einlesen?! Allgemeine Java-Themen 3
P Applet java 1.7 in Website einbinden ? Allgemeine Java-Themen 7
Q Website auslesen->javascriptauswahl tätigen Allgemeine Java-Themen 6
T Java in Website einbinden klappt i-wie nicht Allgemeine Java-Themen 13
N iText-Nutzung (Version 2.1.7) in kommerzieller Website Allgemeine Java-Themen 8
C Script für Website mit Objekte Ausblenden Allgemeine Java-Themen 3
C Login auf Website mit Cookies Allgemeine Java-Themen 3
E Performance website download Allgemeine Java-Themen 13
L Einloggen auf Website Allgemeine Java-Themen 7
T Website-Login via Java Allgemeine Java-Themen 22
I Irre Website-Wie macht man sowas? Allgemeine Java-Themen 6
L javaformular auf website (eingabe per email zusenden) Allgemeine Java-Themen 3
L java programm läßt sich von website nicht starten. Allgemeine Java-Themen 6
G Applikation in Website einbinden Allgemeine Java-Themen 3
T Datei auf WebSite lesen Allgemeine Java-Themen 4
P Mit Java auf einer Website einloggen Allgemeine Java-Themen 6
O website durchsuchen Allgemeine Java-Themen 9
S Shape selbst rendern..? Allgemeine Java-Themen 5
L Video rendern? Allgemeine Java-Themen 3
T eingefügter Text nach dem rendern spiegelverkehrt Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben