Ρύθμιση απευθείας εκτύπωσης παραστατικού

Σκοπός:

Παρουσιάζεται η δυνατότητα ρύθμισης ώστε το Pegasus Web App να χρησιμοποιεί τους εγκατεστημένους εκτυπωτές των η/υ σας, ώστε οι εκτυπώσεις που εκτελείτε να γίνονται αυτόματα και απευθείας, χωρίς την εμφάνιση ενδιάμεσου παραθύρου.

Προϋποθέσεις:

Θα πρέπει να έχετε λάβει όλες τις πρόσφατες αναβαθμίσεις. Επίσης, θα χρειαστεί να κατεβάσετε το app [Pegasus .NET Devices] από το σύνδεσμο εδώ.

Λειτουργία:

Πλέον, θα μπορείτε να ρυθμίζετε την εφαρμογή σας ώστε οι εκτυπώσεις σας να στέλνονται απευθείας στους επιλεγμένους εκτυπωτές, χωρίς να πρέπει να χρησιμοποιήσετε το ενσωματωμένο κύκλωμα εκτύπωσης pdf του browser σας.

Η λογική στηρίζεται στη σύνδεση της επιθυμητής φόρμας εκτύπωσης με τον σχετικό εκτυπωτή που είναι εγκατεστημένος στον η/υ που εκτελείται το Pegasus Web App, καθώς και με τα τερματικά. Με αυτό τον τρόπο, εκτός από το σενάριο μας τυπικής εκτύπωσης, μια επιχείρηση μπορεί να εκτυπώνει σε διαφορετικούς εκτυπωτές ανάλογα με το χρήστη που έχει συνδεθεί.

Η επικοινωνία των εγκατεστημένων εκτυπωτών και του Pegasus Web App γίνεται μέσω ενός WebSocket Server που εκτελείται. Ο Server αυτός εγκαθίσταται στον η/υ που θα εκτελείται το Pegasus Web App και αναλαμβάνει να "ενημερώσει" την εφαρμογή Pegasus με τη λίστα των διαθέσιμων εκτυπωτών.

Βήματα:

Εγκατάσταση Pegasus .NET Devices

Θα πρέπει να εγκαταστήσετε το Pegasus .Net Devices ώστε οι εκτυπωτές του Η/Υ σας να μπορούν να επικοινωνήσουν με το Pegasus Web App. Δείτε το κείμενο Pegasus .NET Devices & Pegasus Web App - Εγκατάσταση.

Pegasus Web App: Βασικές Ρυθμίσεις

1. Στο μενού [Toolbox->Εργαλεία Παραμετροποίησης->Διαχείριση Εκτυπωτών->WebSocket Serversσυμπληρώνετε τα πεδία:

  • IP: καταχωρείτε την IP του η/υ στον οποίο εκτελείται ο WebSocket Server. Υπενθυμίζουμε ότι ο WebSocket Server αρκεί να τρέχει μόνο σε έναν η/υ στο δίκτυο.
  • Port: καταχωρείτε την θύρα με την οποία εκκινήθηκε ο WebSocket Server πχ 50063

Από το button “Έλεγχος συνδεσιμότητας” βλέπετε αν είναι δυνατή η επικοινωνία. Προσοχή! Για να μπορέσει να γίνει σύνδεση, θα πρέπει να έχετε εκτελέσει το Pegasus .NET Devices καθώς και να έχετε εκκινήσει τον WebSocket Server.

Εφόσον η σύνδεση είναι επιτυχής, κάνετε κλικ στο button "Εύρεση Ενεργών Εκτυπωτών" και ως αποτέλεσμα, οι λίστα [Ενεργοι Εκτυπωτές] γεμίζει με τους εγκατεστημένους εκτυπωτές του η/υ σας.

2. Στην επιλογή [Toolbox->Εργαλεία Παραμετροποίησης->Διαχείριση Εκτυπωτών->Ρύθμιση Εκτυπωτών], θα αντιστοιχίσετε την επιθυμητή φόρμα εκτύπωσης με τον εγκατεστημένο εκτυπωτή που θέλετε ή ακόμα και με το επιθυμητό τερματικό, καταχωρώντας τις σχετικές εγγραφές.

  • Μπορείτε να καταχωρήσετε παραπάνω από μια εγγραφές, ώστε να καλύψετε όλες τις ανάγκες της επιχείρησης. Για παράδειγμα, μπορεί να θέλετε οι χρήστες του τερματικού [Λογιστήριο] να εκτυπώνουν σε διαφορετικό εκτυπωτή σε σχέση με τους χρήστες του τερματικού [Γραφείο]
  • Στη λίστα των φορμών εκτύπωσης, θα βρείτε όλες τις φόρμες που διαθέτει η εφαρμογή σας(παραστατικά πελατών/αποδείξεις/αναφορές κ.α.)

Συνήθη προβλήματα

Errors κατά τη διαδικασία [Ελέγχου Συνδεσιμότητας]:

  • Μήνυμα Λάθους: “Ανεπιτυχής Προσπάθεια Σύνδεσης στον WebSocket Server.”
    1. Ελέγχετε ότι έχει εκκινηθεί ο server από το Pegasus .NET CnA App
    2. Ελέγχετε ότι μπορείτε να “επικοινωνήσετε” με την IP που δώσατε π.χ. εκτελώντας ένα ping
    3. Ελέγχετε οτι η πόρτα που ορίσατε δεν χρησιμοποιείται από κάποια άλλη διεργασία. Μπορείτε να το ελέγξετε, εκτελώντας στο cmd την εντολή netstat -ano | find "50063"
  • Μήνυμα Λάθους: “SecurityError: Failed to construct 'WebSocket” - Google Chrome
    1. Ορίζετε το url ws://ip:port στο flag chrome://flags/#unsafely-treat-insecure-origin-as-secure του browser. Αντικαθιστάτε την ip και port με τα πραγματικά στοιχεία

      ΠΡΟΣΟΧΗ: θα πρέπει να γίνει επανεκκίνηση του browser σας ώστε να ενεργοποιηθεί η ρύθμιση αυτή.
  • Μήνυμα Λάθους: “The operation is insecure: Code XX” - Mozilla Firefox
    1. Πηγαίνετε στο about:config του firefox βρίσκετε το network.websocket.allowInsecureFromHTTPS και το κάνετε true.

Errors κατά την απευθείας εκτύπωση:

  • "C:\Users\XXX\AppData\Local\Temp\tmpXXXX.pdf : getPageCount() error, pdf file Corrupted?"
    1. Συνήθως αυτό το σφάλμα εμφανίζεται μετά το αρχικό σφάλμα [DllOpen() error: Can't open ..\AppData\Local\Temp\PDFPrinterTmp\qpdf28.dll]. Επιβεβαιώστε ότι έχετε εγκαταστήσει το τελευταίο Microsoft Visual C++ Redistributable . Αν δεν λειτουργήσει, εγκαταστήστε την x86 ελεγμένη version από το σύνδεσμο TESAEgroup - Pegasus .NET Devices working mvc++ redist.
  • "Δεν ήταν δυνατό το Pegasus Devices να επικοινωνήσει με το Pegasus Web App. Δοκιμάστε να απενεργοποιήσετε το antivirus για να δοκιμάσετε. Θα πρέπει να γίνει whitelist το: pegasus_cloud_app/prints01_01/get_print_document.php στο firewall"
    1. Εφόσον η εγκατάσταση διαθέτει antivirus, απενεργοποιήστε το και δοκιμάστε ξανά. Αν λειτουργήσει, ελέγξτε με τον τεχνικό σας αν μπορείτε να κάνετε whitelist το συγκεκριμένο url. Σημείωση: ενδεχομένως το ζήτημα να επιμείνει αν έχετε Windows 7