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

我們可以看到“導出設置”窗口。
配置我們需要的一切。
我在先前的文章中更詳細地描述了來自Delphi,Lazarus和C ++ Builder代碼的各種格式的保存參數(shù)。
創(chuàng)建后,我們可以打開生成的文檔。打開文件后,我們將在一個PDF文檔中看到報告的一致顯示。合并來自Delphi,Lazarus和C ++ Builder的兩個PDF報告并不像看起來那樣困難。
還想要更多嗎?您可以點擊閱讀【FastReport 報表2020最新資源盤點】,查找需要的教程資源。如果您有任何疑問或需求,請隨時加入FastReport技術(shù)交流群(783996712),我們很高興為您提供查詢和咨詢。