क्या कोई तरीका है कि आप Node.js में क्लिपबोर्ड पर प्रतिलिपि बना सकते हैं? कोई मॉड्यूल या विचार क्या कभी? मैं डेस्कटॉप अनुप्रयोग पर Node.js का उपयोग कर रहा हूँ। उम्मीद है कि यह साफ हो जाता है कि मैं इसे हासिल करने में सक्षम क्यों होना चाहता हूं।Node.js में क्लिपबोर्ड पर कॉपी करें?
उत्तर
एक क्लिपबोर्ड एक ऑपरेटिंग सिस्टम के लिए निहित नहीं है। यह ऑपरेटिंग सिस्टम चलने वाली किसी भी विंडो सिस्टम का निर्माण है। इसलिए यदि आप उदाहरण के लिए एक्स पर काम करना चाहते हैं, तो आपको Xlib और/या XCB से बाइंडिंग की आवश्यकता होगी। नोड के लिए एक्सलिब बाइंडिंग वास्तव में मौजूद हैं: https://github.com/mixu/nwm। हालांकि मुझे यकीन नहीं है कि यह आपको एक्स क्लिपबोर्ड तक पहुंच प्रदान करता है, आप अपना खुद का लेखन समाप्त कर सकते हैं। आपको खिड़कियों के लिए अलग-अलग बाइंडिंग की आवश्यकता होगी।
संपादित करें: आप कुछ hacky क्या करना चाहते हैं, तो आप भी xclip इस्तेमाल कर सकते हैं:
var exec = require('child_process').exec;
var getClipboard = function(func) {
exec('/usr/bin/xclip -o -selection clipboard', function(err, stdout, stderr) {
if (err || stderr) return func(err || new Error(stderr));
func(null, stdout);
});
};
getClipboard(function(err, text) {
if (err) throw err;
console.log(text);
});
मैं ऐसा करने में एक अलग एप्लिकेशन बनाकर ऐसा करने में कामयाब रहा। यह निश्चित रूप से सबसे अच्छा तरीका नहीं है, लेकिन यह काम करता है।
मैं विंडोज पर हूँ और एक VB.NET आवेदन बनाया: Node.js में फिर
Module Module1
Sub Main()
Dim text = My.Application.CommandLineArgs(0)
My.Computer.Clipboard.SetText(text)
Console.Write(text) ' will appear on stdout
End Sub
End Module
, मैं child_process.exec
इस्तेमाल किया VB.NET अनुप्रयोग चलाने के लिए, डेटा एक के रूप में पारित कॉपी करने के लिए के साथ कमांड लाइन तर्क:
require('child_process').exec(
"CopyToClipboard.exe \"test foo bar\"",
function(err, stdout, stderr) {
console.log(stdout); // to confirm the application has been run
}
);
मैक इस USECASE के लिए एक देशी कमांड लाइन pbcopy
है: लिनक्स के लिए
require('child_process').exec(
'echo "test foo bar" | pbcopy',
function(err, stdout, stderr) {
console.log(stdout); // to confirm the application has been run
}
);
एक ही कोड लेकिन pbcopy
Xclip (apt get install xclip
)
दिलचस्प! क्या आपको लगता है कि ऐसा करने के लिए एक विंडोज तरीका भी है? और मेरे प्रोग्राम में xclip को बंडल करने के बारे में क्या है क्योंकि मैं उपयोगकर्ता को xclip इंस्टॉल करने के लिए नहीं कहूंगा। – Tower
मैंने पाया कि विंडोज़ में कुछ है: 'echo fooo | clip'। अब, उपयोगकर्ता को कुछ इंस्टॉल करने के लिए बिना पूछे लिनक्स में यह कैसे है? – Tower
'echo fooo | क्लिप 'काम कर सकता है, लेकिन परिणाम में अंतिम प्रारंभिक स्ट्रिंग पर' \ n 'होगा, यह मेरी अपेक्षा से बाहर है। – LIXer
यहां एक मॉड्यूल है जोप्रदान करता है 10 और paste
कार्य: https://github.com/xavi-/node-copy-paste
जब require("copy-paste").global()
निष्पादित किया जाता है, दो वैश्विक कार्यों जोड़े जाते हैं:
> copy("hello") // Asynchronously adds "hello" to clipbroad
> Copy complete
> paste() // Synchronously returns clipboard contents
'hello'
उल्लेख अन्य जवाब में से कई की तरह, कॉपी और नोड में पेस्ट आप एक बाहरी के लिए बाहर कॉल करने की आवश्यकता करने के लिए कार्यक्रम। node-copy-paste
के मामले में, यह pbcopy/pbpaste
(ओएसएक्स के लिए), xclip
(लिनक्स के लिए), और clip
(विंडोज़ के लिए) पर कॉल करता है।
यह मॉड्यूल बहुत उपयोगी था जब मैं एक साइड प्रोजेक्ट के लिए आरईपीएल में बहुत से काम कर रहा था। कहने की जरूरत नहीं है, copy-paste
केवल एक कमांड लाइन उपयोगिता है - यह सर्वर के काम के लिए नहीं है।
यह सबसे अच्छा जवाब है। यह क्रॉस-प्लेटफ़ॉर्म है और जिस तरह से इसे करना चाहिए, वैसे ही काम करता है। – gilly3
ओएस एक्स के लिए:
function pbcopy(data) {
var proc = require('child_process').spawn('pbcopy');
proc.stdin.write(data); proc.stdin.end();
}
write()
एक बफर या एक स्ट्रिंग ले सकते हैं। एक स्ट्रिंग के लिए डिफ़ॉल्ट एन्कोडिंग utf-8 होगा।
जांच इस zeroclipboard
NPM Windows में
यह एक ब्राउज़र के लिए प्रतीत होता है, नोडजेएस डेस्कटॉप एप्लिकेशन नहीं। –
यह फ़्लैश का भी उपयोग करता है, जो एक बुरा विचार की तरह लगता है। – CallMeNorm
सबसे छोटा रास्ता zeroclipboard स्थापित:
require('child_process').spawn('clip').stdin.end(util.inspect("content_for_the_clipboard"));
चेक बाहर clipboardy
। यह आपको क्रॉस-प्लेटफॉर्म कॉपी/पेस्ट करने देता है। यह copy-paste
मॉड्यूल mentioned से दूसरे उत्तर में अधिक सक्रिय रूप से बनाए रखा गया है और यह उस मॉड्यूल के कई मुद्दों को हल करता है।
const clipboardy = require('clipboardy');
// Copy
clipboardy.writeSync('');
// Paste
clipboardy.readSync('');
यह मॉड्यूल पूरी तरह से काम करता है और अच्छी तरह से बनाए रखा जाता है। – SamVerschueren
यह "कॉपी-पेस्ट" मॉड्यूल से बेहतर है क्योंकि यह डबल बाइट वर्णों का भी समर्थन करता है। लेकिन इसमें विंडोज 32 बिट ओएस के साथ समस्या है। –
@PonmudiVN विंडोज 32-बिट समर्थन तय किया गया है: https://github.com/sindresorhus/clipboardy/commit/3be3ee6b9b9cd736623fcc8ebb1aa9e0c42371b4 –
- 1. क्लिपबोर्ड पर BufferedImage कॉपी करें
- 2. एफ # में क्लिपबोर्ड पर कैसे कॉपी करें?
- 3. Greasemonkey \ जावास्क्रिप्ट क्लिपबोर्ड बटन पर कॉपी करें
- 4. एलिस्प: क्लिपबोर्ड पर कॉपी बफर
- 5. जावास्क्रिप्ट में ब्राउज़र से क्लिपबोर्ड पर छवि कॉपी करें?
- 6. कॉपी क्रोम एक्सटेंशन में क्लिपबोर्ड में
- 7. टेक्स्टफिल्ड को ओएसएक्स क्लिपबोर्ड पर कैसे कॉपी करें?
- 8. एक्स 11 के साथ क्लिपबोर्ड पर कैसे कॉपी करें?
- 9. उबंटू> क्लिपबोर्ड कॉपी, एसएसएचके
- 10. जीडब्ल्यूटी के साथ क्लिपबोर्ड पर कैसे कॉपी करें?
- 11. TrueCrypt वॉल्यूम से क्लिपबोर्ड पर फ़ाइल कॉपी करें?
- 12. क्लिपबोर्ड आईडीई में विजुअल स्टूडियो कॉपी
- 13. क्लिपबोर्ड
- 14. क्रोम एक्सटेंशन क्लिपबोर्ड पर कॉपी छवि का समर्थन करते हैं?
- 15. क्लिपबोर्ड पर टेक्स्ट कॉपी करने के लिए प्लेटफार्म स्वतंत्र उपकरण
- 16. क्लिपबोर्ड
- 17. क्लिपबोर्ड
- 18. क्लिपबोर्ड पर कॉपी करें - एफएफ में काम नहीं कर रहा है, क्रोम
- 19. क्लिपबोर्ड पर कॉपी करें जो मोबाइल पर भी काम करता है?
- 20. क्लिपबोर्ड
- 21. विंडोज पर Emacs में क्लिपबोर्ड सामग्री को कैसे संरक्षित करें?
- 22. एक्लिप्स में क्लिपबोर्ड पर एक लाइन की प्रतिलिपि कैसे करें?
- 23. JavaFX TableView क्लिपबोर्ड पर प्रतिलिपि
- 24. सी ++ में क्लिपबोर्ड से आप कॉपी/पेस्ट कैसे करते हैं?
- 25. UIButton के माध्यम से UITextView से क्लिपबोर्ड (पेस्टबोर्ड) पर टेक्स्ट कॉपी करें?
- 26. डेल्फी 7 - क्लिपबोर्ड पर स्थानीय चर (डीबगिंग के दौरान) की सामग्री कॉपी करें
- 27. डेल्फी XE2 ऐप प्रतियां क्लिपबोर्ड पर कैप्शन
- 28. एक रजिस्टर से दूसरे में कॉपी करें
- 29. केवल क्लिपबोर्ड
- 30. निर्धारित करें कि क्लिपबोर्ड में कॉपी की गई फ़ाइल एक छवि है
क्या आपको लगता है कि आप सीधे कमांड लाइन के भीतर ऐसा कर सकते हैं? इस के लिए एक ऐप लिखना मुझे मैक, लिनक्स और विंडोज के लिए संकलित करने की जरूरत है। – Tower
@rFactor: मुझे मैक/लिनक्स के साथ कोई अनुभव नहीं है, मुझे डर है, और मुझे अंतर्निहित क्लिपबोर्ड कमांड से अवगत नहीं है। – pimvdb
विंडोज, आईआईआरसी पर एक 'क्लिप' कमांड है। –