2011-01-31 21 views
17

मैं एक आंतरिक Google क्रोम एक्सटेंशन विकसित कर रहा हूं जिसके लिए प्रिंटर पर वर्तमान पृष्ठ मुद्रित करने के लिए एक तरीका चाहिए। मैं डिफ़ॉल्ट प्रिंट संवाद नहीं आना चाहता (इसलिए, जावास्क्रिप्ट: window.print() प्रश्न से बाहर है)।Google क्रोम एक्सटेंशन: पृष्ठ को चुपचाप

जहां तक ​​मैं समझता हूं, यह जेएस + एचटीएमएल प्लग-इन के साथ संभव नहीं है, इसलिए मैं भी एनपीएपीआई प्लगइन (एक डमी माइम-टाइप के साथ) का उपयोग करने के लिए भी खुला हूं। और मैं केवल विंडोज मंच के लिए चिंतित हूं।

यदि संभव हो तो मैं विभिन्न हैक्स/वर्कअराउंड के लिए भी खुला हूं, हालांकि मानक समाधान अच्छा होगा।

यदि आपको लगता है कि यह संभव नहीं है, तो मुझे बताएं कि क्या आप इसके लिए लॉग इन अनुरोध जानते हैं?

कोई सुझाव/स्पष्टीकरणों का स्वागत है ..

+1

क्या आपने कभी विस्तार पूरा किया है? यह वही है जो मैं ढूंढ रहा हूं ... –

+0

नहीं, मैं चुप मुद्रण के लिए कुछ भी नहीं कर सका। :( –

उत्तर

0

विभिन्न एक्सटेंशन हैं, जो वर्तमान वेब पृष्ठ का स्नैपशॉट ले (उदाहरण के लिए this one) कर रहे हैं; आप एक एनपीएपीआई प्लगइन के माध्यम से एक प्रिंटर को छवि भेजने के लिए अनुकूलित कर सकते हैं।

+0

क्या कोई अन्य तरीका है जिसे आप स्क्रीनशॉट का उपयोग किए बिना जानते हैं/सोचते हैं? इसके अलावा, क्या आप मुझे विंडोज़ पर "प्रिंटर पर छवि भेजने" के बारे में जानकारी/लिंक प्रदान कर सकते हैं? –

+0

मैंने कुछ भी नहीं कहा स्क्रीनशॉट; मैं जिस प्लगइन से जुड़ा हुआ हूं उसे देखें। यह वास्तव में एक छवि में पृष्ठ (दृश्य से बाहर स्क्रॉल किए गए हिस्सों सहित) प्रस्तुत करता है, यह स्क्रीनशॉट नहीं लेता है। – smorgan

+0

यदि आपको मूल प्रिंटिंग कोड लिखना सीखना है विंडोज़, मैं एक नया प्रश्न पोस्ट करने का सुझाव दूंगा; यह क्रोम एक्सटेंशन और एनपीएपीआई के लिए पूरी तरह से स्पर्शपूर्ण है। – smorgan

1

चूंकि एनपीएपीआई आपको मूल सी ++ प्लगइन्स बनाने की अनुमति देता है जिसे आप किसी ऑब्जेक्ट टैग (जिसे आप किसी एक्सटेंशन से उपयोग कर सकते हैं) के माध्यम से बातचीत कर सकते हैं, जो शायद ऐसा करने का तरीका होगा।

मुश्किल बात यह है कि मुझे पृष्ठ मुद्रित करने के लिए बिट्स प्राप्त करने का एक अच्छा तरीका पता नहीं है। एकमात्र व्यक्ति जिसे मैं जानता हूं, जिसने इस तरह कुछ किया है, वास्तव में ब्राउज़र के लिए विंडो हैंडल (एनपीएपीआई के माध्यम से उपलब्ध) मिला है और उस तरह से प्रिंट करने के लिए बिट्स को तोड़ दिया है, लेकिन यह प्रिंट स्टाइलशीट या कुछ भी नहीं लेगा । आप प्रिंट संवाद को नियंत्रित करने के लिए स्वचालन घटनाओं का उपयोग करने का भी प्रयास कर सकते हैं, लेकिन मुझे नहीं पता कि यह काम करेगा या नहीं।

डिजाइन करके, ब्राउज़रों नहीं आप कुछ इस तरह करते हैं, के रूप में यह कुछ गंभीर कमजोरियों को खोलने सकता है अगर किसी भी वेबसाइट सिर्फ पुष्टि के बिना अपने प्रिंटर के लिए मुद्रण बातें शुरू कर सकता है यह बताने के लिए वैसे भी कोशिश ...

, अगर आप सी ++ के साथ ऐसा करने का एक तरीका ढूंढें, आप एनपीएपीआई प्लगइन के निर्माण को कम करने के लिए FireBreath का उपयोग कर सकते हैं।

+1

"मुश्किल बात यह है कि मुझे पृष्ठ को मुद्रित करने के लिए बिट्स प्राप्त करने के लिए एक अच्छा तरीका नहीं पता है।" <- यह हिस्सा प्लगइन स्तर की बजाय एक्सटेंशन स्तर किया जा सकता है। – smorgan

16

क्रोम (v18 +) में हमारे पास --kiosk --kiosk-printing स्विच हैं। प्रिंट प्रिंट पुष्टिकरण के बिना स्वचालित रूप से डिफ़ॉल्ट प्रिंटर पर प्रिंट कर सकते हैं।

आप इस वीडियो http://www.youtube.com/watch?v=D6UHjuvI7IE

+0

कमांड लाइन से संभव है? – dfrankow

+0

क्या ये विकल्प क्रोम: // झंडे में भी उपलब्ध होंगे? या वे केवल कमांड लाइन हैं? –

+0

क्रोम हमारे लेबल प्रिंटर के साथ अच्छी तरह से काम नहीं करता है। अगर आईई का एक समान स्विच था तो यह बहुत अच्छा होगा! –

0

मैं हाल ही में एक ऐसी ही क्षमता तलाश रहे हैं से इसे देख सकते हैं, और ऐसा लगता है जैसे कि यह काफी संभव होगा क्रोम के नए स्थानीय संदेश एपीआई का उपयोग कर।

https://developer.chrome.com/extensions/nativeMessaging

साथ सी # इस बात का उदाहरण के बहुत सारे हैं, लेकिन यहां एक बुनियादी सी # आवेदन

Native messaging from chrome extension to native host written in C#

मैं इस एक हो सकता है एहसास के साथ समस्या निवारण क्रोम स्थानीय संदेश से एक त्वरित उदाहरण है दिन देर हो चुकी है और एक डॉलर छोटा है, लेकिन अगर कोई और इस सवाल पर आता है, तो यह वह समाधान है जो मेरे लिए काम करता है। एक सी # ऐप के अंदर से, आप सीधे PrintDocument कक्षा का उपयोग कर स्थापित प्रिंटर पर प्रिंट कर सकते हैं। यदि आपको पृष्ठ छवि प्राप्त करने का कोई तरीका पता चला है, तो यह अग्निशोधन या एनपीएपीआई का उपयोग करने से कहीं अधिक आसान होगा।

संबंधित मुद्दे