Copier image du presse papier [Résolu]

nagaD.scar 4255 Messages postés samedi 8 septembre 2007Date d'inscription 16 avril 2018 Dernière intervention - 23 oct. 2014 à 09:33 - Dernière réponse : nagaD.scar 4255 Messages postés samedi 8 septembre 2007Date d'inscription 16 avril 2018 Dernière intervention
- 23 oct. 2014 à 14:19
Bonjour à tous ,

Voilà je possède une image contenu dans mon presse papier. Je souhaiterai récupérer le contenu afin de la coller dans un fichier (image donc), cependant je ne parviens à récupérer ce contenu (à noter que si j'ouvre paint et que je fais un coller, elle se colle bien).

Je tiens à préciser aussi que c'est une appli locale, qui fonctionne en activeX (ie) et donc que j'ai tous les droits d'accès (je créé le fichier, c'est vraiment la récupération du contenu qui bloque).

Voici ma ligne qui récupère ce contenu :


var data = clipboardData.getData('Text');


si quelqu'un a une piste ... merci d'avance car la je bloque.

naga
Afficher la suite 

7 réponses

Répondre au sujet
jordane45 20602 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 23 avril 2018 Dernière intervention - 23 oct. 2014 à 09:48
0
Utile
4
Bonjour,

GetData n'autorise QUE le text...


getData method

Gets the data in the specified format from the clipboard through the dataTransfer object or the clipboardData object.
Syntax : object.getData(format)

Parameters :

format [in] Type: String
A String that specifies one of the following data format values.
Text
Gets data formatted as text.
URL
Gets data formatted as a URL.



Il faudra trouver autre chose pour les images.
par exemple :
http://codebits.glennjones.net/copypaste/pasteimagedata.htm
nagaD.scar 4255 Messages postés samedi 8 septembre 2007Date d'inscription 16 avril 2018 Dernière intervention - 23 oct. 2014 à 10:20
salut,

Merci, mais je ne parviens pas à récupérer l'objet en fait, et l'event n'existe pas sous ie ... en fait je pense qu'il faudrai que je me tourne vers un composant activx mais je ne vois pas lequel, je patauge un peu ...

naga
jordane45 20602 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 23 avril 2018 Dernière intervention - 23 oct. 2014 à 10:47
Quelle version d' IE .. ça a son importance je pense...
nagaD.scar 4255 Messages postés samedi 8 septembre 2007Date d'inscription 16 avril 2018 Dernière intervention - 23 oct. 2014 à 11:30
c'est la version 10 mais non sur le coup ca n'a pas d'importance vu que je ne vais qu'un appel externe (c'est donc l'objet en lui même qui importe ... donc il faut que je précise que je suis en net 4.5 ^^). Je suis en train de pencher sur la classe System.Windows.Clipboard , mais si d'autres pistes je suis preneur. merci.
jordane45 20602 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 23 avril 2018 Dernière intervention - 23 oct. 2014 à 12:03
Je ne comprend pas trop...
tu dis être en DOT.net 4.5 ... alors pourquoi ne pas utiliser les fonctions du press-papier du dot.net directement ??
=> Sachant que tu peux piloter ton navigateur depuis le dot.net ... pourquoi vouloir passer par du javascript ?


Je suis en train de pencher sur la classe System.Windows.Clipboard

Et pour l'utilisation du clipboard :
http://msdn.microsoft.com/fr-fr/library/system.windows.clipboard.getimage%28v=vs.110%29.aspx
Commenter la réponse de jordane45
nagaD.scar 4255 Messages postés samedi 8 septembre 2007Date d'inscription 16 avril 2018 Dernière intervention - Modifié par nagashima le 23/10/2014 à 12:54
0
Utile
non ce que je dis c'est que je veux utiliser un composant .net. Je suis à jours sur mes framewordk (je le dis simplement pour préciser). Le soucis que je rencontre c'est je m'appuie sur un composant particulier qui ne me permet pas de l'utiliser .net (même via le webBrowser, ce que je ne comprends pas mais c'est le cas).

Donc, mon composant remplissant le presse papier par l'image décrypté, la question est donc de comment copier ce contenu dans un fichier. Mon problème se situe au niveau de la lecture du presse-papier (pour une image donc). L'idée étant de m'appuyer sur un objet extérieur afin de le faire MAIS je ne trouve pas la manière de procéder afin de créer cet objet.

naga

PS : je cherche justement à inclure l'objet pour acceder à getImage depuis le javascript
Commenter la réponse de nagaD.scar
nagaD.scar 4255 Messages postés samedi 8 septembre 2007Date d'inscription 16 avril 2018 Dernière intervention - 23 oct. 2014 à 14:19
0
Utile
Alors voici la solution que j'ai mise en place :

classe c# :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.IO;

namespace ClipboardPasteImage
{
[Guid("C503138B-C771-40A3-804B-4A702F8C9D50"), ProgId("ClipboardPasteImage.pasteImageObject")]
public class pasteImageObject
{
public void getimg(string fileName)
{
System.Drawing.Image im = Clipboard.GetImage();
im.Save(fileName);
}

}
}



code html/js


<html>
<head>
<script>
var fso = null;
var netplug = null;
function toImage(destFile)
{
if(netplug == null) netplug = document.getElementById("netobj");
var data = netplug.getimg(destFile);
}
function getExtension(filename)
{
var parts = filename.split(".");
return (parts[(parts.length-1)]);
}
function LoadImage()
{
var strFileName = document.getElementById("fic").value;
var destFile = strFileName.substr(0, strFileName.lastIndexOf(".")) + ".png";
var imgplug = document.getElementById('imageplugin');
imgplug.IMAGE_URL = strFileName;
imgplug.CopyToClipboard();
toImage(destFile);
}
</script>
</head>
<body >
Fichier: <input type="text" id="fic" name="fic" /><br />
<input type="button" onclick="LoadImage();" value="Charger"/>
<object id='imageplugin' classid="CLSID:00000000-0000-0000-0000-000000000000" width='100%' height='500px'>
<param name="FM" value="98304">
</object>
<object id='netobj' classid="CLSID:C503138B-C771-40A3-804B-4A702F8C9D50" width='100%' height='500px'></object>
</body>
</html>



je m'appuie donc sur mon objet afin de sauvegarder l'image du presse papier.
A noter que le plugin "imageplugin" provient d'un tiers, que je n'ai pas la source, et qu'il a pour rôle d'afficher une image crypté dans la balise d'objet correspondant à mon objet js (imgplug)

naga
Commenter la réponse de nagaD.scar

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.