Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Ježek Vít :15.10.2017 19:35

Ahoj, hledám, hledám a nenecházím. Mohl by mi někdo poradit, jak tisknout ve WFP v C# a to jiným způsobem, než pomocí "FlowDocument"? Ne že by to v něm nefungovalo, ale pořád věřím, že existuje šikovnější a propracovanější způsob tisku. Nějaké rady?

Odpovědět
15.10.2017 19:35
Nemyslím, tedy nejsem.
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Ježek Vít
ostrozan:15.10.2017 19:37

A co chceš tisknout?

 
Nahoru Odpovědět
15.10.2017 19:37
Avatar
Ježek Vít :15.10.2017 19:53

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.

Nahoru Odpovědět
15.10.2017 19:53
Nemyslím, tedy nejsem.
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Ježek Vít
ostrozan:15.10.2017 21:48

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 .

 
Nahoru Odpovědět
15.10.2017 21:48
Avatar
rdaek
Člen
Avatar
rdaek:15.10.2017 22:17

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ů ;)

Nahoru Odpovědět
15.10.2017 22:17
Důležité je udělat program blbuvzdorným... Je pravda že mi často dost vzdorují :D
Avatar
Odpovídá na Ježek Vít
Michal Štěpánek:16.10.2017 8:27

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...)

Nahoru Odpovědět
16.10.2017 8:27
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na rdaek
Ježek Vít :17.10.2017 19:07

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?

Nahoru Odpovědět
17.10.2017 19:07
Nemyslím, tedy nejsem.
Avatar
David Oczka
Tvůrce
Avatar
Odpovídá na Ježek Vít
David Oczka:17.10.2017 20:39

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.

 
Nahoru Odpovědět
17.10.2017 20:39
Avatar
Odpovídá na Ježek Vít
Michal Štěpánek:18.10.2017 8:13

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...

Nahoru Odpovědět
18.10.2017 8:13
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.