Często konieczne jest połączenie kilku dokumentów w jeden (na przykład PDF). Może to być kilka rozdziałów dokumentacji, katalogów itp. Mówiąc dokładniej, czasami trzeba to zrobić nie tylko dla PDF, po prostu, ten format pliku sam w sobie nie oznacza edycji i "scalania" bez specjalnych narzędzi, więc lepiej byłoby zrobić to poprawnie od razu.
Dzisiaj powiem Ci, jak zrobić to w FastReport VCL i FMX. W naszym przypadku na początku będzie kilka raportów na kocu jeden plik.
Przypuszczam, że masz już projekt zrobiony w FastReport i szablony są przygotowane. W naszym przykładzie są to pliki znajdujące się w pamięci lokalnej, ale nic nie stoi na przeszkodzie, aby pobrać je z bazy danych lub innych źródeł. Teraz musimy połączyć dwa (lub więcej) raporty w jeden duży plik.
Do tego FastReport ma narzędzia, które pozwalają nam dołączyć nowy raport oprócz istniejącego. TfrxReport.PrepareReport metoda ma jeden opcjonalny parametr ClearLastReport: Boolean, który jest ustawiony domyślnie na True. Ten parametr określa, czy strony wcześniej utworzonego raportu powinny zostać wyczyszczone. Poniższy przykładzie pokazuje, jak utworzyć zestaw dwóch raportów:
Pascal: | |
1 2 3 4 5 |
frxReport1.LoadFromFile('1.fr3'); frxReport1.PrepareReport; frxReport1.LoadFromFile('2.fr3'); frxReport1.PrepareReport(False); frxReport1.ShowPreparedReport; |
C++: | |
1 2 3 4 5 |
frxReport1->LoadFromFile("1.fr3"); frxReport1->PrepareReport(true); frxReport1->LoadFromFile("2.fr3"); frxReport1->PrepareReport(false); frxReport1->ShowPreparedReport(); |
Załaduj pierwszy raport i zbuduj go bez wyświetlania na ekranie. Następnie załaduj drugi raport do tego samego obiektu TfrxReport i skompiluj go za pomocą parametru ClearLastReport = False. Spowoduje to dodanie drugiego raportu do poprzedniego raportu.
Oczywiście możemy powtórzyć dwa przedostatnie wiersze, aby dodać więcej raportów do naszego złożonego raportu. I ta część jest możliwa tylko z kodu.
Kiedy wszystko zbudujemy, możemy zobaczyć połączone raporty w oknie podglądu i łatwo zapisać ten plik w dowolnym formacie i lokalizacji.
Zapisywanie połączonego raportu w formacie PDF.
Po połączeniu dwóch raportów w jeden, po prostu eksportujemy go do formatu PDF (a właściwie do dowolnego formatu pliku - na przykład RTF / DOC / ODT lub tabelarycznego - ale też nie jest to takie trudne, aby połączyć je po eksporcie, podczas gdy jest to istotne dla PDF). W tym miejscu można pozwolić użytkownikowi wybrać format pliku do zapisania i odpowiednich ustawień:
Kliknij ikonę Zapisz w podglądzie.
Wybierz wymagany format – PDF.
Widzimy okno Ustawienia eksportu.
Skonfiguruj wszystko, czego potrzebujemy.
Aby uzyskać więcej informacji na temat tworzenia i konfigurowania, zobacz ten artykuł:
Kliknij przycisk OK po zakończeniu!
Albo coś takiego "FrxReport1.Export (frxPDFExport1);"
W innych artykułach opisałem bardziej szczegółowo parametry zapisywania w różnych formatach z Delphi, Lazarus i C ++ Builder.
Możemy otworzyć wynikowy dokument po zmianach. Po otwarciu pliku, zobaczymy spójne wyświetlanie naszych raportów w jednym dokumencie PDF.
Połączenie dwóch raportów PDF z Delphi, Lazarus i C++ Builder nie jest tak trudne, jak mogłoby się wydawać.