Druk pod Windows - Misoft

Druk pod Windows

Z Wikipedii, wolnej encyklopedii.

Program do druku z Calisii do drukarki windows:

MisoftPrn
wymaga zainstalowania środowiska .NET 2.0 : http://www.microsoft.com/downloads
Program pracuje w trzech trybach: RASTER, GRAFICZNYM i PDF


wymagane ustawienia setapu lokalnego:
Polskie znaki: LATIN2 WIN3.1
Raporty kieruj na: ..\Spool\@ - gdy program wywołano: MisoftPrn C:\CALISIA\SPOOL\*.PRN
Rodzaj Drukarki: MISOFT
kody sterujące drukarki MISOFT: dla trybu RASTER
MISOFT
Inicjuj drukarkę - @RESET - <RASTER>
Druk gruby - @DOUBLE - < S=BOLD>
Druk gruby - <BOLD> - < S=BOLD>
Druk gruby GĘSTO - @CDOUBLE - <F=Arial,6,BOLD>
Wyłącz druk gruby - @OFF_DOUBLE - < S=NORMAL>
Wyłącz druk gruby - <NORMAL> - < S=NORMAL>
Druk ścieśniony - @CONDENS - <F=Arial,6>
Druk ścieśniony - < FONT-5> - <F=Arial,5>
Druk ścieśniony - < FONT-6> - <F=Arial,6>
Druk ścieśniony - < FONT-7> - <F=Arial,7>
Druk ścieśniony - < FONT-8> - <F=Arial,8>
Druk ścieśniony - < FONT-9> - <F=Arial,9>
Druk ścieśniony - < FONT-18> - <F=Arial,6>
Wyłącz druk ścieśniony - @OFF_CONDENS - <F=Arial,10>
Podwójna wielkość liter - @SIZE2 - <F=Arial,16>
Podwójna wielkość liter - <S2> - <F=Arial,16>
Pojedyńcza wielkość liter - @SIZE1 - <F=Arial,10>
Pojedyńcza wielkość liter - <S1> - <F=Arial,10>
Wysuw strony - @EJECT - <EJECT>
Koniec wydruku - <KONIEC> - <END>
6 linii na cal - <D6> - <D=11>
8 linii na cal - <D8> - <D=10>
12 linii na cal - <D12> - <D=9>


Uwagi:
1. Tryb RASTER dopasowany jest do standardowych definicji wydruku z wymienionymi poniżej zasadami dodatkowymi:
2. Pierwsza linia wydruku, ostatnia linia strony i ostatnia linia wydruku są liniami sterującymi.
   Linia pierwsza musi zawierać komendę @RESET. Mozna tu podać dodatkowo komendy <POZIOM> i <PODGLĄD>
3. Koniec strony oznaczamy komendą @EJECT lub <EJECT>
4. Koniec wydruku oznaczamy komendą <KONIEC>
5. Dla wydruków w trybie PDF wymagany jest plik biblioteczny PdfSharp.dll
   w katalogu w którym znajduje się MisoftPrn.exe.
   Dotyczy to również plików pdf tła wydruku.

W trybie GRAFICZNYM wiersze danych poprzedzają wiersze formatu danych.
Tak jak w trybie RASTER obowiązują zasady dotyczące pierwszej i ostatnich linii raportu.
Komendy z pierwszej linii to:
<POZIOM> - wydruk horyzontalny
<TOP=n> - górny margines strony
<BOTTOM=n> - dolny margines strony
<LEFT=n> - lewy margines strony
<RIGHT=n> - prawy margines strony
<PODGLĄD> lub <PODGLAD> lub <TEST> - uruchomi okno podglądu raportu
<RASTER> - przełącza w tryb raster
<DRUKARKA> - przed wydrukiem wywoła okno dialogowe wyboru drukarki, liczby kopii, wyboru stron itp.
<PDF> - praca w trybie PDF
Linia formatu danych może zawierać:
<GRAFIKA=nazwa pliku,xPx,yP,xSize,ySize) - plik graficzny - drukowany od pozycji (xP,yP) 
o rozmiarze xSize,ySize.
<T> - tabulacja
<F=Arial,10,B> - czcionka, rozmiar styl z zestawu: (B-BOLD, I-ITALIC, N-REGULAR, s-STRIKEOUT, U-UNDERLINE) 
<X=200> - blok podanej długości pusty - bez danych
<L=200> - blok podanej długości justowany do lewej
< P=200> - blok podanej długości justowany do prawej
<C=200> - blok podanej długości centrowany
<C=200,R> - jak wyzej lecz z wyrysowaną ramką
<C=200,R+> - jak wyżej lecz dane bedą kontynuowane w kolejnym wierszu - ramka obejmuje wiecej niż jeden wiersz
<K=210,210,210> - kolor tła - RGB


Tryb PDF
Raport musi się zaczynać znacznikiem <PDF>
W pierwszej linii umieszczamy również jak w trybie graficznym znaczniki <TOP=1>, <LEFT=10> i <Podgląd>
dodatkowo:
<READ=pit_11_2007.pdf> - nazwa pliku pdf tła wydruku
<Write=pit_11_2007_[ID].pdf> - nazwa wynikowego pliku pdf
w jednym wierszu należy podać pozycję x,y ,obszar tj. dx,dy lub kx,ky, formatowanie LCP, tekst do wpisania
uwaga 3 punkty = 1mm na papierze. mierzymy od ostatniego pozycjonowania przez <TOP> i <LEFT>
dx,dy - ilość punktów obszaru do druku - dy mierzymy od dołu czcionki do góry.
kx,ky - koniec zakresu obszaru do druku liczone od ostatniego pozycjonowania przez <TOP> i <LEFT>
L - justowanie na lewo
C - centrowanie
P - justowanie na prawo
txt= tekst do wydruku w zadanym obszarze
F=15 - rozmiar czcionki 
przykład wiersza tekstu:  x=50 kx=152 y=630 dy=15 C F=10 txt=[p86]
LINE=1 - linia w oznaczonym obszarze od x,y do dx,dy.
RECT=1 - ramka w oznaczonym obszarze od x,y do dx,dy.
przykład wiersza lini poziomej:  x=50 dx=150 y=120 dy=0 line=1
tekst, który nie zostanie dopasowany do podanego schematu danych zostanie uznany za komentarz.


wymaga zainstalowania środowiska .NET 2.0 : http://www.microsoft.com/downloads

program MisoftPrn.exe<- pobierz tu
przykłady definicji raportów i potrzebne programy (tryb graficzny i raster) pobierz tu


Przykład definicji raportu PIT-11 w trybie PDF

(...)
ECHO_ON:
<PDF><READ=pit_11_2007.pdf><Write=pit_11_2007_[ID].pdf><TOP=1><LEFT=1><Podgląd>
x=50 kx=240 y=60 dy=15 C txt=[p01]
x=150 kx=280 y=130 dy=15 C txt=[dp]
x=360 kx=490 y=130 dy=15 C txt=[dz]
---A---
x=50  kx=570 y=278 dy=15 C txt=[p06]
if([x07]=1)
x=212 y=296 txt=x
else
x=325 y=296 txt=x
endif
---B1---
if([x08]=1)
x=134 y=369 txt=x
else
x=386 y=369 txt=x
endif
x=50  kx=570 y=423 dy=40 C txt=[p09]\nRegon: [p09a] 
---B2---
<LEFT=50><TOP=445>
x=5    kx=110 y=25 dy=15 C  txt=[p10]
x=115  kx=330 y=25 dy=15 C  txt=[p11]
x=345  kx=510 y=25 dy=15 C  txt=[p12]
x=5    kx=135 y=49 dy=15 C  txt=[p13]
x=140  kx=390 y=49 dy=15 C  txt=[p14]
x=405  kx=455 y=49 dy=15 C  txt=[p15]
x=465  kx=510 y=49 dy=15 C  txt=[p16]
x=5    kx=220 y=73 dy=15 C  txt=[p17]
x=225  kx=305 y=73 dy=15 C  txt=[p18]
x=310  kx=510 y=73 dy=15 C  txt=[p19]
---C1---
<LEFT=50><TOP=565>
x=10   kx=170 y=25 dy=15 C  txt=[p20]
x=190  kx=350 y=25 dy=15 C  txt=[p21]
x=355  kx=515 y=25 dy=15 C  txt=[p22]
x=120  kx=250 y=49 dy=15 C  txt=[p23]
x=340  kx=510 y=49 dy=15 C  txt=[p24]
---C2---
<LEFT=50><TOP=638>
x=5    kx=110 y=25 dy=15 C  txt=[p25]
x=115  kx=330 y=25 dy=15 C  txt=[p26]
x=345  kx=510 y=25 dy=15 C  txt=[p27]
x=5    kx=135 y=49 dy=15 C  txt=[p28]
x=140  kx=390 y=49 dy=15 C  txt=[p29]
x=405  kx=455 y=49 dy=15 C  txt=[p30]
x=465  kx=510 y=49 dy=15 C  txt=[p31]
x=5    kx=220 y=73 dy=15 C  txt=[p32]
x=225  kx=305 y=73 dy=15 C  txt=[p33]
x=310  kx=510 y=73 dy=15 C  txt=[p34]
---D---
<LEFT=1><TOP=1>
if([p35] <= 1)
x=56 y=759 txt=x
endif
if([p35] => 2)
x=56 y=775 txt=x
endif
<EJECT>
------- druga strona ------
<LEFT=212><TOP=100>
--E--
x=20  kx=100 y=30  dy=15 P  txt=[p36]:0:2
x=105 kx=170 y=30  dy=15 P  txt=[p37]:0:2
x=175 kx=265 y=30  dy=15 P  txt=[p38]:0:2
x=270 kx=345 y=30  dy=15 P  txt=[p39]:0:0
x=20  kx=100 y=57  dy=15 P  txt=[p40]:0:2
x=20  kx=100 y=192 dy=15 P  txt=[p54]:0:2
x=105 kx=170 y=192 dy=15 P  txt=[p55]:0:2
x=175 kx=265 y=192 dy=15 P  txt=[p56]:0:2
x=270 kx=345 y=192 dy=15 P  txt=[p57]:0:0
<LEFT=390><TOP=430>
x=20 kx=160 y=30 dy=15 P  txt=[p81]:0:2
x=20 kx=160 y=55 dy=15 P  txt=[p82]:0:2
<LEFT=1><TOP=1>
---F---
bez PIT-R  x=303 y=576 txt=x
---G---
x=50  kx=152 y=630 dy=15 C F=10 txt=[p86]
x=155 kx=273 y=630 dy=15 C F=10 txt=[p87]
Personal tools