999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于水晶報表的查收查引報告自動生成的設計與實現

2017-05-18 19:45:02闞洪海趙杰
現代情報 2017年4期

闞洪海+趙杰

〔摘要〕PDF文檔具有跨媒體、跨平臺、安全性等特點,適合作為查收查引報告的保存格式。本文以山東大學圖書館的查收查引報告為例,在分析了報告模板的格式特點的基礎上,利用水晶報表實現了PDF格式報告的自動生成,并詳細介紹了分報表的制作及合并、封面頁報表的制作、附件頁報表的制作這3個關鍵步驟。

〔關鍵詞〕水晶報表;查收查引;自動生成;PDF

DOI:10.3969/j.issn.1008-0821.2017.04.020

〔中圖分類號〕G250.7;TP393〔文獻標識碼〕A〔文章編號〕1008-0821(2017)04-0129-05

Design and Implementation of Automatical Generation of Database

Retrieving and Database Processing Reports Based on Crystal ReportsKan Honghai1Zhao Jie2

(1.Library,Shandong University at Weihai,Weihai 264209,China;

2.Library,Shandong University,Jinan 250100,China)

〔Abstract〕PDF documents have the characteristics of cross media,cross platform and high security,so they are suitable for the save format of database retrieving and database processing reports.This paper took Shandong University librarys database retrieving and database processing reports as an example,and based on the analysis of the characteristics of the report template format,it realized the automatical generation of database retrieving and database processing reports in PDF format by using crystal reports.This paper then introduced in detail the three key steps of making and merging the page-break reports,making the cover page reports,and making the attachment page reports.

〔Key words〕crystal reports;database retrieving and data processing;automatical generation;PDF

查收查引服務又稱論文收錄引用服務、代查代檢服務,主要是通過作者姓名、單位、文獻篇名、期刊名稱及卷期、會議名稱等字段,檢索委托人或委托單位的論文被國內外權威數據庫收錄以及引用情況,并出具紙質的檢索證明[1]。高校圖書館大都擁有國內外各類權威數據庫的使用權限,查收查引服務已成為高校圖書館信息檢索工作的一項重要內容。

查收查引服務是工作量大、重復度高的勞動,為提高工作效率、規范報告格式,很多高校圖書館和科研單位自主開發了相關的自動化系統,比較典型的有清華大學研發的代查代檢服務系統[2]、中國科學院軟件研究所研發的科技文獻查收查引報告自動生成系統[3]、北京郵電大學圖書館研發的關于科技查新的WEB在線服務系統[4]。這些系統實現了查收查引工作的網上提交、檢索員網上錄入檢索結果、費用管理等自動化流程,中國科學院研發的系統還實現了被引和他引的自動識別。這些系統最后都能夠自動導出報告,但都沒有介紹導出報告的格式和技術細節。

山東大學在設計自己的查收查引系統時,綜合比較分析了當前各種主流文檔格式的特點,最后認為PDF文檔具有跨媒體、跨平臺、安全等特點[5],適合作為查收查引報告的最終輸出格式。利用水晶報表軟件自動在線生成PDF格式的查收查引報告,不僅提高了工作效率、保證了報告格式的一致性,又提高了圖書館存檔文件的規范化和標準化。

1報告格式分析及實現難點

1.1查收查引報告格式分析

如圖1所示,山東大學圖書館出具的查收查引報告都由統一的模板生成,保證了報告格式的統一性和內容的完整性。報告的內容及格式特點主要有:

1)報告內容分為3部分:封面、附件一、附件二,每部分都有獨立的格式。封面只有1頁,附件一和附件二如果內容過長會有多頁,但附件一和附件二頁腳的頁碼都是獨立編號,都從1開始,如附件二第1頁頁腳顯示為“(附件二)第1頁,共1頁”。

2)封面左上角是當前報告的編號信息,如“檢索編號:JS120170001”。本檢索編號同時出現在附件一和附件二的頁眉位置,附件一和附件二的頁眉信息對應是“教育部科技查新工作站Z06山東大學圖書館檢索編號JS120170001”。

3)封面主體部分顯示委托人、委托單位、檢索內容、檢索數據庫、檢索結果,底部顯示檢索人、檢索單位、檢索日期。

4)附件一顯示被檢文獻列表。橫線下“委托人發表文章的收錄情況列表”是頁眉的一部分。被檢文獻列表按照索引數據庫分組顯示,如本示例中,先顯示“以下為張三論文被SCI-E收錄情況”,跟著是3篇SCI-E文章,再后面是分組二“以下為張三論文被Ei Compendex收錄情況”。每組的文章都從1開始單獨編號。

5)附件二是檢索到SCI-E文章所發表期刊的JCR詳細指標信息。主體部分按“期刊/年代”逐條顯示,表頭顯示期刊名、ISSN、參考年、參考年影響因子,然后以表格形式列出了期刊指定年份的各類影響因子指標。如果被檢文獻沒有被SCI-E收錄,報告就沒有附件二,只有封面和附件一。

1.2自動生成PDF報告的技術關鍵點分析

根據以上分析,山東大學的查收查引報告,雖然內容繁多、格式嚴格,但又有一定的規律性。根據格式上的規律特點,應用計算機軟件自動生成PDF報告是可行的。以下是幾個需要重點解決的技術關鍵點:

1)封面只有1頁,顯示內容的位置相對固定。而附件二和附件三隨著內容增加會有很多頁,而且有著不同于封面的頁眉和頁腳。如何設計模板同時生成這3類內容的頁面,是需要首先解決的難題。

2)封面主體部分主要顯示委托人、委托單位、檢索內容、檢索數據庫、檢索結果。如果檢索內容的詳細內容過長就會自動換行,導致下面檢索數據庫標題和內容的位置也需要跟著下移。同理,如果檢索數據庫內容過長出現換行,也會導致后面檢索結果位置下移。如何檢測內容過長會出現換行,并定位下面行的顯示坐標,也是本系統的難點。

3)附件內容的生成。附件一先按索引數據庫分組,然后分篇顯示被檢文獻詳細內容。附件二按“期刊/年代”逐項顯示,以表格形式顯示期刊某一參考年份的影響因子指標。嚴格的格式要求,給設計報表模板帶來不小的技術難度。

2系統的總體設計

2.1運行環境及系統架構

考慮到檢索員眾多、檢索員辦公地點分散、系統升級維護方便、檢索報告便于統一存檔管理等因素,山東大學的查收查引報告管理系統采用B/S架構(即瀏覽器/服務器模式),檢索員和委托人通過客戶端電腦安裝的瀏覽器直接訪問系統,實現各類操作。

為提高整個系統的擴展性、可維護性和健壯性,在設計軟件框架時我們采用了流行的三層架構體系,將整個軟件系統分為表現層、業務層、數據層[6]。如圖2所示,自動生成PDF報告模塊位于中間的業務層。操作員通過表現層界面調用PDF報告生成模塊,生成模塊通過數據層的數據訪問適配器從數據庫里調用已保存好的委托人姓名、檢索結論、檢索文章列表等信息,自動在服務器上生成PDF格式的查收查引報告文檔,并歸檔保存在服務器上指定目錄下。檢索員打印報告時,根據系統生成的加密鏈接從服務器上調取查收查引報告,報告調取到客戶機緩存后可以打開預覽,確認無誤后打印交付給委托人。

2.2報表生成軟件的選擇

為了簡化部署、提高系統的擴展性,本系統采用Visual Studio 2012作為開發平臺,C#作為開發語言,Sql Server 2008作為后臺數據庫。在報表軟件的選擇上,本系統最終選用了水晶報表來實現PDF格式查收查引報告的自動生成,主要考慮到水晶報表有以下優點:

1)水晶報表是業內最專業、功能最強的報表系統。它不僅具有強大的報表功能,還實現了與絕大多數流行開發工具的集成和接口,特別是Visual Studio[7]。本系統使用的Crystal Report 13.0.5版本,可以很好地集成到開發環境Visual Studio 2012內,具有強大、高效、集成等優勢。

2)水晶報表提供了強大的報表設計工具Crystal Report Designer,具有數據可視化和分析功能。在數據控制方面,提供了拉模式(Pull Model)和推模式(Push Model)兩種方式[8]。拉模式是由水晶報表模板(引擎)直接從數據庫里拉取數據,可以用來顯示報告編號、檢索人、檢索日期等固定信息;推模式由應用程序從數據庫獲取數據,經過數據處理后再把數據推送給水晶報表引擎,可以用來分組顯示檢索文章列表等這些復雜的內容。

3)水晶報表能夠穩定、高效、動態地將報表導出成為.pdf、.doc、xls、html、rtf等多種格式。本系統借助水晶報表將查收查引報告導出為PDF格式的文檔,并保存在服務器上。

3水晶報表在線生成PDF格式報告的關鍵技術

3.1報表模板的設計及打印

在報表開發工作中,首先要確定報表的種類和格式,然后針對性的制作一個報表模板,模板主要包含要打印的數據和顯示格式。如前面所述,查收查引報告的內容包含封面、附件一和附件二這三部分內容,這三部分在內容、格式、顯示數據上差別很大。要想在一個報表模板上顯示這三部分,實現起來難度很大。

為解決這一難題,本系統開發時創建了3個水晶報表模板文件cover.rpt、attachment1.rpt、attachment2.rpt,分別 用來生成封面、附件一、附件二。程序運行時3個報表模板文件在服務器上分別生成3個臨時的PDF文件,最后再把這3個文件合并成一個最終的查收查引報告文件。通過水晶報表模板文件cover.rpt在服務器上生成報告封面的PDF文件的核心代碼如下,生成附件一和附件二PDF文件的過程和生成封面的代碼類似。

ReportDocument oRpt=new ReportDocument();

string strPath=Server.MapPath(″\\CrystalReport\\cover.rpt″);

oRpt.Load(strPath);

CrystalDecisions.Shared.DiskFileDestinationOptions crFileOptions=new CrystalDecisions.Shared.DiskFileDestinationOptions();

string fileName=DateTime.Now.ToString(″s″)+″cover.pdf″;

string fileFullName=HttpContext.Current.Server.MapPath(″~/PdfFolder/temp/″)+fileName;

crFileOptions.DiskFileName=fileFullName;

oRpt.ExportOptions.DestinationOptions=crFileOptions;

oRpt.ExportOptions.ExportDestinationType=ExportDestinationType.DiskFile;

oRpt.ExportOptions.ExportFormatType=ExportFormatType.PortableDocFormat;

oRpt.Export();

3個文檔都生成后,最后需要合并成一個PDF文件。合并時,先在服務器上建立一個空的PDF文件,然后依次打開封面、附件一、附件二這3個文件,把3個文件內的頁面分別按順序導入到新建立的空PDF文件內。附件二的頁面導入到新建立PDF文件內的核心代碼如下:

3.2封面頁水晶報表模板的制作

在Visual Studio 2012設計器內,添加報表模板文件cover.rpt,如圖3所示。頁眉顯示項、證明編號標題、檢索證明等固定顯示項,通過從工具欄拖動Text Object控件到模板指定位置添加,并設置控件Text屬性為顯示內容。證明編號、檢索人、檢索日期等這些每篇報告都顯示不一樣的地方,也用類似的方法添加Text Object控件,控件的賦值可以采用拉模式直接從數據庫里拉取數據,也可以在程序代碼里通過控件名稱直接賦值,給顯示證明編號的文本控件txtPdfNo在程序里賦值時的核心代碼如下:

∥臨時表dtList內保存了當前查收查引記錄的申請人、編號等基本信息

txtPdfNo.Text=dtList.Rows[0][″PDFNO″].ToString();

封面主體部分顯示委托人、委托單位、檢索內容、檢索數據庫、檢索結果。如果采用Text Object控件顯示各項的標題和內容,模板設計時各項的顯示坐標是固定的,不會隨著內容的換行自動調整。為解決這一難點,本系統在數據庫里建立數據表RetrievePMain,列標題和內部初始數據如表1所示。

在“字段資源管理器”的“數據庫字段”上按右鍵,選擇“數據庫專家”,建創建新連接,從OLE DB(ADO)下選擇Microsoft OLE DB Provider for Sql Server,一步步操作,最后選擇表RetrievePMain。最后回到“字段資源管理器”界面,將字段Title和Cont分別拖到Cover.rpt模板文件Section3(Details)節內,并調整顯示位置和顯示格式,實現顯示數據的綁定[9]。數據庫內,Cont字段內容是空的,沒有保存數據,數據在打印時由程序根據要顯示的具體報告在臨時表dtPMain內動態生成。核心代碼如下:

3.3附件頁水晶報表模板的制作

附件一用來分組打印被檢文獻列表,打印時先按照被收錄數據庫分組,報表設計界面如圖4所示。設計時和前面設計封面模板的步驟相似,先在字段管理器內將表RetrievePList加載進來。然后在空白位置點右鍵,彈出窗口內選擇Report-Group Export,打開分組設計向導,將表RetrievePList的INDEXGNAME字段添加到右邊選擇框內,實現打印列表按照收錄數據庫名分組[10]。最后將被檢文獻序號ID和文獻內容DETAILS拖到報表設計器Section3(Details)節內,并調整位置和顯示格式。

附件一顯示格式和內容都有嚴格要求,數據庫內直接拉取的數據不能完全滿足顯示要求,因此需要采用推模式顯示被引文獻列表,具體步驟和封面主體內容生成步驟類似,先將數據加載到臨時表dtArticle,然后根據顯示要求修改dtArticle內的數據,最后綁定報表模板輸出。表dtArticle的INDEXGNAME字段表示文獻顯示時的組標題,代碼處理時逐行遍歷表dtArticle內記錄,按照要求修改INDEXGNAME的值,核心代碼如下:

代碼內strAuthorName表示委托人姓名,dtArticle.Rows[i][″INDEXNAME″].ToString()表示當前文獻被索引數據庫的名稱,如本例第一篇文獻的INDEXGNAME會賦值成“以下為張三淪為被SCI-E收錄情況:”。

附件二用來顯示SCI-E收錄文獻的期刊的詳細影響因子列表。報表設計時直接采用拉模式綁定數據表RetrievePIF,然后拖動要顯示的字段到報表設計器上。

4結語

本文開發的基于水晶報表的查收查引報告自動生成系統,已經正式應用到山東大學的查收查引管理系統。經過1年多的使用,系統運行穩定,并根據檢索員的使用建議不斷優化。經過對比測試,檢索員錄入數據由系統在線自動生成PDF文檔,與檢索員將數據拷貝到WORD模板內排版并生成PDF文檔相比較,采用系統能平均節省2/3以上的時間。而且,采用系統自動生成PDF報告,具有準確度高、格式統一、自動在服務器集中存檔等優點。本系統基于水晶報表自動生成PDF格式文檔,也可以應用到查新報告工作中,根據輸入項自動生成PDF格式的查新報告。

同時我們也能發現,最終報告的格式和顯示的內容,直接依賴制作的報表模板文件。顯示信息項、顯示格式、及輔助的表格線等信息都固定在報表模板上,難以靈活變動和增刪。這一不足制約了后期報告格式的修改,更不利于在其它檢索單位推廣。如何進一步開發本系統,允許用戶根據本單位查收查引報告的格式要求,通過圖形化界面自定義報表模板,靈活修改報表模板顯示的信息項、顯示格式、顯示位置等內容,是值得進一步研究的地方。

參考文獻

[1]梁紅妮,胡小飛.論文查收查引服務的分析與探討[J].情報理論與實踐,2009,(4):96-99.

[2]戰玉華,程愛平,錢俊雯,等.代檢代查服務系統的開發及應用[J].圖書情報工作,2005,(11):75-77,55.

[3]王學勤,郝丹,鄭菲,等.“查收查引報告自動生成系統”應用實踐研究[J].圖書情報工作,2014,(16):131-137.

[4]侯瑞芳,陳嘉勇,周婕.查收查引服務優化體系的構建與思考[J].圖書館建設,2015,(4):75-79.

[5]胡榮磊,左良,蔣華.PDF版式文檔在電子簽章系統中的應用與實現[J].信息技術,2016,(4):64-68.

[6]密君英.基于三層架構的ASP.NET項目實戰教程[M].北京:中國電力出版社,2011:8-10.

[7]百度百科.水晶報表[EB/OL].http:∥baike.baidu.com/link?url=C-T6BSTtmtHqt-LRCcuStNJmoSz89gmSX8vAZinxIUTEtrdz CF0heXnOoW2MNL-H8HpmnFXuXrTc6ohRNoW5Fk2Ru2Rrg87eC6o uWgqnEZrn-ia3Rb9G4dC4gMaIQ,2017-01-23.

[8]叢鳳俠,楊玉強.通用水晶報表平臺關鍵技術研究[J].計算機技術與發展,2013,(6):219-222,226.

[9]王華杰,李律松,孫一波.精通C#數據庫開發[M].北京:清華大學出版社,2004:107-108.

[10]郭琦.Visual Basic數據庫系統開發技術[M].北京:人民郵電出版社,2003:221-222.

主站蜘蛛池模板: 国产av无码日韩av无码网站| 国产日本一区二区三区| 丝袜亚洲综合| 久久精品人妻中文视频| 狼友av永久网站免费观看| 欧美黄色a| 国产精品爽爽va在线无码观看| 精品少妇人妻av无码久久| 久久亚洲美女精品国产精品| 亚洲人成网站色7777| 蜜桃视频一区二区| 婷婷午夜天| 专干老肥熟女视频网站| 亚洲男人的天堂在线观看| 制服丝袜一区二区三区在线| 丰满人妻久久中文字幕| 女高中生自慰污污网站| 日韩激情成人| 99久久国产精品无码| 亚洲av日韩综合一区尤物| 谁有在线观看日韩亚洲最新视频 | 国产精品久久精品| v天堂中文在线| 免费一级无码在线网站| 午夜在线不卡| 97se亚洲综合在线韩国专区福利| 国产区在线观看视频| 三上悠亚精品二区在线观看| 99热这里只有精品在线观看| 91视频首页| 第九色区aⅴ天堂久久香| 亚洲性网站| 日韩小视频在线播放| 91娇喘视频| 亚洲欧美自拍一区| 亚洲男人的天堂网| 国产青榴视频在线观看网站| 久久亚洲国产最新网站| 成人午夜天| 欧美无专区| 精品综合久久久久久97超人该| 中文字幕 91| 国产午夜无码片在线观看网站| 久久特级毛片| 国产午夜一级毛片| 国产精品第5页| 一本色道久久88综合日韩精品| 永久免费精品视频| av在线5g无码天天| 亚洲欧美日韩成人在线| 午夜日b视频| 久久鸭综合久久国产| 尤物成AV人片在线观看| 精品91视频| 国产精品极品美女自在线网站| 国产麻豆va精品视频| 亚洲色欲色欲www网| 99re经典视频在线| 一区二区三区国产精品视频| 亚洲无码免费黄色网址| 亚洲男女在线| 无码专区国产精品一区| 精品国产乱码久久久久久一区二区| 亚洲AV无码久久天堂| 在线观看亚洲天堂| 国产乱子伦一区二区=| 亚洲Av激情网五月天| 天天综合网在线| 干中文字幕| 熟女成人国产精品视频| 亚洲成a∧人片在线观看无码| 国产精品免费露脸视频| 国产在线视频自拍| 国产亚洲欧美在线专区| 色哟哟国产精品| 高清精品美女在线播放| 久久国产精品77777| 欧美成人精品在线| 538精品在线观看| 免费视频在线2021入口| 国产一级毛片在线| 国内嫩模私拍精品视频|