TaxSpooler - Native Unix

Καταργήθηκε Για άλλα λειτουργικά, δείτε εδώ.

  1. Ποια λειτουργικά συστήματα υποστηρίζονται
  2. Ποιές ΕΑΦΔΣΣ υποστηρίζονται
  3. Πως λειτουργεί
  4. Οδηγίες εγκατάστασης προγράμματος
  5. Οδηγίες εγκατάστασης Αδειας Χρήσης
  6. Command line tools
  7. Ιστορικό
  8. Download
  9. Appendix A - Error codes
  10. Appendix B - WEB viewer
  11. Appendix C - Ascii file protocol

Ποια λειτουργικά συστήματα υποστηρίζονται

  • SCO Unix
  • SUSE Linux
  • RedHat linux

Ποιές ΕΑΦΔΣΣ υποστηρίζονται

  • Ολες οι σειριακές, εργοστασίου Micrelec

Πως λειτουργεί

  • Η εμπορική εφαρμογή, αφού ετοιμάσει την εκτύπωση σε ένα text αρχείο, καλεί μια εντολή του συστήματος, με 2 παραμέτρους: ένα αυθαίρετο string που ουσιαστικά καθορίζει τις διάφορες παραμέτρους, και το όνομα του αρχείου προς υπογραφή.
  • Η εμπορική εφαρμογή μπορεί να πάρει πίσω το προς εκτύπωση αρχείο με ενσωματωμένη την ψηφιακή υπογραφή, είτε μόνο την ψηφιακή υπογραφή.
  • Η όλη διαδικασία μπορεί να αυτοματοποιηθεί πλήρως μέσω του Spooler, χωρίς η Εμπορική εφαρμογή να κάνει τίποτε απολύτως, εφόσον όλες οι εκτυπώσεις πάνε μέσω spooler.
  • Υποστηρίζονται Ελληνικά 437, 928, 869, 875 (EBCDIC), ΑΒΨ.
  • Παράδειγμα κλήσης: itaxunx -ialpha myfile.txt
    Το string alpha παραπέμπει στο αρχείο /etc/default/eafdss/alpha προκειμένου το σύστημα να διαβάσει διάφορες παραμέτρους, όπως πχ. σε ποιά μηχανή ΕΑΦΔΣΣ θα σταλεί η εκτύπωση, τι character set χρησιμοποιείται, κλπ.
Το αρχείο /etc/default/eafdss/alpha στο παράδειγμα παραπάνω, περιέχει τις εξής εγγραφές:
EAFDSS=Σειριακή θύρα εξόδου, πχ. /dev/ttyS1 ή TEST
FALLBACK=Εναλλακτική ΕΑΦΔΣΣ
SOURCE=437 ή 928
ESCAPE=Full pathname αρχείου escape sequences, πχ. /etc/default/eafdss/generic.esc
LOCATION=Ονομασία φυσικού χώρου, πχ. ΗΡΑΚΛΕΙΟ
INCISSUER=Full pathname αρχείου με στοιχεία εκδότη, για να συμπεριληφθούν στην σήμανση.
ENTERCOMP=Χαρακτήρες συμπίεσης υπογραφής (έναρξη), decimal αξίες χωρισμένες με κενά,
            πχ. 27 15
EXITCOMP=Χαρακτήρες συμπίεσης υπογραφής (τέλος), πχ. 18
SIGPARTS=0 ή 2: Η υπογραφή εισάγεται ολόκληρη ή σε 2 μέρη.
BATCHDATA=Full pathname αρχείου που θα περάσει με την παράμετρο -P στην εντολή
            itaxbatch (βλέπε παρακάτω) για διαχωρισμό batch.

Το αρχείο /etc/default/eafdss.conf περιέχει τις εξής εγγραφές:
EXEDIR=Path for executables
CLIENTSAVEDIR=Path φύλαξης των αρχείων της εφορίας
BACKUPSAVEDIR1=Backup Path φύλαξης
BACKUPSAVEDIR2=Backup Path φύλαξης (2o)
LICENSE=Κωδικός άδειας για την 1η ΕΑΦΔΣΣ
LICENSE=Κωδικός άδειας για την 2η ΕΑΦΔΣΣ
LICENSE=Κωδικός άδειας για την ... ΕΑΦΔΣΣ
SEPARATOR=Διαχωριστής (σειρά χαρακτήρων) για το πρόγραμμα itaxlp1
Πρίν το '=' δεν πρέπει να υπάρχουν κενά! Τα κενά μετά το '=' δεν έχουν σημασία.

Ταχύτητα σειριακής
H ταχύτητα επικοινωνίας ορίζεται αυτόματα στα 115200. Αν θέλετε να την αλλάξετε μπορείτε να ορίσετε την μεταβλητή περιβάλλοντος COMSPEED,
πχ. COMSPEED=9600

Οδηγίες εγκατάστασης προγράμματος

  1. Κατεβάστε το αρχείο eafdss.conf στον κατάλογο /etc/default
  2. Δημιουργήστε ένα κατάλογο /etc/default/eafdss
  3. Κατεβάστε τα αρχεία alpha, generic.esc, issuer.1 στον κατάλογο /etc/default/eafdss
    Τα αρχεία αυτά είναι παραδείγματα.
  4. Δημιουργήστε ένα κατάλογο /usr/tax (παράδειγμα)
  5. Κατεβάστε τα αρχεία itaxconv, itaxunx, itaxinsg, itaxsign στον κατάλογο /usr/tax (ή σε όποιον άλλον ορίσατε στο βήμα 4).
  6. Αποδώστε δικαιώματα εκτέλεσης στα αρχεία αυτά (chmod a+rx ...)
  7. Διορθώστε το αρχείο /etc/default/eafdss.conf ώστε να περιέχει την εγγραφή
    EXEDIR=/usr/tax σύμφωνα με το βήμα 4.
  8. Στο ίδιο αρχείο διορθώστε τις αξίες CLIENTSAVEDIR, BACKUPSAVEDIR1, BACKUPSAVEDIR1:
    πρέπει να ορίσετε υπαρκτούς καταλόγους.
  9. Διορθώστε το αρχείο /etc/default/eafdss/alpha ώστε να περιέχει την εγγραφή EAFDSS=TEST. Για να χρησιμοποιήσετε μια πραγματική μηχανή ΕΑΦΔΣΣ στην 1η σειριακή, μπορείτε να ορίσετε EAFDSS=/dev/ttyS0 Αφήστε το πεδίο FALLBACK κενό, ή ορίστε μια δεύτερη μηχανή ΕΑΦΔΣΣ, για την περίπτωση βλάβης της πρώτης.
  10. Διορθώστε το αρχείο /etc/default/eafdss/issuer.1 ώστε να περιέχει τα στοιχεία του εκδότη του παραστατικού. Το αρχείο αυτό είναι απλώς ένα παράδειγμα.
  11. Για να υπογράψετε ένα αρχείο myfile, από command line εκτελέστε:
    itaxunx alpha myfile
    Μετά την εκτέλεση το αρχείο θα περιέχει την ψηφιακή υπογραφή ενσωματωμένη.
  12. Το αρχείο alpha είναι ένα παράδειγμα. Μπορείτε να δημιουργήσετε όσα τέτοια αρχεία θέλετε. Το ίδιο ισχύει για τα αρχεία generic.esc, issuer.1

Οδηγίες εγκατάστασης Αδειας Χρήσης

Διορθώστε το αρχείο /etc/default/eafdss.conf ώστε να περιέχει την εγγραφή
LICENSE=Αριθμός άδειας... για την πρώτη ΕΑΦΔΣΣ που έχετε εγκαταστήσει,
LICENSE=Αριθμός άδειας... για την δεύτερη ΕΑΦΔΣΣ, κλπ.

Εναλλακτικά, θέστε:
LICENSE=31-10-2003 για να έχετε άδεια μέχρι τις 31-10-2003.

Command line tools

Τυπογραφία
  • Παράμετροι που διαχωρίζονται με το σύμβολο | (pipe) ισχύουν εναλλάξ.
  • Παράμετροι που περικλείονται σε αγκύλες [ ] είναι μη υποχρεωτικές.
High Level
  • itaxunx StringId fileIn [ fileOut ]
    itaxunx StringId ISSUE_Z
    itaxunx StringId ISSUE_Z 1
    itaxunx StringId -rZNR
    itaxunx StringId GET_MISSING_Z
    itaxunx CHECK_AB file_A | ALLFILES

    1η σύνταξη: Υπογράφει το αρχείο fileIn χρησιμοποιόντας τις παραμέτρους που ορίζονται στο αρχείο /etc/default/eafdss/StringId. Γράφει το αποτέλεσμα στο αρχείο fileOut, άν έχει ορισθεί, διαφορετικά ξαναγράφει το fileIn.

    Προηγουμένως ελέγχει αν υπάρχουν ανυπόγραφα αρχεία, οπότε και δεν υπογράφει τα αρχεία.

    2η σύνταξη: Εκδίδει Ζ για την ΕΑΦΔΣΣ που καθορίζεται από τις παραμέτρους που ορίζονται στο αρχείο /etc/default/eafdss/StringId.
    3η σύνταξη: Οπως και η περίπτωση (2), αλλά επιπλέον εκδίδει Ζ ακόμη και με υπέρβαση ημερομηνίας.
    4η σύνταξη: Recover: επανατροφοδότηση στην ΕΑΦΔΣΣ των παραστατικών του Ζ με αριθμό ZNR, ύστερα από βλάβη CMOS error. H ΕΑΦΔΣΣ καθορίζεται από τις παραμέτρους που ορίζονται στο αρχείο /etc/default/eafdss/StringId.
    Αν το ZNR είναι 0, τότε γίνεται επανατροφοδότηση των δελτίων του τελευταίου Ζ.
    5η σύνταξη: Επαναδημιουργία αρχείων Z (c.txt) για ελλείποντα. Γίνεται μόνο ανάγνωση της φορολογικής μνήμης και σώσιμο σε αρχείο. Δεν εκδίδεται εκ νέου Ζ.
    6η σύνταξη: Ελέγχει την ορθότητα του αρχείου B που αντιστοιχεί στο αρχείο Α file_A. Αν στην θέση του file_A δηλώσουμε ALLFILES, τότε ελέγχει όλα τα αρχεία A που υπάρχουν στον δίσκο.

    Επιστρέφει 0 αν όλα πήγαν καλά, ένα error code, αν υπήρξε λάθος.

    Παράδειγμα sh: itaxunx alpha ISSUE_Z; ret_code=$?; echo "RetCode=$ret_code"

  • itaxlp1 param1 param2 param3 ... StringId fileIn

    Διαχωρίζει το αρχείο fileIn σε τμήματα partN βάσει του διαχωριστή SEPARATOR=, που ορίζεται στο αρχείο /etc/default/eafdss.conf, υπογράφει το κάθε τμήμα (που τελειώνει με τον καθοριμένο διαχωριστή) χωριστά, με την εντολή
    itaxunx StringId partN
    και συνενώνει τα υπογραμμένα τμήματα σε ένα νέο αρχείο fileNew.
    Στην συνέχεια αποστέλλει το αρχείο αυτό στον spooler με την εντολή:
    lp param1 param2 param3 ... fileNew

Low Level
  • itaxconv -Iinputfile [ -Ooutfile -Ssrccodepage -Ddstcodepage -Eescape -Pcompany ]

    Μετατρέπει το inputfile που είναι σε srccodepage codepage στο outfile που είναι σε dstcodepage code page, αφού προηγουμένως αφαιρέσει τα διάφορα escape sequences, όπως περιγράφονται στο αρχείο escape και προσθέσει στην αρχή του αρχείου και τα στοιχεία εκδότη, που αναφέρονται στο αρχείο company.

    srccodepage: 437 ή 928
    dstcodepage: 437 ή 928
    escfile: αρχείο με escape sequences
    company: αρχείο με στοιχεία της εταιρίας. Πρέπει να έχει code page ίδιο με το dstcodepage

    Τυπώνει στο standard output 0 ή 1.
    Αν τυπώσει 1, σημαίνει ότι το πηγαίο τελειώνει με FF, ακόμη κι αν ακολουθούν κι άλλα byte. Στην περίπτωση αυτή το itaxinsg πρέπει να κληθεί με παράμετρο -FF.

    Παράδειγμα sh, απλή μετατροπή αρχείου από 928 σε 437, και προεπισκόπιση:
    itaxconv -IfileIn -OfileOut -S928 -D437; cat fileOut

     

  • itaxinsg -Iinputfile -Gsignature [-Ooutfile -Eescape -Ssrccodepage -Ddstcodepage -NFenterformat -XFexitformat -FF]

    Εισάγει την υπογραφή signature στο αρχείο inputfile και παράγει το αρχείο outfile. Χρησιμοποεί τα διάφορα escape sequences, όπως περιγράφονται στο αρχείο escape.

    enterformat: bytes για συμπίεση της υπογραφής: συνεχόμενοι ascii με διαχωριστή το κενό, πχ. "-NF27 15" για τους ascii 27 (esc), 15. (Επειδή περιλαμβάνεται και κενό, προσέξτε την σύνταξη με τα quotes).
    exitformat: bytes για αποσυμπίεση της υπογραφής: συνεχόμενοι ascii με διαχωριστή το κενό, πχ. -XF18 για τον ascii 18.
    -FF: βλέπε itaxconv

     

  • itaxsign i ISSUE_Z [ 0 | 1 ]
    itaxsign i filename [ 0 | 1 ]
    itaxsign i READ_SIGN | READ_Z [ x ]
    itaxsign i READ_Z [ x ]
    itaxsign i GETINFO
    itaxsign i HEADER [ file ]

    1η σύνταξη: Εκδίδει Z στην σειριακή /dev/Si ή σε όποια σειριακή καθορίζει η μεταβλητή περιβάλλοντος COMiNAME. Αν επιπλέον ακολουθεί ένα '1' λαμβάνεται Ζ ακόμη και με υπέρβαση ημερομηνίας.
    2η σύνταξη: Υπογράφει το αρχείο filename και επιστρέφει την υπογραφή στο standard output. Αν επιπλέον ακολουθεί ένα '1' τότε η διεργασία εκτελείται ως επανατροφοδότηση.
    3η σύνταξη: Με READ_SIGN, διαβάζει την ημερήσια υπογραφή υπ.αριθμ. x, ή την πιο τελευταία αν δεν δηλωθεί το x, και την επιστρέφει στο standard output.
    4η σύνταξη: Διαβάζει το υπ.αριθμ. x Ζ, ή το πιο τελευταίο αν δεν δηλωθεί το x, και το επιστρέφει στο standard output.
    5η σύνταξη: Διαβάζει πληροφορίες, και τις επιστρέφει στο standard output:
    1. Αριθμός σειράς μηχανής (11 χαρακτήρες).
    2. Στοιχεία κατασκευαστή, μοντέλου.
    3. Ημερομηνία, ώρα της μηχανής, με την μορφή ΗΗ/ΜΜ/ΕΕΕΕ ΩΩ:ΛΛ:ΔΔ
    4. Αριθμός τελευταίου εκδοθέντος Ζ, προοδευτική γενική αρίθμηση, ημερήσια αρίθμηση, εναπομένοντα δελτία μέσα στο Ζ.
    6η σύνταξη: Αν δεν δηλωθεί το αρχείο file, διαβάζει το header της μηχανής και το επιστρέφει στο standard output
    Αν δηλωθεί το αρχείο file, μεταφέρει τα περιεχόμενά του στην ΕΑΦΔΣΣ.
    Το αρχείο file, μπορεί να περιέχει μέχρι 7 γραμμές συνολικά, σε 928 character set.
    Η πρώτη γραμμή πρέπει περιέχει 6 flags, ένα για κάθε επόμενη γραμμή που ακολουθεί. Tα flags μπορούν να έχουν αξία 1,2,3,4, που σημαίνει αντίστοιχα κανονική εκτύπωση, διπλού ύψους, διπλού πλάτους, διπλού πλάτους και ύψους.
    Οι επόμενες γραμμές, είναι μία για κάθε γραμμή του header της ΕΑΦΔΣΣ.
    Αν η εκτύπωση είναι κανονική, μπορούν να περιέχουν μέχρι 32 χαρακτήρες μαζί με τα κενά, αν είναι διπλού πλάτους, μέχρι 16 χαρακτήρες.
    Το character set πρέπει να είναι Greek 928.

    Ολες οι κλήσεις επιστρέφουν:

    1. Ενα γενικό error code. Η τιμή αυτή είναι 0 αν όλα πήγαν καλά.
    2. Status (1) της μηχανής.
    3. Status (2) της μηχανής.
    4. Διάφορα δεδομένα, ανάλογα με την κλήση.

    Παράδειγμα (1) sh, έκδοση Ζ:
    COM1NAME=/dev/tty1a; export COM1NAME; itaxsign 1 ISSUE_Z; ret_code=$?; echo "Return=$ret_code"

    Παράδειγμα (2) sh, λήψη πληροφοριών:
    COM1NAME=/dev/tty1a; export COM1NAME; itaxsign 1 GETINFO; ret_code=$?; echo "Return=$ret_code"

     

  • Απλός διαχωρισμός batch, βασισμένος σε καθορσιμένο διαχωριστή

    Το παρακάτω παράδειγμα βασίζεται στον διαχωριστή ]#[ που διαχωρίζει συνεχόμενα παραστατικά.
    Στο παράδειγμα:

    • To script καλείται με μοναδική παράμετρο ένα όνομα αρχείου που θα δαιχωρίσει, πχ. src
    • Η γραμμή με τον διαχωριστή αφαιρείται από τα παραγόμενα αρχεία.
    • Τα παραγόμενα αρχεία ονομάζονται src0, src1, src2,...
    • Αν το τελευταίο παραγόμενο αρχείο είναι κενό, δεν δημιουργείται.
    • Μπορείτε να τροποποιήσετε το script σύμφωνα με τις ανάγκες σας, και μέσα από αυτό να καλέσετε το itaxunx
    • Η παράμετρος -n στην εντολή echo αφαιρεί το τελευταίο αυτόματα προστιθέμενο newline.
      Ελέξτε το λειτουργικό σας. Ενδεχομένως σε κάποια λειτουργικά να χρειάζεται η παράμετρος -c αντί για -n

            
    #!/bin/ksh
    n=0
    fout=$1$n
    echo -n "" > $fout
    while read line
    do
      sep=0
      for w in $line
      do
        if [ $w == "]#[" ]
        then
          sep=1
          break
        fi
      done
    
      if [ $sep -eq 1 ]
      then
        let n=n+1
        fout=$1$n
        echo -n "" > $fout
      else
        echo $line >> $fout
      fi
    done < $1
    n=`wc -l $fout`
    for nli in $n
    do
      if [ $nli -eq 0 ]
      then
        rm $fout
      fi
      break
    done
    
    
  • itaxbatch -Iinputfile.ext -Pbatchdatafile [-Ssrccodepage -Eescapefile]
    (Διαθέσιμο από rev.5)

    Διαχωρίζει το inputfile.ext που είναι σε srccodepage codepage σε τμήματα που ονομάζει _inputfile_(x).ext όπου το (x) έχει συνεχόμενη αρίθμηση από το 0 (0,1,2,...), σύμφωνα με τους κανόνες του batchdatafile

    Τυπώνει στο standard output τον κατάλογο των αρχείων που δημιούργησε, ένα σε κάθε γραμμή, ή τίποτα, αν δεν υπάρξει διαχωρισμός.

    Η πρώτη γραμμή του batchdatafile περιέχει δύο αριθμούς, bytes επικεφαλής και bytes ουράς.

    Κάθε μία από τις επόμενες γραμμές περιέχει τα ακόλουθα πεδία, χωρισμένα με το σύμβολο |:

    1. Λεκτικό: Είναι η λέξη ή η φράση που πρέπει να συναντήσει το πρόγραμμα για να κάνει διαχωρισμό, πχ. ΤΙΜΟΛΟΓΙΟ ΔΕΛΤΙΟ ΑΠΟΣΤΟΛΗΣ
      Το Λεκτικό πρέπει να είναι σε character set 928.
    2. Γραμμή: Αριθμός γραμμής στον οποίο συναντάται το λεκτικό.
    3. Θέση: Θέση στην γραμμή, όπου συναντάται το λεκτικό. Αν είναι 0, τότε γίνεται ανίχνευση σε οποιαδήποτε θέση της γραμμής.
    4. Υψος σελίδας: Χρησιμοποιείται για τον διαχωρισμό σελίδων, σε συνεχόμενες γραμμές χωρίς form feed. Αν υπάρχει χαρακτήρας form feed, έχει προτεραιότητα.
    5. Γραμμή, στήλη, πλάτος αριθμητή: Χρησιμοποιούνται για να αντιληφθεί η εφαρμογή, εξαιτίας της μη αλλαγής του αριθμητή, ένα πολυσέλιδο παραστατικό, και να μην το διαχωρίσει σε χωριστές σελίδες και το υπογράψει χωριστά. Αν δεν δηλωθούν τα στοιχεία αυτά, κάθε σελίδα υπογράφεται χωριστά. Αν τα περιεχόμενα παραστατικά είναι πάντα μονοσέλιδα, η ρύθμιση αυτή δεν χρειάζεται.
    6. Bytes εντοπισμού: Χρησιμοποιείται εναλλακτικά με το πεδίο Στήλη αριθμητή. Σε κάποιες εμπορικές εφαρμογές το text αρχείο που αποστέλλεται στον εκτυπωτή δεν περιέχει τον αριθμητή σε συγκεκριμένη θέση, όπως φαίνεται στην εκτύπωση, αλλά περιέχει εντολές εκτύπωσης του τύπου πήγαινε στην στήλη 57. Στο πεδίο συμπληρώνουμε ascii αξίες από bytes που προηγούνται του αριθμητή.

    Bytes επικεφαλής: Σε διάφορες batch εκτυπώσεις προηγείται μια ομάδα bytes, τα οποία χρησιμοποιούνται για να κάνουν αρχικοποίηση στον εκτυπωτή, αλλά δεν επαναλαμβάνονται σε κάθε παραστατικό. Στο πεδίο αυτό συμπληρώνουμε το πλήθος των bytes αυτών.

    Bytes τέλους: Η έννοια είναι ίδια με τα bytes επικεφαλής, αλλά αναφέρονται στο τέλος, και χρησιμοποιούνται πιθανόν για reset του εκτυπωτή (άλλες φορές για προώθηση του χαρτιού, κλπ).

    Παράδειγμα αρχείου:

    0 0
    ΤΙΜΟΛΟΓΙΟ-ΔΕΛΤΙΟ ΑΠΟΣΤΟΛΗΣ|5|0|51|18|71|7
    
Προσοχή! Χρησιμοποιόντας τις low level κλήσεις, εσείς είστε υπεύθυνος για την πραγματοποίηση διαφόρων ελέγχων, καθώς και για την δημιουργία και αποθήκευση των αρχείων που προβλέπει ο νόμος.

Ιστορικό

Προσοχή! Η σελίδα μπορεί να περιγράφει όχι μόνο τις εκδόσεις που κυκλοφόρησαν, αλλά και αυτές που αναμένονται.

Native Unix

Revision 6
  • Ελεγχος αρχείων A,B που παρήχθησαν με πραγματική ΕΑΦΔΣΣ.
Upgrade από revision 5: χρειάζεστε μόνο το αρχείο itaxunx

Revision 5
  • Διαχωρισμός batch (πολλά παραστατικά σε ένα αρχείο).
  • LICENSE=31-10-2003: παρέχει άδεια μέχρι 30/11/2003
  • Bug fix: η εντολή itaxinsg, για την παράμετρο -NF ήθελε το N Ελληνικό, με αποτέλεσμα να μην δουλεύει και η αντίστοιχη χρήση μέσω της εντολής itaxunx.
  • Bug fix: σε αρχεία που τελείωναν με χαρακτήρα αλλαγής σελίδας και μετά ακολουθούσαν κι άλλοι κενοί (μη εκτυπώσιμοι) χαρακτήρες, πχ. αλλαγή γραμμής, προώθηση χαρτιού, κλπ., η υπογραφή έμπαινε μετά την αλλαγή σελίδας (αντί πριν).

Download

Χρησιμοποιείτε πάντα την τελευταία έκδοση.
Πως θα ελέγξετε τι έκδοση έχετε ?
Εκτελέστε την εντολή itaxunx χωρίς παραμέτρους. Θα τυπώσει στην οθόνη τo version number, ή τίποτα αν έχετε την έκδοση 1.0

Appendix A - Error Codes

Decimal values
251| License expired
252| Read params (specific) failed
253| Read params (eafdss.conf) failed
254| Unsigned file(s) exist(s)

Other value| See application manual

Appendix B - WEB viewer

Ο WEB viewer σας επιτρέπει να βλέπετε τα αρχεία Α,Β,C.
  1. Για να λειτουργήσει ο WEB viewer χρειάζεστε έναν WEB server (έστω και τοπικό), με υποστήριξη PHP, πχ. Apache με PHP.
  2. Το πρόγραμμα έχει δοκιμαστεί με PHP 4.3.4, αν και πρέπει να λειτουργεί με οποιαδήποτε σειρά 4.x.x.
  3. Δημιουργείστε έναν νέο κατάλογο στον WEB server σας, πχ. http://localhost/taxspooler/
  4. Κατεβάστε τα αρχεία που αναφέρονται στο Download.
  5. Από έναν WEB browser, φορτώστε την σελίδα http://localhost/taxspooler/index.htm
    Αντίστοιχα αν φορτώνετε την σελίδα από έναν απομακρυσμένο WEB server, δοκιμάστε http://www.mycompany.com/taxspooler/index.htm
Οι παραπάνω οδηγίες για τον WEB viewer έχουν εφαρμογή και σε περιβάλλον Windows, με τον ίδιο ακριβώς τρόπο.

Appendix C - Ascii file protocol

  • Η εμπορική εφαρμογή, αφού ετοιμάσει την εκτύπωση σε ένα text αρχείο, μπορεί, αντί να καλέσει μια εντολή του συστήματος, να αφήσει απλώς το text αρχείο σε ένα προκαθορισμένο κατάλογο.
  • Ενα script που θα τρέχει συνέχεια χωρίς διακοπή, απο την έναρξη του συστήματος, θα αναλάβει στην συνέχεια να στείλει το text αρχείο για υπογραφή, και μετά για εκτύπωση, και στο τέλος να το διαγράψει.
  • Αφού ολοκληρώσετε την εγκατάσταση του προγράμματος, όπως περιγράφεται παραπάνω, δημιουργήστε το παρακάτω script, όπου σας βολεύει, και δηλώστε το στο local init. Πχ. για το σύστημά σας, αυτό μπορεί να είναι το /etc/rc.d/rc.local.

diskmon script (παράδειγμα)
#!/bin/bash
mydir=/tm2/1
mystr=alpha
myexe=/tm2/itaxunx
while true
do
  found=0
  files=`ls $mydir`
  for file1 in $files
  do
     myfile=$mydir/$file1
     if [ -f $myfile ]
     then
        # set 'found' status
        found=1 
        
        # sign and print
        $myexe $mystr $myfile
        if [ $?=0 ]
        then
          # processed o.k.:
          
          # 1) send to spool system
          lpr -P printer1 $myfile"
          
          # 2) remove file
          rm -f $myfile
        fi
     fi
  done
  if [ $found=0 ]
  then
    # no files were found; sleep some time (in seconds), to allow for hard disk relax
    sleep 2
  fi
done
mydir είναι ο κατάλογος που αφήνει η εμπορική εφαρμογή τα text αρχεία.
mystr είναι η παράμετρος StringId που περιγράφεται στην εντολή itaxunx, παραπάνω.
myexe είναι το full pathname του προγράμματος itaxunx.
printer1 είναι ο εκτυπωτής προορισμού.
Μπορείτε να διαφοροποιήσετε την εντολή lpr σύμφωνα με τις ανάγκες σας και τις προδιαγραφές του συστήματός σας.
Μπορείτε ακόμη και να αντικαταστήσετε την εντολή lpr με άλλη της επιλογής σας.

Μπορείτε να κατασκευάσετε περισσότερα scripts σαν το παραπάνω παράδειγμα, ένα για κάθε χωριστό κατάλογο που μπορεί να χρησιμοποιεί η εμπορική σας εφαρμογή, για διαφορετικό εκτυπωτή προορισμού το καθένα.