可視化報(bào)告生成器FastReport VCL功能指南:如何在Delphi / Lazarus / C ++ Builder中將多個報(bào)告合并為一個PDF文件
報(bào)表生成器FastReport VCL是用于在軟件中集成商務(wù)智能的現(xiàn)代解決方案。它提供了可視化模板設(shè)計(jì)器,可以訪問最受歡迎的數(shù)據(jù)源,報(bào)告引擎,預(yù)覽,將過濾器導(dǎo)出為30多種格式,并可以部署到云,Web,電子郵件和打印中。
近日,F(xiàn)astReport VCL更新至v6.7,在新版本中,添加了對最新版本IDE的支持,簡化了用于付款標(biāo)準(zhǔn)的條形碼的創(chuàng)建,新增從預(yù)覽窗口直接編輯RichView的功能,同時修復(fù)了多個Bug問題。歡迎下載體驗(yàn)。(點(diǎn)擊下方按鈕下載)
通常需要將多個文檔合并為一個(例如PDF)??赡苁俏臋n,目錄目錄等幾章的內(nèi)容。嚴(yán)格來說,有時不僅需要對PDF進(jìn)行此操作,只是這種文件格式本身并不意味著沒有特殊工具就可以進(jìn)行編輯和“合并”,因此效果會更好立即正確地進(jìn)行操作。
今天,我將告訴您如何在FastReport VCL和FMX中執(zhí)行此操作。在我們的例子中,輸入將有多個報(bào)告,輸出將有一個文件。
因此,我想我們已經(jīng)有一個使用FastReport的項(xiàng)目并且模板已經(jīng)準(zhǔn)備好了。在我們的示例中,這些是本地存儲上的文件,但是沒有什么阻止從數(shù)據(jù)庫或其他某些來源獲取文件的。現(xiàn)在我們需要將兩個(或更多)報(bào)告合并為一個大文件。
為此,F(xiàn)astReport具有一些工具,使我們可以在現(xiàn)有報(bào)告之外附加新報(bào)告。TfrxReport.PrepareReport方法具有一個可選的ClearLastReport:布爾參數(shù),默認(rèn)情況下設(shè)置為True。此參數(shù)確定是否應(yīng)清除先前生成的報(bào)告的頁面。以下示例顯示了如何構(gòu)建包含兩個報(bào)告的程序包:
frxReport1。LoadFromFile ('1.fr3' ) ; frxReport1。PrepareReport ; frxReport1。LoadFromFile ('2.fr3' ) ; frxReport1。PrepareReport (False ) ; frxReport1。ShowPreparedReport ;C ++:
frxReport1 - > LoadFromFile (“1.fr3” ); frxReport1 - > PrepareReport (true); frxReport1 - > LoadFromFile (“2.fr3” ); frxReport1 - > PrepareReport (false); frxReport1 - > ShowPreparedReport ();
加載第一個報(bào)告并生成它,而不在屏幕上顯示它。然后將第二個報(bào)表加載到相同的TfrxReport對象中,并使用ClearLastReport = False參數(shù)構(gòu)建它。這會將第二個報(bào)告添加到上一個報(bào)告中。
我們可以重復(fù)兩條倒數(shù)第二行,以向復(fù)雜的綜合報(bào)告中添加更多報(bào)告。而這部分只能通過代碼實(shí)現(xiàn)。
構(gòu)建完所有內(nèi)容后,我們可以在預(yù)覽窗口中查看合并的報(bào)告,并輕松以任何格式和位置保存該文件。
將合并的報(bào)告另存為PDF。
在我們成功地將兩個報(bào)告合并為一個報(bào)告后,我們只需將其導(dǎo)出為PDF(或?qū)嶋H上為任何文件格式,例如RTF / DOC / ODT或表格格式),但是導(dǎo)出后將它們合并起來并不難與PDF相關(guān))。在這里,您可以讓用戶選擇用于保存和設(shè)置的文件格式:
單擊 預(yù)覽中的“保存”圖標(biāo)。
選擇所需的格式 – PDF。
我們可以看到“導(dǎo)出設(shè)置”窗口。
配置我們需要的一切。
我在先前的文章中更詳細(xì)地描述了來自Delphi,Lazarus和C ++ Builder代碼的各種格式的保存參數(shù)。
創(chuàng)建后,我們可以打開生成的文檔。打開文件后,我們將在一個PDF文檔中看到報(bào)告的一致顯示。合并來自Delphi,Lazarus和C ++ Builder的兩個PDF報(bào)告并不像看起來那樣困難。
還想要更多嗎?您可以點(diǎn)擊閱讀【FastReport 報(bào)表2020最新資源盤點(diǎn)】,查找需要的教程資源。如果您有任何疑問或需求,請隨時加入FastReport技術(shù)交流群(783996712),我們很高興為您提供查詢和咨詢。