🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.xml
Article #802

Re: Drukowanie XMLi potokiem

#802
From: MiSi/o
Date: Fri, 09 Feb 2001 08:44
70 lines
3849 bytes
[posted&mailed]

Cześć;

> Mam taka potrzebe, aby wygenerowac potokowo druk 1200 faktur wraz z
> przelewami.
>
> Chce do tego uzyc XMLa z XSLem i czego tam jeszcze bede musial :))),

A po co ? Jeśli robisz wszystko w obrębie własnej aplikacji, to po co Ci
dodatkowe kroki (rdbms>xml|xsl>format wyjsciowy) ?
Nie lepiej i szybciej, przy założeniu, że masz kontrolę nad aplikacją i
danymi, zrobić (rdbms>fo.wyj) ??

Akurat to nie jest IMHO modelowe zastosowanie XML'a, zaletą może być ew.
istnienie gotowych aplikacji i XSL'i, ale przecież
wystarczy wziąć opis .rtf (opisy są różne i niespójne, ale to nie
ilustrowany magazyn... ew. ładna fakturka w Wordzie i można rtf'a po prostu
podejrzeć), można też zrobić z tego .ps i dalej wiadomo...

A najszybciej i najlepiej IMO chyba po prostu html  =]
Co do jakości - Ziemek nie ma racji, można ustawić i IE5, i Gecko tak, że
będzie drukować jak sam TeX =P (@media print etc...)
Można też ten html otworzyć w Wordo-pochodnej kontrolce, (tylko wcześniej
potestować parę razy wygląd)  i druk pójdzie już jako jego dokument.

Skomplikowany ten html też nie będzie, na oko faktura to 4 divy, jedna
tabela i piec linijek css, a przelew chyba da się w jednej tabeli zrobić.
Drukować możesz choćby spod IE - jak użyjesz page-break, to nawet seryjnie z
jednego dokumentu. 1200 może nie dać rady, więc np. w 4 porcjach i już.

Kod JS dla Mozilli czy IE, który będzie podmieniał src jakiegos frame'a czy
iframe'a na kolejny plik i robił print to jakieś 4-6 linii (przy tym IE ma
nawet zdarzenie onAfterPrint, coby tajmauty ustawić i drukarki/spoolera nie
zabić ;-] ); Java generująca jeden kobylasty hateml też zajmie niewiele
więcej, a do osobnych plików tylko FileWriter'y dojdą - wszystko w jednej
pętli fetchującej recordseta ;)

<!DOCTYPE dywagacje [
 <!ELEMENT dywagacje (#PCDATA | plonk?)*>
  <!ATTLIST dywagacje rodzaj CDATA #REQUIRED>
  <!ELEMENT plonk EMPTY>
   ]>

<!-- zeby nie bylo, ze calkiem off-topic :-P
ew. plonkować proszę zgodnie z DTD ! :-P -->

<dywagacje rodzaj="transcendentalne">

Jeśli to ma być użyte wielokrotnie, to kilka modyfikacji, kawałek JS trzeba
wygenerować jeszcze z Javy (np. lista plików)
Pakujesz to do servleta i już masz potężną aplikację klient - serwer =)

Myślę, że bez serwera i z dużymi plikami to gdzieś godzina-dwie roboty, a z
servletem i porządną kontrolą błędów (np. wrapper do IE w Delphi, pilnujący
plików i kolejki albo nawet XHTML i walidacja - plik, który się wywalił,
raczej się nie waliduje, i jednak aplikacja bedzie XML-Enabled :-P) to nie
więcej niż jeden dzień... No, z przetestowaniem druku i wyborem
programu-drukarza może ze dwa =)

A przerobienie na XML, stworzenie/dostosowanie XSL'a, processing tego do fo
? Dwa dni to zajmie pewno samo uzbieranie softu =]
</dywagacje>

Ale to już OT się robi, jakby jakieś pytania czy wątpliwości, pisz na
priva...

--
MiSi/o
<!DOCTYPE killfile [<!ELEMENT killfile EMPTY>]>
Technical Details
Message-ID: <960afi$4tb$1@news.tpi.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!warszawa.rmf.pl!news.tpi.pl!not-for-mail
References: <95bbv9$n76$1@news.tpi.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!warszawa.rmf.pl!news.tpi.pl!not-for-mail
From: "MiSi/o" <teddyb@pertus.com.pl>
Newsgroups: pl.comp.xml
Subject: Re: Drukowanie XMLi potokiem
Date: Fri, 9 Feb 2001 09:44:54 +0100
Organization: tp.internet - http://www.tpi.pl
Lines: 72
Message-ID: <960afi$4tb$1@news.tpi.pl>
References: <95bbv9$n76$1@news.tpi.pl>
NNTP-Posting-Host: fw.gate.pl
Mime-Version: 1.0
X-Trace: news.tpi.pl 981708082 5035 213.25.111.8 (9 Feb 2001 08:41:22 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: 9 Feb 2001 08:41:22 GMT
X-Newsreader: Microsoft Outlook Express 5.50.4133.2400
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit