java - सेवा को फिर से शुरू किए बिना कोल्डफ़्यूज़न में प्रिंटर कैसे पुनः लोड करें?




printing coldfusion coldfusion-9 printers (4)

नेटवर्क प्रिंटर का उपयोग करने के लिए कोल्डफ़्यूज़न को एक डोमेन खाते के तहत चलाने की आवश्यकता होती है जिसमें network resources लिए अनुमतियाँ होती हैं। localSystem विंडोज सेवा के तहत डिफ़ॉल्ट उपयोगकर्ता localSystem । इस उपयोगकर्ता खाते में आमतौर पर स्थानीय प्रणाली के लिए बहुत सारी अनुमतियाँ होती हैं लेकिन नेटवर्क पर कोई अनुमति नहीं होती है। सामान्य समाधान इस उद्देश्य के लिए एक डोमेन खाता बनाना है और फिर सेवा नियंत्रण कक्ष में उस उपयोगकर्ता के रूप में चलाने के लिए कोल्डफ़्यूज़न विंडोज सेवा सेट करना है।

मैंने हाल ही में अपने सर्वर मशीन पर एक प्रिंटर स्थापित किया है, और यह बिना किसी समस्या के तुरंत पता लगाया गया था। मैं विंडोज 7 64-बिट सिस्टम पर सीएफ 10 का उपयोग कर रहा हूं। तो निम्नलिखित कोड ने मेरे प्रिंटर को सेवा के किसी भी पुनरारंभ के बिना सूचीबद्ध किया:

<cfdump var="#GetPrinterInfo()#">

आशा है कि यह मदद करेगा।

यह मेरी मूल समझ है कि कैसे ColdFusion में उपयोग करने के लिए एक प्रिंटर उपलब्ध कराया जाए।

  1. सीएफ के तहत चल रहे खाते का उपयोग करके सीएफ चलाने वाले सर्वर में रिमोट।
  2. विंडोज़ कंट्रोल पैनल खोलें और प्रिंटर जोड़ें।
  3. CF सेवा को पुनरारंभ करें।

मेरा प्रश्न: क्या सीएफ सेवा को फिर से शुरू किए बिना प्रिंटर को फिर से लोड करने का कोई तरीका है?

यह वह समस्या है जिसका हम निवारण करने का प्रयास कर रहे हैं। सीएफ त्रुटि विस्तार:

Error: Printer \\(server)\(printerName) is not available. Available printers are: , şៈ᠘, , , , 凙ᜀᚈ, , 疠쐵䚏, , .

सीएफ सेवा को पुनरारंभ करने से यह ठीक हो जाता है लेकिन ऐसा लगता है कि यह हाल ही में बहुत बार हो रहा है। मुझे आश्चर्य हो रहा है कि प्रिंटरों को फिर से लोड करने के लिए कुछ जावा कोड हैं तो यह स्वचालित रूप से किया जा सकता है। हम CF9 का उपयोग कर रहे हैं।


हाँ, एक sudo इसे सुलझाएगा ... या, एक छोटा अंतराल के लिए सिंक्र को सेट करने वाला sysadmin (लेकिन यह CPU समय आवंटित बढ़ाएगा)।


मैंने जावा और प्रिंटर के साथ काम किया है और जैसा कि टिप्पणियों में कहा गया है कि समस्या जावा से आ सकती है। परीक्षणों से पता चला है कि जब आप एक जावा एप्लिकेशन लॉन्च करते हैं, तो यह वर्तमान प्रिंटर सूची का स्नैपशॉट लेता है और कभी भी इसे अपडेट नहीं करता है इसलिए प्रिंटर सूची को ताज़ा करने का एकमात्र तरीका एप्लिकेशन को पुनरारंभ करना है।


आप PrintOut विधि का उपयोग करके और चौथे आउटपुट फ़ाइल नाम पैरामीटर को निर्दिष्ट करते हुए, Windows 10 पीडीएफ प्रिंटर पर प्रिंट कर सकते हैं, जैसा कि निम्न उदाहरण में है:

/// <summary>
/// Convert a file to PDF using office _Document object
/// </summary>
/// <param name="InputFile">Full path and filename with extension of the file you want to convert from</param>
/// <returns></returns>
public void PrintFile(string InputFile)
{
    // convert input filename to new pdf name
    object OutputFileName = Path.Combine(
        Path.GetDirectoryName(InputFile),
        Path.GetFileNameWithoutExtension(InputFile)+".pdf"
    );


    // Set an object so there is less typing for values not needed
    object missing = System.Reflection.Missing.Value;

    // `doc` is of type `_Document`
    doc.PrintOut(
        ref missing,    // Background
        ref missing,    // Append
        ref missing,    // Range
        OutputFileName, // OutputFileName
        ref missing,    // From
        ref missing,    // To
        ref missing,    // Item
        ref missing,    // Copies
        ref missing,    // Pages
        ref missing,    // PageType
        ref missing,    // PrintToFile
        ref missing,    // Collate
        ref missing,    // ActivePrinterMacGX
        ref missing,    // ManualDuplexPrint
        ref missing,    // PrintZoomColumn
        ref missing,    // PrintZoomRow
        ref missing,    // PrintZoomPaperWidth
        ref missing,    // PrintZoomPaperHeight
    );
}

OutputFile इनपुट दस्तावेज़ का एक पूर्ण पथ स्ट्रिंग है जिसे आप कनवर्ट करना चाहते हैं, और दस्तावेज़ एक नियमित दस्तावेज़ ऑब्जेक्ट है। दस्तावेज़ के बारे में अधिक जानकारी के लिए कृपया _Document.PrintOut() लिए निम्नलिखित एमएसडीएन लिंक देखें

उदाहरण में PrintOut एक मूक प्रिंट का परिणाम देता है, जब आप inputFile में निर्दिष्ट inputFile माध्यम से प्रिंट करते हैं, जिसे मूल दस्तावेज़ के समान फ़ोल्डर में रखा जाएगा, लेकिन यह .pdf एक्सटेंशन के साथ पीडीएफ प्रारूप में होगा।





java printing coldfusion coldfusion-9 printers