Wydruk przelewu

0

Witam...
Chciałbym wydrukować polecenie przelewu ze swojego programu i kompletnie niewiem jak mam to zrobic..Czy jest możliwość jakiegoś podstawienia obrazka w formacie png i wypełniania go..jeśli tak, to jak to mniej więcej wygląda i czego użyc??Dzieki za odpowiedź

0

lepiej xml + xstl na html i wydruk dokumnetu html

0

Niemam pojęcia jak to zrobić mozesz dac jakis przykladow jakies wskazówki??

1

Hmm. Właściwie to mogę (tak, wiem, to nie było do mnie) bo sam się kiedyś tym interesowałem ;)

Założyłem sobie nawet do zabawy tym małą stronkę. OK, linki:

To był przykład efektu działania - renderowany przez przeglądarkę.

Teraz mój wygrzebany kod (uwaga - nazwy plików są na stałe wpisane do kodu, it's not a bug) za pomocą którego coś takiego można uzyskać 'softwarowo' - na szczęście nigdy niczego nie wyrzucam ;) (ach, te error-checki...):

using System.Text;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;
using System;

namespace Transform
{
    class Program
    {
        static void Main(string[] args)
        {
            Program program = new Program();
            Console.WriteLine("Uruchanianie programu...");
            program.Transform();
        }

        private void Transform()
        {
            try
            {
                Console.WriteLine("Wczytywanie dokumentów...");
                XmlWriter writer = new XmlTextWriter("Peoples.html", Encoding.UTF8);
                XPathDocument document = new XPathDocument(new StreamReader("Peoples.xml", Encoding.GetEncoding(1250)));
                XmlReader reader = new XmlTextReader(new StreamReader("Peoples.xsl", Encoding.GetEncoding(1250)));

                Console.WriteLine("Ustawianie transformacji...");
                XslCompiledTransform transform = new XslCompiledTransform();
                transform.Load(reader);

                Console.WriteLine("Transformacja...");
                transform.Transform(document, writer);

                Console.WriteLine("Zakończono transformacje sukcesem!");
            }
            catch (FileNotFoundException e)
            {
                Console.WriteLine("\nNie znaleziono pliku: " + e.FileName + "!");
            }
            catch (UnauthorizedAccessException)
            {
                Console.WriteLine("\nUżytkownik nie ma uprawnień do używania któregoś z plików!");
            }
            catch (XsltException)
            {
                Console.WriteLine("\nPlik stylu zawiera błąd!");
            }
            catch (XmlException)
            {
                Console.WriteLine("\nPlik xml zawiera błąd!");
            }
            catch (ArgumentException)
            {
                Console.WriteLine("\nKtóryś z plików ma nieprawidłowe kodowanie!");
            }

            Console.WriteLine("\nNaciśnij dowolny klawisz...");
            Console.ReadKey();
        }
    }
}

edit:
Tak po chwili to doszedłem do wniosku że właściwie to z tego posta nic nie wynika ;)

No więc tak: przykład pokazuje transformację do tabeli w HTML, ale można zrobić dowolną transformacje. Np. tworzysz stronę "formularza", po czym sprytnie za pomocą XSL wstawiasz w odpowiednie miejsca dane z czego tam chcesz. Możliwa jest transformacja nie tylko do HTML, ale też np. do PDF.

0

Nadal nie bardzo rozumiem :( jak będę miał jakiś bardziej skomplikowany wydruk niż blankiet przelewu...niewiem nawet jakis Pit lub Nip to muszę rzeźbić cały formularz w html?? NIE MA jakiegoś sposobu żeby podstawić gotowy szablon jako tło pod raport i wypełniać pola tekstowe nałożone na niego? najlepiej jakby to było darmowe narzędzie. Męczę sie troche z Crystal Reports....

1

<_<...

IMHO sprawa jest prosta tak jak tylko możliwe - tworzysz stronę i w dowolne jej miejsce wstawiasz wartości z pliku XML. Prościej już się nie da. A przy okazji XSL to naprawdę potężne narzędzie, ma większe możliwości niż jakikolwiek wyimaginowany generator raportów.

CrystalReports to z tego co pamiętam biblioteka do zapytań do baz danych a nie wizualizacji (ale co ja tam wiem).

No, ale jak tam sobie chcesz, obrazek w tle po którym rysujesz:

Bitmap b = new Bitmap("D:\\obrazek.bmp");
Graphics g = Graphics.FromImage(b);

Font f = new Font(FontFamily.GenericMonospace, 20);
g.DrawString("tekst1", f, Brushes.Black, new PointF(50, 100));
g.DrawString("tekst2", f, Brushes.Black, new PointF(150, 100));
g.DrawString("tekst3", f, Brushes.Black, new PointF(120, 200));
g.DrawString("tekst4", f, Brushes.Black, new PointF(440, 300));
g.DrawString("tekst5", f, Brushes.Black, new PointF(120, 400));
g.DrawString("tekst6", f, Brushes.Black, new PointF(430, 700));

Prawda że piękne? :|

0

może i proste z tym xml + xsl ale nie rozumiem tego po prostu. Mam rozumieć ze idea jest taka ze np taki blankiet przelewu musze mieć wykonany w html i na to podstawiam xml? zrozumienie ulatwilby mi konkretny przyklad...gdzie mam taki np blankiet do wypelnienia...jesli masz cos takiego lub podobnego mozesz opisac dokladnie lub wyslij na maila. Bede ci bardzo wdzieczny.... [email protected] tak wielkie dzieki za to co do tej pory napisales....

0

wiedza tajemna zostala objawiona: http://w3schools.com/xsl/xsl_examples.asp

generalna idea: dane (xml) + transformacja, wizualizacja danych (xslt) = html
(oczywiscie nie tylko html musi byc wynikiem)

0

teraz już rozumiem...może i proste ale do wyświetlenia prostej tabelki (:( przynajmniej tak mi się wydaje)...bo nie wyobrażam sobie tworzyć pliku xslt w rodzaju np głupiego blankietu przelewu...chyba ze jest coś o czym niewiem i da sie to w prosty sposób wygenerować...</image>

0

znasz html i css? wiesz co mozna za ich pomoca zrobic?
wiec jaki problem napisac transfromacje tak, aby wygladalo jak chcesz?
nie twierdze ze xslt jest latwe, ale ma dosc duze mozliwosci

jesli chodzi o twoj problem, to oczywiscie mozesz miec obrazek "wzor blankietu przelewu" i wiedziec ze np. pole na tytul przelewu jest (X,Y,With,Height)=(200,150,350,200) (wystarczy paint to ustalenia tego) i w tym miejscu na obrazku wypisac jakis tekst, etc.
jakie to ma wady? ze jakis tekst moze nie zmiescic sie w dane miejsce, chyba ze przyjmiesz jakies ograniczenia dlugosci i walidacje

0

chyba jednak bede rysowal na jakims tle bo nie chodzi o blankiet przelewu (to tylko podalem przyklad)...nie mowiac juz o jakims bardziej skomplikowanym wydruku to raczej sobie z tym nie poradze....a masz moze jakis gotowy xslt cos w rodzaju takiego blankietu lub prostszego??...dzieki za odpowiedzi..

1 użytkowników online, w tym zalogowanych: 0, gości: 1