1. 前端js怎麼控制world或者wps默認橫板列印
1、在電腦桌面上打開要列印的文檔,點擊進入(雙擊打開或者右鍵選擇打開文檔)。
2. 在前端代碼中,點擊列印按鈕,出現列印4次!為什麼啊,只要列印一次
只能說明循環列印,代碼有問題,需要優化代碼,至於其他的就沒問題了
3. 如何在java中用javascript來列印pdf
純Java的解決方案:
我們首先想到的自然就是JDK1.4提供的JPS(Java Printing Service)啦,不過,這東西雖然說支持PDF的Flavor,但是,不管是個人實驗還是網上他人的評論,好像根本就是useless,可能如果說你 的列印機Driver支持PDF的Flavor的話,JPS會檢測到你的driver的這個特性,能夠成功的列印PDF文檔出來,但是,大部分情況下,這 種情形是不成立的,故此JPS死路一條啦!
讓我們看看PDF的老家Adobe那裡有沒有什麼法寶,我們發現一個Viewer Bean的組件,說是可以將PDF以Bean組件的方式潛入到Swing中,哇,太爽了,不過慢著,協議上說不提供任何支持,也不保證不出任何問題,管那 么些,試過再說,一實驗才知道,靠,Exception頻發,而且這個組件較為陳舊,還是扔一邊吧!
還有一個PDFBox,Open Source的,不過對中文支持不好,而且好像開發進度也不是很好,沒有發布一個正式的版本,基本上不能用於生產環境;
最後,求助於Commercial的產品吧,實驗了一下ActiveTree的JPrint,感覺不錯,完全可以勝任我們的需求而且恰到好處,不過授權費 很貴,Email問過之後的答復是2000USD的最低購買,呵呵,雖然日本人很有錢,但也心疼這個銀子啊,所以最終也得作罷!(ActiveTree的 授權其實挺令我ft的,他其實在2003年的時候是可以免費使用的,但之後就變卦了,呵呵,當時記得我還給提過一些bug之類,算了,人家做出這個東西也 不容易)
其他商業產品也是價格不菲,所以,基本上純Java的solution到這里就否決了,讓我們看Java-Com的解決方案吧!
Java-Com 的解決方案:
在前一條路走不通之後,我痛定思痛,決定轉向自己不熟悉的領域,ms的領地,我打算從Java中調用Com組件,由Com組件來幫助我們實現PDF的列印 工作,不夠這條路也不是一帆風順那!
我們知道,Acrobat Reader在發布的時候會隨同發布一個支持瀏覽器的com組件用來manipulate他的這個PDF文檔格式,所以,我們想要本地調用這個隨同發布的 Com組件來實現PDF列印。雖然Version5,6,7的這個組件格式不一樣(5,6是以ocx的格式發布,7是以dll的格式發布),但是,不管那 么些,先從7開始吧!
要調用com,那麼我們需要一個從java到com的Bridge,所以,jacob第一個躍入我的腦海,因為之前就用過嘛!但是麻煩來了,我們並不知道 這個com組件提供了那些調用介面啊!哎,沒辦法,回學校求教熟悉.net的同學,給好不容易弄出幾個需要的調用方法(哎,可憐我的周末啊),星期一就回 來用jacob調用啦,可是左試右試就是一直拋異常,我那個氣啊!難道是jacob的為問題?!我就又找了jcom和jcom2等類似的產品,但jcom 全是日文文檔,沒有辦法,而jcom2估計也是一個德行(我忘了為什麼當初否決了這個),所以就決定試一試商業產品吧!
這方面的商業產品主要有J-Integra,JPanel(好像叫這個名字)以及一個叫JNIWrapper的產品(這個是一個人用用來演示在java中 使用Acrobat5列印PDF的時候提到的)。這些商業產品好的地方就是他可以根據某個你要調用的com組件為你自動生成相應的Proxy對象java 代碼,這樣你就可以直接調用你熟悉的java代碼了。像jacob等開源項目,如果給出一個類似的code generation工具的話,就完全不遜於這些商業產品啦。鑒於商業產品的價格,我最終還是否決了這些(日本人其實也聽摳門的)。
這樣,Java-com也對這個問題沒轍了。
不過,最後在我的解決方案中,我還是使用了Jacob,這是後話,暫且不提...
那我們考慮一下,如果PDF列印不行,列印其他格式行不行?!比如圖片,這個JPS可以完全列印,所以,我們找一下有沒有將PDF格式轉換為其他格式的工 具吧!
PDF格式轉換的解決方案:
在這個領域,主要的就是有GhostScript/GView和ImageMagick,前者可以將PDF格式轉換為PostScript格式,但是好像 GhostScript也不能用JPS完全列印出來;而後者是一個將PDF轉換為Image的API工具,他的Java實現叫JMagick,但他有一個 跟GhostScript同樣的問題,就是要轉換,就必須在本地安裝,然後通過命令行的方式調用,這個顯然也不是很好,而且集成性很差,還是作罷!
剩下的一個是命令行調用啦,這是從itext網站找到的,你可以通過在命令行運行AcroRd32 /p /h "path to PDF file"這樣的命令來列印你要列印的PDF文件,當然,你可以在PDF文件生成後就將他們依次放入一個批處理文件來執行這些列印命令,但是這個方案唯一 的問題就是,每列印一個文件都會啟動一個Acrobat Reader窗口而且必須手動關閉,這現在不能滿足目前的系統要求。
好了,所有的方案基本上都羅列完了,也沒有找到一個可行的方案:-(
(沒有銀子嘛,不然Activetree的JPrint不錯的說)
這些東西差不多郁悶了我3,4天吧,那幾天簡直就是bored to death.
不過,在郁悶的這幾天的結尾,卻有一道靈光閃過我的腦海...
能不能說啟動一個列印service,當文檔要列印的時候,直接發送給它就行了那?!而恰好我發現一段在網頁中載入PDF文檔的Javascript代 碼,而且完全可以使用js來控制PDF的列印,所以,最終的這個方案就浮出水面了 ...
1-使用jacob啟動一個IE進程,並隱藏IE窗口;
if(ieAutomation == null)
ieAutomation = new ActiveXComponent("InternetExplorer.Application");
ieAutomation.setProperty("Visible",new Variant(false));
2-PDF前端在生成PDF文件之後發送生成後的文件到JacobPDFPrinter,JacobPDFPrinter根據出入的PDF文件的全路徑使 用Velocity模板引擎動態生成一個包含使用Javascript代碼實現的PDF列印邏輯的HTML文檔(當然,使用Velocity生成文檔這部 分邏輯我們單獨抽出到VeloIEPrinterGenerator類中);
3-在HTML生成之後,在JacobPDFPrinter中就可以使用jacob調用IE的Navigate2,將IE重定向到剛才生成的這個HTML 文件啦,這樣,IE就會在後台調用JS代碼將PDF列印到默認列印機;
4-列印成功之後,清除臨時動態生成的HTML文件;
5-當主程序退出之前,Quit後台IE進程。
以上就是我能給出的一個solution,並不完美,但it works.
需要注意的幾個問題是:
(1)需要設置IE的一個高級選項,運行本地腳本運行;
(2)因為Java和Com線程模型的不一致,導致在最終Quit後台IE進程的時候會拋出Com調用異常,因為對於Win平台API以及相關編程模型不 是很熟悉,所以,這個問題需要求助於別人幫忙解決;
(3)IE在執行JS列印PDF的時候,同樣會後台啟動Acrobat的一個進程,而這個進程我們程序中無法控制其生命周期,所以,主程序退出後,我們沒 有辦法同時kill這個進程,好在不管我們運行多少次,這個進程在後台只有一個,所以,性能負擔不是很大;
轉載
4. web前端配置文件的格式有哪些
*.pif為DOS環境下的可執行文件在Windows下執行時所需要的文件格式★常見的文件後綴名.ACA:Microsoft的代理使用的角色文檔.acf:系統管理配置.acm:音頻壓縮管理驅動程序,為Windows系統提供各種聲音格式的編碼和解碼功能.aif:聲音文件,支持壓縮,可以使用WindowsMediaPlayer和QuickTimePlayer播放.AIF:音頻文件,使用WindowsMediaPlayer播放.AIFC:音頻文件,使用WindowsMediaPlayer播放.AIFF:音頻文件,使用WindowsMediaPlayer播放.ani:動畫游標文件擴展名,例如動畫沙漏。.ans:ASCII字元圖形動畫文件.arc:一種較早的壓縮文件,可以使用WinZip,WinRAR,PKARC等軟體打開.arj:壓縮文件。可以使用WinZip,WinRAR,PKARC等軟體打開.asf:微軟的媒體播放器支持的視頻流,可以使用WindowsMediaPlayer播放.asp:微軟的視頻流文件,可以使用WindowsMediaPlayer打開.asp:微軟提出的ActiveServerPage,是伺服器端腳本,常用於大型網站開發,支持資料庫連接,類似PHP。可以使用VisualInterDev編寫,是目前的大熱門.asx:WindowsMedia媒體文件的快捷方式.au:是Internet中常用的聲音文件格式,多由Sun工作站創建,可使用軟體WaveformHoldandModify播放。NetscapeNavigator中的LiveAudio也可以播放.au文件.avi:一種使用MicrosoftRIFF規范的Windows多媒體文件格式,用於存儲聲音和移動的圖片.bak:備份文件,一般是被自動或是通過命令創建的輔助文件,它包含某個文件的最近一個版本,並且具有於該文件相同的文件名.basBasic:語言源程序文件,可編譯成可執行文件,目前使用Basic開發系統的是VisualBasic.bat:批處理文件,在MS-DOS中,.bat文件是可執行文件,有一系列命令構成,其中可以包含對其他程序的調用.bbs:電子告示板系統文章信息文件.bfc:Windows的公文包文件.bin:二進制文件,其用途依系統或應用而定.bmp:Bitmap點陣圖文件,這是微軟公司開發Paint的自身格式,可以被多種Windows和WindowsNT平台及許多應用程序支持,支持32位顏色,用於為Windows界面創建圖標的資源文件格式。.c:C語言源程序文件,在C語言編譯程序下編譯使用.cab:Microsoft制訂的壓縮包格式,常用於軟體的安裝程序,使用Windows自帶的實用程序,Extract.exe可以對其解壓縮,WinZip,WinRAR等都支持這種格式.cal:Windows中的日歷文件.cdf:InternetExplorer的頻道文件.cdr:CorelDraw中的一種圖形文件格式,它是所有CorelDraw應用程序中均能夠使用的一種圖形圖像文件格式.cdx:索引文件,存在於Dbase,Foxbase,Foxpro系統軟體環境下.cfg:配置文件,系統或應用軟體用於進行配置自己功能,特性的文件.chm:編譯過後的HTML文件,常用於製作幫助文件和電子文檔.clp:在Windows下剪貼板中的文件格式.cmd:用於WindowsNT/2000的批處理文件,其實與BAT文件功能相同,只是為了與DOS/Windows9x下的BAT有所區別.cmf:音效卡標準的音樂文件,FM合成器等可以回放.cnf:NetMeetting會議連接文件.cnt:聯機幫助文件目錄索引文件,通常和同名的.hlp文件一起保存.col:由AutodeskAnimator,AutodeskAnimatorPor等程序創建的一種調色板文件格式,其中存儲的是調色板中各種項目的RGB值.com:DOS可執行命令文件,一般小於64KB.cpl:控制面板擴展文件,Windows操作系統使用.cpp:C++語言源程序,非常強大的語言,在各種平台中都有相應的開發系統.crd:Windows中的卡片文件.crt:用於安全方面的證書認證文件.cur:Windows下的游標資源文件格式,可用游標編輯軟體編輯.css:Text/css文件.dat:數據文件,在應用程序中使用.dat:VCD中的圖象聲音文件,VCD播放軟體可調用,或是通過VCD機播放.dbf:資料庫文件,Foxbase,Dbase,VisualFoxPro,等資料庫處理系統所產生的資料庫文件.dcx:傳真瀏覽文檔文件.ddi:映象文件,DUP,HD,IMG等工具可.dev:設備驅動程序.dib:設備無關點陣圖文件,這是一種文件格式,其目的是為了保證用某個應用程序創建的點陣圖圖形可以被其它應用程序裝載或顯示一樣.dir:目錄文件.dll:Windows動態連接庫,幾乎無處不在,但有時由於不同版本DLL沖突會造成敗各種各樣的問踢.doc:是目前市場佔有率最高的公室軟體MicrosoftOffice中的字處理軟體Word創建的文檔.dos:Windows保留的MS-DOS的某些系統文件.dot:MicrosoftWord的文檔模板文件,通過模板可以簡化一些常用格式文檔的創建工作,而且可以內嵌VBA程序來實現某些自動化功能.drv:設備驅動程序文件,用在各種系統中.dwg:AutoCAD的圖紙文件,也是許多繪圖軟體都支持的格式,常用於共享數據.dxb:AutoCAD創建的一中圖形文件格式.dxf:圖形交換格式,一種計算機輔助設計的文件格式,最初開發用來與AutoCAD一起使用,以便於圖形文件在應用程序之間的傳遞,它以ASCII方式儲存圖形,在表現圖形的大小方面十分精確.der:Certiticate文件.dic:Txt文件.emf:由Microsoft公司開發的Windows32位擴展圖元文件格式,其總體設計目標是要彌補在MicrosoftWindows3.1(Win16)中用的*.wmf文件格式的不足,使得圖元文件更加易於使用.eps:用PostScript語言描述的一種圖形文件格式,以文本文件保存,在PostScript圖形列印機上能列印出高品質的圖形圖象,最高能表示32點陣圖形圖象.err:編譯錯誤文件,存在於Dbase,Foxbase,Foxpro系列軟體環境下.exe:可執行文件,雖然後綴名相同,但具有不同的格式和版本.exp:3DS使用的顯示卡驅動程序.exc:Txt文件.flc:AutodeskAnimator和Animatorpro的動畫文件,支持256色,最大的圖象象索是64000*64000,支持壓縮,廣泛用於動畫圖形中的動畫序列,計算機輔助設計和計算機游戲應用程序.fnd:保存的搜索結果.fon:點陣字型檔文件.for:Fortran語言程序.fot:指向字體的快捷鍵.fp:配置文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下.fpt:備注欄位文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下.frt:報表文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下.frx:報表文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下.fxp:編譯後的程序,存在於Dbase,Foxbase,Foxpro系列軟體的環境下.gif:在各種平台的各種圖形處理軟體上均能夠處理的,經過壓縮的一種圖形文件格式.grh:方正公司的圖象排版文件.grp:Windows下的程序管理器產生的組窗口文件.goc:Gocserve.gra:MSGraph.Chart.5.h:C語言源程序頭文件.hlp:Windows應用程序幫助文件.hqx:Macintosh中使用BinHex將二進制文件編碼為7位的文本文件,大多數Macintosh文件皆以.hqx出現(.bin極少使用),在Macintosh中,可使用StuffItExpander對.hqx解碼,在Windows中可使用BinHex13解碼.ht:超級終端.htm:保存超文本描述語言的文本文件,用於描述各種各樣的網頁,使用各種瀏覽器打開.html:同.htm文件.icm:圖象配色描述文件.ico:Windows中的圖標文件,可以包含同一個圖標的多種格式,使用圖標編輯軟體創建.idf:MIDI樂器定義.idx:索引文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下.iff:文件交換格式文件,這種文件格式多用於Amiga平台,在這種平台上它幾乎可以存儲各種類型的數據,在其它平台上,IFF文件格式多用於存儲圖象和聲音文件.image:MAcintosh磁碟映象文件,常見於萍果機的FTP網點,在Macintosh中由ShrinkWrap處理.ime:Windows下的輸入法文件.img:磁碟映象文件,用HD-COPY,WinImage等工具打開後可以恢復到一張磁碟上.inc:匯編語言包含文件,類似C/C++中的.H文件.inf:Windows下的軟體安裝信息,Windows的標准安裝程序根據此文件內的安裝信息對軟體,驅動程序等進行安裝.ini:Windows中的初始化信息文件,已經用的不多了,新的應用程序將設置保存在系統的注冊表中.jar:一種壓縮文件,ARJ的新版本,不過不太流行,可以使用WinJar,Winrar等打開.jpeg:一種圖片壓縮文件,同.jpg.jpg:靜態圖象專家組制訂的靜態圖象壓縮標准,具有很高的壓縮比,使用非常廣泛,可使用PhotoShop等圖象處理軟體創建.lnk:快捷方式,這個文件指向另一個文件,開始菜單的程序文件夾下每條項目都是一個LNK文件.log:日誌文件,通常用來記錄一些事件之類.lzh:一種古老的壓縮文件,可以使用WinRAR打開.mac:Macintosh中使用的一中灰度圖形文件格式,在MacintoshPaintbrush中使用,其解析度只能是720*567.mag:圖形文件格式.mdb:MicrosoftAccess使用的資料庫格式,是非常流行的桌面資料庫.men:內存應用文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下.mid:音頻壓縮文件,曾經非常流行,不過在現在的軟體中用的很少了rle:一種壓縮過的點陣圖文件格式,RLE壓縮方案是一種極其成熟的壓縮方案,特點是無損失壓縮,既節省了磁碟空間又不損失任何圖像數據,但在打開這種壓縮文件時,要花費時間,此外,一些兼容性不太好的應用程序可能會搭不開.rm:Windows下的RealPlayer所支持的視頻壓縮文件,網上非常流行的流式視頻文件,很多實時視頻新聞等都是採用這種格式的,不過,最新的WindowsMediaVideoV8已經對其發起了強大的攻勢.rmi:MIDI音序文件.rtf:豐富文本格式文件,以純文本描述內容,能夠保存各種格式信息,可以用寫字版,Word等創建.sav:存檔文件.scp:用於Windows系統中Internet撥號用戶,自動撥號登錄用的腳本文件,可避免手動登錄時繁瑣的鍵盤輸入.scr:屏障保護文件.sct:屏幕文件.scx:屏幕文件.set:Microsoft備份集文件,用於保存要備份的內容,設置等信息.shb:指向一個文檔的快捷方式.snd:Mac聲音文件,Apple計算機公司開發的聲音文件格式,被Macintosh平台和多種Macintosh應用程序所支持,支持某些壓縮.sql:查詢文件,在Dbase,Foxbase,Foxpro系列軟體的環境下使用.svg:SVG可以算是目前最火熱的圖像文件格式了,它是基於XML由WorldWideWebConsortium聯盟開發的,SVG是可縮放的矢量圖形.svx:Amiga聲音文件,Commodore所開發的聲音文件格式,被Amiga平台和應用程序所支持,不支持壓縮.swf:flash是Micromedia公司的產品,嚴格說它是一種動畫編輯軟體,實際上它是製作出一種後綴名為.swf的動畫,這種格式的動畫能用比較小的體積來表現豐富的多媒體形式,並且還可以與HTML文件達到一種"水乳交融"的境界.swg:虛擬內存交換文件,由操作系統使用.sys:系統文件,驅動程序等,在不同的操作系統中有不同的定義
5. 求推薦現在有什麼好用的web報表工具
思邁特軟體Smartbi的報表工具就挺好用的,思邁特軟體Smartbi在大數據審計分析中的應用重點包括跨庫查詢、高性能存儲、疑點生成、自助分析、數據報送、財務分析、專題分析、自動取證單、大屏報送等。思邁特軟體Smartbi是一款基於輕量級Web報表工具,採用拖拽式設計模式,不需任何伺服器和組件支持,即可在 Mac、Linux 和 Windows 操作系統中,設計多種類型的報表。思邁特軟體Smartbi在Web平台的擴展,不但繼承了其強大的報表設計能力和高效的報表開發引擎,還提供了全新的跨平台報表設計器和純前端報表查看器,全面支持 Node.js、Angular、React、Vue 等前端開發框架。
Smartbi從報表開發的數據准備、樣式設計、數據計算、數據可視化、互動邏輯、共享發布六大步驟上都有特色的功能,充分利用了Excel的現有能力,堪稱企業報表平台的解決方案專家。尤其集成了Excel和ECharts後,使得Smartbi Insight具有豐富的展現力、強大的互動性(基於單元格和對象的數據模型)、超級靈活的布局能力,而且這些都可以在Excel界面上全部完成。
集群:提高系統性能和可靠性
高一致性:所有通過Smartbi產品進行的配置和文件都可以隨時同步到集群的各個節點。
高可用性:支持所有單機功能。單一節點宕機後,系統仍可正常訪問。
強擴展性:基於良好的架構設計,隨著節點的增加,系統所支持的並發幾乎呈線性增長,且每個節點的負載更加均衡。
使用簡單:可在平台中通過簡單的操作快速配置集群環境,其中節點的增刪支持熱部署。此外,還可在平台中監控各個節點的運行情況和日誌。
自成立初期,思邁特軟體Smartbi就一直堅持國產自主研發道路,先後獲得軟著數十項;同時與華為、深信服、新華三、達夢、麒麟軟體、人大金倉等合作夥伴通力合作,共同打造產品銷售、產品整合、產品應用的國產化可信生態體系,與上下游廠商、專業實施夥伴和銷售渠道夥伴共同為最終用戶服務。
報表工具靠不靠譜,來試試Smartbi,思邁特軟體Smartbi經過多年持續自主研發,凝聚大量商業智能最佳實踐經驗,整合了各行業的數據分析和決策支持的功能需求。滿足最終用戶在企業級報表、數據可視化分析、自助探索分析、數據挖掘建模、AI智能分析等大數據分析需求。
思邁特軟體Smartbi個人用戶全功能模塊長期免費試用
馬上免費體驗:Smartbi一站式大數據分析平台
6. 前端調用列印頁面怎麼獲取列印按鈕
以噴墨列印機為例:獲取信息其實是信息轉換過程,是由列印驅動程序來轉換這個信息的。 比方說要列印個A,那麼列印驅動程序調用ASCII碼,把A解釋為00001111,列印機硬體晶元就解出馬達轉動信號和噴墨頭控制電路的開閉,墨水就通過列印頭輸出到紙張上。 電腦要列印過程如下:通過列印驅動程序轉換文檔信息成為列印機硬體能識別的底層代碼,傳輸到列印機內存里,列印機調用自身代碼,驅動電機,噴灑油墨,進紙,乾燥後出紙。
7. JavaScript 控制自定義列印頁眉和頁腳
通過什麼方式列印的呢?直接列印html還是有專門的控制項來列印的?
要是直接列印html的話 ,可以先做好模板,如下,在載入模板後。調用js函數,把父頁面中的列印區域耗過來放到模板的列印區域中。然後點列印。看看這種方式能接受不?
注意,只是簡單的寫了一下,實際用的時候得修改。
<html>
<head>
<script language="javascript">
function _load(){
document.getElementById("body").innerHTML = parent.getElementById("你的區域標示").innerHTML;
}
</script>
</head>
<body onload = "_load()">
<h1>這是頁眉</h1>
<div id="body"></div>
<h1>這是頁腳</h1>
</body>
</html>
補充一下, 上面的程序有點問題。
js函數修改為
var s = parent.opener;
document.getElementById("body").innerHTML = s.document.getElementById("s").innerHTML;
可是如果獲取的內容很長 ,那會不會把頁腳撐到其他頁面去呢,我記得這個jsprint是沒有辦法控制的吧。
你的列印格式固定不?要是固定A4的話, 你可以通過數一張紙能放多少行, 來自動分頁,把頁眉與頁腳當做正文來打。這個比較麻煩,和字體高度有關系。
8. 前端列印表格怎麼讓打不下的表頭換頁列印
前端列印表格怎麼讓打不下來的表頭?換頁列印這個表格的話,是可以通過你的表頭的換液來進行舒適列印的,這個列印之後的話才可以
9. web頁面列印,需要定製樣式,前端有沒有工具可以實現
最好的實現方式,我覺得 執行生成pdf 然後發送至前端列印
這樣可以實現跨平台,不會出現變形等異常現象
請採納!