2010-12-31 5 views
0

Hier ist, was ich tun möchte, wird geladen und drucken:Wie kann ich schreiben Sie Javascript, die eine Web-Seite zu einer Image-Datei und legen Sie die Datei in einem bestimmten Ort

  1. Legen Sie eine Webseite von einem bestimmten Standort
  2. drucken, die Web-Seite in eine jpeg, png oder andere Grafikdateiformat
  3. das Bild an einen anderen Ort hochladen oder es an eine Stelle auf meinem lokalen Netzwerk speichern

Ich weiß über window.print(), aber das scheint immer ein Druckfenster zu öffnen, und ich möchte so viel wie möglich dieser Operation stillschweigend tun.

Im Wesentlichen möchte ich in der Lage sein, eine Momentaufnahme der Webseite zu machen, so dass sie in einem Verzeichnis abgelegt werden kann, auf das von einem dieser elektronischen Bilderrahmen zugegriffen wird. Sie können entweder auf einen webbasierten Dienst oder auf ein Verzeichnis im lokalen Netzwerk zugreifen.

Vielen Dank im Voraus für Ihre Hilfe, Rben

+0

Sie können es durch Javascript nicht. Sie können dies mit einem serverseitigen Skript unter Verwendung von PHP/.Net usw. tun. – Chandu

+0

@Cybernate: Sie benötigen einen HTML-Renderer, und Sie erhalten die Cookies des Clients nicht. – SLaks

+0

Warum möchten Sie dies in Javascript tun? – SLaks

Antwort

1

Browser lassen Sie nicht "stillschweigend" drucken, denn wenn Websites verwendet würden, würden sie sie überall verwenden, um Ihren Drucker mit Spam zu überlasten. Es gibt keinen Weg (und wenn du einen gefunden hast, würden sie es so schnell wie möglich schließen). So könnten Sie entweder a) ein Browser-Plugin oder etwas Ähnliches erstellen, das Sie außerhalb der "Sandbox" des Broswer bringt, ODER, b) eine Web-Crawler-App schreiben, die die Webseite erhält, und eine andere Technik zum Rendern finden es in ein Bild (vielleicht einen programmgesteuerten Browser).

Wenn einer der beiden vielversprechend klingt, lassen Sie es mich wissen, und ich kann ausführlicher darlegen, wie Sie vorgehen müssen.

+0

Es muss kein Browser-Plugin sein. Ich war gerade auf der Suche nach einer Abkürzung, wenn es um das Rendern der Seite ging. Ich bin ziemlich praktisch mit Java und Skriptsprachen, also könnte ein Crawler besser sein. – Rben

+0

Charlie, wenn du mir mehr über deinen Crawlervorschlag erzählen könntest, würde ich es begrüßen. Was würdest du zum Rendern der Seite verwenden? – Rben

0

Sie können nicht tun, dass mit Hilfe von Javascript. wkhtmltopdf kann Ihnen helfen. Hier sind die verfügbaren Tools, um es in this SO Diskussion zu tun.

+0

Schön, danke! – Rben

+0

Sobald es eine PDF ist, muss ich es noch in eine Bilddatei konvertieren. Das ist also nahe, aber nicht ganz das, was ich brauche. Soll ich Webkit betrachten? – Rben

0

Ich habe ein Skript zusammengestellt, das ich denke, könnte genau das sein, was Sie suchen ... Screenshot Demo.

Es verwendet printElement und Feedback.js (Kann mich nicht an die Quelle erinnern) und es ermöglicht Ihnen, Screenshot der gesamten Webseite und senden Sie es entweder als eine E-Mail oder an einen Drucker.

Lassen Sie mich wissen, ob das hilft und sorry ich habe nicht auf der Seite darüber ausführliche setzen, aber ich bin zur Zeit bei der Arbeit lol