Generowanie PDF z aplikacji.

0

Witam,
Niedawno pisałem o swoich problemach z drukowaniem "symboli" w PDF przy użyciu projektu synPDF. Zauważyłem, że nie tylko mam z tym problem, nikt prawie nie podzielił się jakimiś sugestiami. Kilku znajomych stwierdziło, że ten projekt (synPDF), ma swoje wady i zrezygnowało z ich stosowania. Zadam więc pytanie trochę inaczej. Jakiemu projektowi warto się przyjrzeć i użyć ? PowerPDF dobre, ale już dość stare ponad 20lat i standard PDF1.2. Synopse synPDF niby coś się tam dzieje i nawet na format PDF1.6 ale ma problemy z fontami. Widzę, że są jeszcze takie jak Gnostice PDFToolkit VCL, Loslabs HotPDF. Ja zaś potrzebuję coś bliźniaczego do PowerPDF (sposób tworzenia stron). Może ktoś coś doradzić?
pozdrawiam

0

Tak jak Ci pisałem w poprzednim temacie FastReport ma świetny mechanizm exportu do PDF. Fakt jest płatny ale dostajesz w niedużych pieniądzach najlepsze narzędzie do raportowania do delphi jakie jest na rynku.

0

z płatnych to np. tms obsługuje tworzenie pdf: https://www.tmssoftware.com/site/tmsfnccore.asp

0

Jak używasz SQL Server to można użyć SSRS (jest też wersją Express). Dobrze to działa nawet j jakimiś dziwnymi drukarkami przemysłowymi. Usługujesz to przez wywołania http.

1

a może po prostu wirtualna drukarka PDF

1

Jeżeli chcesz skorzystać z edytora wizualnego to jest jeszcze bezpłatny Fotres report, który ma eksport do PDF

1

@Andrzej Boczko: odpowiem tu bo chyba jest to istotne dla tematu i nie nadaje się do komentarza.

Obecnie w swojej aplikacji używasz synPDF i masz problemy z kodowaniem znaków. Wnioskuję zatem, że masz jakiś tekst, który chcesz zapisać w postaci PDF. W FastReport przygotowujesz sobie raport, w którym możesz po prostu dać pole tekstowe na całą stronę. Następnie w aplikacji swojej przekazujesz tekst do tego pola w tym konkretnym raporcie i zamiast wydruk robisz eksport. Do tego masz fajny edytor graficzny do tworzenia tego raportu więc nawet laik sobie z tym poradzi. Jeżeli chcesz tylko sprawdzić czy FastReport wygeneruje Ci poprawnie PDF'a to jakiś czas temu napisałem aplikację konsolową, która z parametru bierze plik txt i konwertuje go na PDF właśnie przy użyciu fastreport. KBTxtToPDFConverter.7z

wywołanie masz KBTxtToPDFConverter.exe plik.txt

0

Panowie,

Nie chodzi o wirtualną drukarkę czy komponent konwersji. Chodzi o "interpreter wydruku" rozmieszczający wszystkie elementy na stronie. FastReport z jednym polem na całą stronę? Co niby w tym wydrukować ? CV? Takie problemy to żadne problemy. Dla przykładu weźmy sobie gazetę (a dokładniej stronę gazety). Płachta strony duża. Co by tu na tym wydrukować. Proszę zauważyć, Pierwsza strona gazety to masa różnych informacji w wielu kolumnach (nieformatowanych). W obszarach rozmieszczonych w różnych miejscach tej strony. Różne czcionki, zdjęcia. Jakie zastosowanie tu ma FastReport czy jakikolwiek inny designer tworzący szablon wydruku? Jak wszyscy wiemy do niedawna jeszcze drukowanie gazet polegało na zaprojektowaniu strony, przygotowaniu matrycy itd. Dziś tego tak się nie robi. Dlatego w pewnym momencie powstały takie narzędzia jak PowerPDF czy synPDF. By ten wydruk był w pełni konfigurowalny nieszablonowy (w pewnym stopniu - wszystko jest oparte na jakiś szablonach). PowerPDF jak wspomniałem to coś co było fajne 20 lat temu. Dziś mamy nowsze standardy i możliwości. Skupiłem się na synPDF, bo wydał mi bardzo bliźniaczy do pierwowzoru (PowerPDF) - choć nie najnowszy PDF1.6 to nadal w użyciu. Rozwiązanie ma jeden problem, który daje w kość. Kodowanie czcionek. I o ile przy standardach typu WIN1250 nie ma problemu z polskimi znakami na różnych przeglądarkach to są problemy z fontami czcionek "SYMBOL".

Jak dotąd nie udało mi się dojść do osoby, która może się wypowiedzieć w zakresie Gnostice PDFToolkit VCL czy nawet HotPDF, co było pytaniem w wątku.

Ja w zawodzie siedzę ponad 30lat i w samym FastReporcie czy CrystalReports od prawie 20. TMSy od ok 6lat. Proszę uwierzcie mi to się nie nadaje do tego problemu, no może TMSy mają powoli pojawiające się nowe podejście do mojej problematyki, ale to jeszcze trochę potrwa. Poza tym nie wszystko nadaje się pod aplikacje okienkowe, Mogą też być przydatne aplikacje konsolowe, które
też w dalszym ciągu nieźle pracują (w Linux-ach to nadal najlepsze aplikacje..;) )
Pisząc na forum zdaje sobie sprawę, że nie do wszystkich nowości docieram tak jak kiedyś i przyjąłem założenie, że młodzi maja więcej wolnej ""przestrzeni dyskowej" by gromadzić informacje o nowszych rozwiązaniach.

Także prośba jak ktoś coś wie o HotPDF to będę dźwięczny.... Gnostice PDF.... juz sam zacząłem rozkmiiniać. HotPDF ma jeden defekt, że zanim sprawdzisz to trzeba kupić. A nie chcę inwestować w coś niesprawdzonego.

Pozdrawiam Wszystkich.

1

Jako przykład podałeś PowerPDF ( https://sourceforge.net/projects/powerpdf/ ), który jest wizualnym edytorem raportów pdf. FastReport czy FortesReport są bardzo podobnymi komponentami, tylko o wiele większych możliwościach (szczegówlnie FastReport) niż PowertPDF. I strona nie musi wcale składać się z jednego bloku tekstu. Fakt, że sekcja zajmuje całą szerokość strony, ale na każdej sekcji możesz umieścić wiele pól tekstowych, obrazków i wygląd dostosujesz do tej przykładowej strony gazety - tutaj przykład wygenerowany w LazReport:
screenshot-20220303065842.png

Co do HotPDF to nie wiem, ale mam PDF Library tego producenta i działa (wykorzystuję do edycji dokumentów) - korzystam z DLL,

1

@Andrzej Boczko: no przeczytaj sam tytuł Twojego wątku oraz to co napisałeś w pierwszym poście. Zapytałeś ogólnie jak generować PDF to Ci ogólnie odpowiedzieliśmy. Teraz piszesz o jakichś gazetach (mowa o układzie) więc Ci @Paweł Dmitruk opisał jak możesz to zrobić. Piszesz, że znasz FR od 20 lat i chcesz mi wmówić, że to co potrzebujesz jest niemożliwe do zrealizowania w FastReport? Oj coś mi tu kręcisz. Jednak do sedna. Co ty tak na prawdę potrzebujesz uzyskać? W aplikacji masz "coś" ale nie podzieliłeś się z nami co to jest. Czy jest to jakiś tekst, czy może dbgrid z danymi z bazy, może jakaś grafika z tekstem, a może jakiś edytor do grafiki, może zwykły canvas? Cokolwiek by to nie było to kompletnie dla FR nie jest istotne bo możesz sobie przygotować szablon strony (FR) w zgodzie z tym co potrzebujesz zrobić odpowiedni układ, dodać pola edycyjne, zdjęcia, sekcje, strony tytułowe, nagłówki, akapity, podsumowania, sekcje podpięte do datasetów, a nawet rysować shape. Ponadto możesz ustawić JAKA MA BYĆ CZCIONKA i taka na wydruku/pdf Ci się pojawi. Następnie po prostu przekazujesz informacje z aplikacji do raportu i generujesz PDF. Widzę, że nie do końca rozumiesz co próbujemy Ci przekazać ponieważ ty znasz swój problemy i patrzysz na niego z zupełnie innej prespektywy niż my.

2

Przede wszystkim ja nie rozumiem problemu. Może podaj przykład co byś chciał zrobić a nie możesz. Ja w dość starej wersji FR rzeźbiłem co roku aktualne druki deklaracji PIT, VAT, JPK. etc. Wychodziły co do piksela takie same jak wzory druków do wzięcia w urzędzie. Jak takie coś da się złożyć to da się wszystko złożyć. Może nie mówmy o ogólnikach, ale w tym lub innym temacie niech OP przedstawi nawet ręcznie wyrysowane co chce zrobić i dlaczego nie może tego zaprogramować.

1
Andrzej Boczko napisał(a):

Panowie,

Nie chodzi o wirtualną drukarkę czy komponent konwersji. Chodzi o "interpreter wydruku" rozmieszczający wszystkie elementy na stronie. FastReport z jednym polem na całą stronę?

Nie.

Co niby w tym wydrukować ?

Wszystko co potrzebne.

CV? Takie problemy to żadne problemy.

Zaraz udowodnię, że twoje problemy to nie są problemy...
A problem jest zawsze identyczny, czyli coś pomiędzy krzesłem a klawiaturą.

Dla przykładu weźmy sobie gazetę (a dokładniej stronę gazety). Płachta strony duża. Co by tu na tym wydrukować. Proszę zauważyć, Pierwsza strona gazety to masa różnych informacji w wielu kolumnach (nieformatowanych).

Czyli w szpaltach.
Ale określenie "nieformatowanych" jest dla mnie niezrozumiałe; co to znaczy w ogóle?

W obszarach rozmieszczonych w różnych miejscach tej strony. Różne czcionki, zdjęcia.

To jakiś problem?

Jakie zastosowanie tu ma FastReport czy jakikolwiek inny designer tworzący szablon wydruku?

Tworzysz w nim definicję takiego wydruku - gotową definicję lub jako szablon wypełniany danymi, na podstawie innego kodu (np. bazy danych, ale to w sumie bez znaczenia skąd te dane).

Problem jest w tym, że zapominasz lub nie ogarniasz, że designer wydruku jest narzędziem dla klepaczy a nie narzędziem samym w sobie.
Za designerem stoi cały silnik, w którym możesz taki wydruk stworzyć z poziomu kodu. A więc dodać wszelkie obiekty do tego raportu, jakie Ci potrzebne. Ba! Możesz na nim nawet rysować z kodu co się zamarzy.
To w czym problem, skoro masz nad tym 100% kontrolę z kodu?

Jak wszyscy wiemy do niedawna jeszcze drukowanie gazet polegało na zaprojektowaniu strony, przygotowaniu matrycy itd. Dziś tego tak się nie robi. Dlatego w pewnym momencie powstały takie narzędzia jak PowerPDF czy SynPDF.

To jakaś bzdura jest... Pierwsze słyszę, żeby synPDF został stworzony do drukowania gazet.
SynPDF został stworzony do tworzenia wydruków/dokumentów w formie PDF. Kropka.

By ten wydruk był w pełni konfigurowalny nieszablonowy (w pewnym stopniu - wszystko jest oparte na jakiś szablonach). PowerPDF jak wspomniałem to coś co było fajne 20 lat temu. Dziś mamy nowsze standardy i możliwości. Skupiłem się na synPDF, bo wydał mi bardzo bliźniaczy do pierwowzoru (PowerPDF) - choć nie najnowszy PDF1.6 to nadal w użyciu. Rozwiązanie ma jeden problem, który daje w kość. Kodowanie czcionek. I o ile przy standardach typu WIN1250 nie ma problemu z polskimi znakami na różnych przeglądarkach to są problemy z fontami czcionek "SYMBOL".

Jak znam Arnaud'a Bouchez'a, to nie dotykałbym SynPDF z innym kodowaniem jak UTF8. Ale w sumie nie wiem, nie używałem.
Ale wiem, że np. FastReport pozwala na używanie eksportu FastReport do PDF opartym o SynPDF.
https://synopse.info/forum/viewtopic.php?id=781

Masz źródła, masz problem, zatem możesz poprawić...

Jak dotąd nie udało mi się dojść do osoby, która może się wypowiedzieć w zakresie Gnostice PDFToolkit VCL czy nawet HotPDF, co było pytaniem w wątku.

Ja w zawodzie siedzę ponad 30lat i w samym FastReporcie czy CrystalReports od prawie 20.

Poważnie?
I nie wiesz że można stworzyć w nim dowolny wydruk z poziomu kodu?
Hmm....

TMSy od ok 6lat. Proszę uwierzcie mi to się nie nadaje do tego problemu, no może TMSy mają powoli pojawiające się nowe podejście do mojej problematyki, ale to jeszcze trochę potrwa. Poza tym nie wszystko nadaje się pod aplikacje okienkowe, Mogą też być przydatne aplikacje konsolowe, które
też w dalszym ciągu nieźle pracują (w Linux-ach to nadal najlepsze aplikacje..;) )

OK, ale czy na pewno ZNASZ czy tylko UŻYWASZ tego co napisałeś, bo... No właśnie.

Pisząc na forum zdaje sobie sprawę, że nie do wszystkich nowości docieram tak jak kiedyś i przyjąłem założenie, że młodzi maja więcej wolnej ""przestrzeni dyskowej" by gromadzić informacje o nowszych rozwiązaniach.

Ciekawe... To chyba obszar pomyliłeś, bo w Delphi programują tylko dinozaury albo ci, którzy chcą ewentualnie muszą ;-)

0

Tak, to akurat także wiem, dlaczego tylko wszyscy są przekonani, że chodzi o brak narzędzia. Dla mnie FR czy CR nie spełnia oczekiwania. Proszę nie przekonywać mnie do czego o czym wiem. Powtarzam pytanie, które zadałem na samym początku: czy ktoś używał Gnostice PDFToolkit VCL czy Loslab HotPDF?

0

To moze wyraz to oczekiwanie bo mam wrazenie ze tego nadal nie zrobileś. W 3 zdaniach jaki masz problem.

0

@Andrzej Boczko: wrzuć tu przykładowy PDF lub chociaż zrzut ekranu z takiego PDFa

0

acr_org.pngacro_dane.pngchro_dane.png

Przykłady 3 wydruków: pierwszy zrobiony przez PowerPDF, 2 następne przez synPDF. Widać na nich też sposób "wizualizacji" znaków specjalnych. Pozostałe elementy zostały zamazane z powodów przepisów RODO. Nazwa acro_ dane widoczne w Acrobat Reader, Chro - W przeglądarce Chrome. Oczywiście jestem w stanie otrzymać wydruk widoczny na 1 załączniku w wersji z synPDF na Acrobat Readerze, ale ten widok podobnie "rozwala się" na Chromie...

0

Chyba rozumiem swój błąd. Chodzi o tytuł wątku. Nie tyle jest problem z generowaniem pdf-a co bardziej problem z pewnym jego "szczególnym przypadkiem". Ponieważ nie mam problemu z generowaniem PDFa. A tylko z konkretnym przypadkiem rozwiązania z użyciem synPDF. To wprowadziło pewnego rodzaju dezorientację i dążenie do ustalenia jaki to problem?

No cóż dziękuję wszystkim za odpowiedzi i konstruktywne podsumowania (w szczególności @wloochacz).

Ten wątek uważam za zamknięty.

Pozdrawiam serdecznie wszystkich.

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