2014-06-18 27 views
2

我正在使用ColdFusion的cfprint從目錄打印多個PDF。我遇到的問題是,當文件被假脫機到打印機時,文件的大小會急劇增加,並會減慢一切。文件夾中的文件爲125K,當它位於打印機後臺時,文件增加到15.7MB。這裏是ColdFusion代碼:使用大型假脫機文件的coldfusion-cfprint問題

<cfprint 
    source="[FILELOCATION]/[FILE].pdf" 
    color="yes" 
    printer="[printer name]"> 

這些文件將最終打印,但它可能需要15-20分鐘以上。有沒有人有任何解決這個問題?我試着用CF生成的PDF和我從頭開始創建的PDF。謝謝

回答

2

一次排隊兩到五個。暫停以允許處理。將它們標記爲打印,移動或刪除它們,移動到下一批......自己查看時間,看看您需要多少時間才能允許。這樣你就不會爲服務器添加一堆工作,並在你的CF服務器上創建一個瓶頸。

如果你只是在做這與一臺服務器可以考慮使用一個副低優先級的服務器和運行開發版全額繳納EULA符合註冊版ColdFusion的(或Railo)和奉獻那個服務器剛剛印刷這麼你的其他服務器可以做有用的事情。

編輯

所以OP有一個ColdFusion打印瓶頸。在你打印的服務器上(與你假設的CF服務器相同),如果這是一個Windows服務器(不確定你的服務器版本),那麼就有打印隊列文件夾。如果您有權訪問此文件夾,則可以執行一些操作。您可以創建一個將文件傳送到此文件夾的方法(或者如果它是相同的服務器,則複製)。打印機將排隊工作並關閉它。您可以執行一些功能,例如檢查打印隊列中的文件數量。如果文件數大於零,請在15分鐘後再回來查看。如果計數爲零,請複製幾個文件。

您正在CFAdmin中創建一個計劃任務並進行自動化。有一個getprinterInfo(),以便您可以檢查打印機是否脫機並執行其他操作,例如,如果需要重新路由打印作業,請在別處檢查另一臺打印機。您還可以設置多個打印服務器並將打印機附加到打印服務器,並點擊幾臺打印服務器並檢查打印隊列文件夾。

魔法是無止境的,目標是抵消除Coldfusion服務器之外的工作。

因此,要回顧:

  • 不這樣做cfprint
  • ,如果你可以創建逃生路線到其他priters單獨的擔憂。
  • 如果你必須使用ColdFusion,那麼排隊一個專用的ColdFusion服務器的打印管理的東西。
  • 使用getPrinterInfo()和dump出來的東西,看你能幹什麼用的,陷阱等
  • Ben forta has a tool that can check for several printers, consider incorperating this.
  • 下一頁使用CFFTP(或CFFILE如果你是在同一臺服務器上),只要你有訪問和複製文件打印隊列文件夾,根本不做cfprint。

Here is a link on print spool stuff (another link in the doc shows you how you can change the spool location).

當它在你將要逃生路線和檢查,一切ColdFusion的印刷底版。

+1

我希望我可以投第一段和第二段投票。以您建議的方式使用開發者版本無疑會違反ColdFusion EULA。 –

+0

@CarlVonStetten你去...修正它。 –

+0

問題是由於大文件大小而需要打印的時間。每小時可能會有20-30次以上的請求,這會導致它永遠趕不上。直接從Adobe Acrobat打印文檔不會導致如此大的文件被假脫機。 – DRG