Copy Paste durch Javascript

Hallo Javascript-Experten,

ich habe gerade ein schwieriges Problem. Ich möchte Copy Paste von Datein (PDF, Word, Power Point) mit Javascript durchführen. Wenn es möglich währe auch mit der Selben Formatierung (Schriftgröße, Abstand, Textverteilung eventuell auch Bilder).

Hier habe ich es bereits versucht. http://www.bestaltmed.at/2/speerder/index.php
Datein (Word und PDF) von Desktop werden durch Copy Paste gelesen.
Allerdings ist das Copy Paste mangelhaft, da oft der ausgelesene Text mit dem Original oft nicht übereinstimmt und es nicht möglich ist das Format beizubehalten.

Hat dazu jemand eine Lösung?

Lg,
Chris

Hallo Chris,

bist du sicher das Copy & Paste hier der richtige weg ist? was ist denn anwendungsfall was möchtest du erreichen.

Copy & Paste funktioniert besonders bei PDF dateien nur mangelhaft. das liegt daran das PDF keinen „lese“ richtung mitspeichert sonder jedes zeichen für sich auf der Zeichenfläche Positioniert wird. je nach Methode der Erzeugung des PDFs kann es sein das dadurch die Reihenfolge komplett. durcheinander gerät. das hat erstmal nix mit Javascript zu tun.

gruss chris

Hallo,

das ist mal so gar nicht meine Baustelle, von daher kann ich wenig helfen.

Dennoch:
Vielleicht hast du eine falsche Vorstellung, was Copy Paste heißt. Zumindest der Satz

„Datein (Word und PDF) von Desktop werden durch Copy Paste gelesen.“

wirft eher Fragen auf.

Kurz zusammengefasst:
Beliebiger Text wird markiert und kopiert (Copy). Anschließend wird am Ziel eine Stelle markiert und der zuvor kopierte Inhalt eingefügt (Paste).

Wenn das Format nun beibehalten werden soll, muss a.) das Format beim Kopieren entsprechend mit markiert werden (was mal mehr und mal weniger gelingt) und b.) das Ziel auch das Format aus der Quelle unterstützen. Zum Beispiel wird man keinen formatierten Text aus Word in einen einfachen Texteditor übertragen können, ohne dass dabei das Format verloren geht. Ganz einfach, weil der Texteditor das Ausgangsformat nicht unterstützt. Basta.

Will man Formate aus beliebigen Quellen unterstützen, dann viel Erfolg bei der Implementierung. Das sind nicht mal eben zwei Zeilen Code. Aber das war sicher auch nicht die Frage.

Wie gesagt, es ist nicht meine Baustelle. Ich kann daher nur soviel sagen, dass beide Seiten, Quelle und Ziel, das gleiche Format unterstützen müssen, damit Inhalte formatiert kopiert werden können.

Am besten suchst du nach fertigen Bibliotheken, die das für dich erledigen. Alles allein, von Grund auf, selbst zu programmieren, ist reiner Overkill.

So long.

Hallo Chris,

danke für die rasche AW.
Ich möchte diese Funktion ( http://www.bestaltmed.at/imagines/imagin.php ) mit Copy Paste erreichen.
Copy Paste scheint dafür die beste Möglichkeit zu sein.

Die Funktion ist im angeführten Link beschrieben.

Lg,
Chris

Hallo Gelignite,

Danke für die schnelle AW. Genau nach solchen Bibliotheken suche ich.
Jedoch weiß ich nicht wie ich danach suchen soll.
Außer google, wofür mir anscheinend die passenden Keywörter fehlen kommt mir nichts in Sinn.

Lg,
Chris

Hallo Chris,
ich werde aus der Beschreibung im link nicht wirklich schlau.

für mich sieht das wie eine animation aus.

sprich erst wird der gesamte text eingebledet und dann nur teile vom text eingeblendet.

mit copy & paste sehe ich da nix. dort ist keine erklärung was der nutzer wo einfügen soll.

gruss chirs

Hallo,

ich habe zwar von Javascript nicht soviel Ahnung, jedoch ist Javascript eine Clientseitige Scriptsprache. So wird also der Text bzw. das Bild im Speicher des eigenen Rechners zwischengespeichert. Doch wenn ich mich nicht irre, können nur Formate die auch auf dem eigenen Rechner bzw. dem Server vorhanden sind, auch nur zwischengespeichert und auf dem Rechner bzw. Server ausgegeben werden.
Vielleicht werden deshalb die Formate nicht weiter gegeben.

Ich habe mal mit html2pdf per php handtiert. Dort musste ich die Schriftformate, Schriftgrößen, Zeilenabstände und Tabstops für die Ausgabe vordefinieren. Doch dieses wurde auch nur auf dem Server verarbeitet.

Ich glaube nicht das man über ein normales Formular erkannt wird, welche Formate übergeben werden. Es sei denn Du nutzt ein WYSIWYG-Editor wie Tine MCE der per javascript den Text mit Formaten umwandelt und dann an Deinen Server per post weitergibt. Zumindest bei Word funktionierts.

Gruß

Hallo,

Per Javascript kann ich mir nicht vorstellen das es funktioniert.
Per php möglich. Aber da kann ich auch kein fertiges Script liefern.

Scusi, Frankie

Guten Morgen Chris,

danke für die AW.
Ich hätte bei dieser Beschreibung ja gern den ganzen Text mit den Hintergrund kopiert und diesen dann bearbeitet und wieder eingefügt, so dass anschließend nur die gewünschten Wörter angezeigt werden.

Jedoch hab ich seit langen Suchen noch immer keine Möglichkeit gefunden dieses Problem zu Lösen.
Es scheint dass es dafür keine Lsg gibt.

Lg,
Chris

Hallo Frankie,

danke für die schnelle AW.
Kannst du mir das per php möglich ein bisschen besser erklären?

Lg,
Chris

Hallo phpCod,
ich versuche aus der Schilderung schlau zu werden (die Website war nicht erreichbar).

Ich gehe davon aus, daß Du bestimmte Dateien mit ihren Anwendungen (Word, Powerpoint, Acrobat) öffnest, dann Text auswählst und diesen per „Copy“ in das Clipboard kopierst.

Dann willst Du auf einer Webseite diese Inhalte aus dem Clipboard auslesen und anzeigen.

Beim Kopieren(Copy) konvertieren die Anwendungen den gewählten Inhalt häufig in mehrere Formate und stellen diese parallel in das Clipboard. (In manchen Anwendungen kann man das per Bearbeiten->Inhalte einfügen sehen)

Die Zielanwendung für „Paste“ muß dann das jeweilige Format welches es beherrscht abrufen. Ein Browser versteht üblicherweise nur reinen Text oder text mit html. Andere Formate wie RTF oder gar binäre Dateiformate (Word, Powerpoint) müßten selbst „entschlüsselt“ werden. Teilweise gibt es dazu Module in verschiedenen Sprachen (z.B. PHP) aber kaum in Javascript selbst.

Der direkte Zugriff von Javascript auf das Clipboard ist meines Wissens (mag mich irren) von Browser zu Browser unterschiedlich. Auch gibt es teils Sicherheitsbeschränkungen. (Meist aber nur in umgekehrter Richtung).

Hier mal eine Doku vom Firefox zum Thema:
https://developer.mozilla.org/en-US/docs/Using_the_C…

Hier noch ein Link zum Thema Cross-Browser:
http://stackoverflow.com/questions/2176861/javascrip…

Paste von HTML-Text wird zum Beispiel vom Editor „TinyMCE“ erkannt. Evtl. ist das eine hilfreiche Vorlage.

Generell ist eine verlustfreie Übertragung von formatierten Inhalten aus WORD oder Powerpoint per Clipboard ein großes Vorhaben. Eventuell klappt ein Senden der gesamten Datei per POST an den Server wo dann eine Anwendung (z.B. PHP oder Perl) mit einem hoffentlich passendem Modul das Format bestmöglich in HTML oder SVG umsetzt. Eventuell kann auch GoogleDocs mit der Anzeige bestimmter Formate helfen.

Das sind meine Kenntnisse zum Thema, da mag es große Lücken geben. :wink:

Viel Erfolg mit Deinem Projekt sagt IchSchwarzAlles

Hi,

da ist es mit einem kurzem php Tip nicht getan.
Am besten verwendest Du eine bestehende Klasse z.B. http://www.phpclasses.org/package/6155-PHP-Extract-t…
und passt dann das Ergebnis an.

CU Fr@nkie
The Truth Is Out There… ;o)

Mir auch nicht.

Die Suche nach „copy paste javascript“ scheint aber zu zeigen, dass es zwar ein häufig nachgefragtes Feature ist, eine brauchbare Lösung aber bisher eher nicht gelungen.

Ein Problem ist wohl, dass das Kopieren anwendungsübergreifend funktionieren muss und da bleiben nur wenige Möglichkeiten. Es wird daher eher ein Programm sein müssen, das auf dem System selbst läuft, also z.B. der Browser (über Plugins), nicht aber das darin laufende Javascript.

Mit Javascript aus dem Browser auszubrechen, dürfte sich - wegen des damit verbundenen Sicherheitsrisikos - ohnehin als eher schwieriges Unterfangen herausstellen. Javascript läuft nicht grundlos in einer Sandbox.

Am besten wird es sein, nach Webseiten zu suchen, die eine „in die Zwischenablage kopieren“ Funktion haben und den Quelltext dieser Seiten anzuschauen. Mit etwas Glück findet sich der Quellcode im lesbaren Zustand, der dann als Vorlage für eigene Entwicklungen dienen kann (Copyright beachten).

Ob man damit letztlich auch das Format kopieren kann, ich weiß es nicht.

Viel Erfolg.

Bist Du sicher, dass Du das mit Javascript machen willst? Das geht nämlich meines Wissens nicht - das wird ja immer als „Vorteil“ von Javasript gehandelt, dass man damit keine Daten manipulieren kann.

Mit PHP kenne ich mich nicht aus - aber damit ginge es wohl eher.

Viel Erfolg bei der weiteren Suche.

Hallo Chris,
ich kann Dir leider nicht weiterhelfen.

VG, Frank