Diskuze: Tisk ve WPF v C#
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Standartní TextBlock/TextBox a v nich data z databáze. S tím, že některé viditelnost některých Boxů závisí na datech v databázi (jsou-li data, bude viditelné x nebudou data k této položce, nebudou viditené). A pak bych chtěl tisk rozšířit i na Datagrid.
No tiskárně musíš dát víc dat než jen holý text, takže stejně z toho musíš udělat nějaký "tisknutelný" dokument .
já jsem tisk řešil pomocí knihoven pro MS Office Word - pomocí kódu jsem vytvořil normální .docx dokument, který jsem naformátovat tak, aby výstup vypadal rozumně a byl uživatelsky pěkný a poté poslal z kódu tento dokument na tisk. Dá se dosáhnout celkem pěkných výsledků
Stejně tomu výstupi musíš dát nějakou koukatelnou formu, tak můžeš použít buď nějaké reportovací nástroje ve VS, nebo CrystalReport (tam ale nevím, jak je to s licencemi), nebo použij knihovny Office k vytvoření dokumentu (třeba word), nebo pomocí nějaké knihovny vytvořit PDFko (iTextSharp, pdfsharp...)
No, o wordu jsem také uvažoval. Celkem solidně by se tvořil výsledná
šablona, to se tomu nedá upřít. Bohužel u mé aplikaci nemám stopro
jistotu, že klientský PC bude mít instalovány word. Nebo to lze i bez
něj?
Jo a případně, lze ten soubor docx vytvořit i nějak dynamicky, nebo je u
toho vzorový dokument nutný a bez něj nemohu provést tisk?
Word bych moc nedoporučoval, protože výstupy jsou s jinou verzí až nepředvídatelné. Takže pokud nemáš jistotu, že cílový uživatel má nainstalovaný Word, navíc ještě k tomu přesně stejnou verzi, pro kterou jsi to vyvíjel, tak doporučuji Word opustit. Navíc to plnění šablon je někdy až komické, když si uvědomíš, jak to ta knihovna provádí, ale to je zase jiný příběh.
Pro C# je skvělá knihovna PDFsharp. Ovšem záleží na tom, jak složité struktury chceš vykreslovat. Mám dobré zkušenosti s obrázky, texty a mírně složitějšími tabulkami, které jsem vykresloval ručně. Pokud jsi někdy ve WinFormech pracoval s Graphics, tak je to naprosto stejné. Navíc dynamika dokumentu je plně ve tvých rukou!
Pokud si ale myslíš, že si s ručním kreslením nevystačíš, existuje ještě nadstavba na tuto knihovnu a to je MigraDoc, tam už, pokud vím, nic ručně nekreslíš, ale nezkoušel jsem, takže nevím a nechci kecat...
Nicméně na těch webovkách u PDFsharp knihovny je popis, co by Tě mohl zajímat (vzhledem k požadavku):
PDFsharp is the Open Source .NET library that easily creates and processes PDF documents on the fly from any .NET language. The same drawing routines can be used to create PDF documents, draw on the screen, or send output to any printer.
U všech tisků je to víceméně podobné. Uděláš si nějakou šablonu nebo více šablon (pro každý druh výpisu jednu), aby výsledek byl "koukatelný" a ty šablony pak plníš daty, které chceš tisknout...
Zobrazeno 9 zpráv z 9.