FreeSWITCH作為傳真機時

2021-02-14 FreeSWITCH中文社區

FreeSWITCH的mod_spandsp模塊提供了基於SIP的傳真收發功能,但是mod_spandsp僅限於tiff文件,我們平時要發送的傳真文件大部分是非tiff的,因此在發送前,我們就需要將這些文件統一轉為tiff。

筆者在測試過程中發現Unoconv + Gostscript兩者結合可以將doc、docx、excel、txt、png、jpg完美的轉為tiff。

實際上是先用unoconv將原始文件統一轉為pdf,然後Gostscript再將轉換後的pdf文件轉為轉為tiff。下面分別介紹下Unoconv和Gostscript。

unoconv是一個命令行程序,用於在不同的Office文檔文件格式之間進行轉換。它利用OpenOffice.Org的UNO接口實現了命令行文檔格式轉換功能,支持所有OpenOffice支持的文件格式,當然也支持批量轉。

Ghostscript是一套基於Adobe系統的PostScript和可攜式文檔格式(PDF)頁面描述語言等而編譯成的免費軟體。可以顯示或列印文檔頁面,以及在PostScript和PDF文件之間的轉換。

筆者測試是virtualbox debian8.2虛擬機,debian8默認已經有Gostscript了,我們只需要安裝Unoconv,執行如下命令:

apt-get update && apt-get install -t jessie-backports unoconv

假設我們在/tmp目錄下有個test.png的文件,我們現在來把它轉成tiff。執行:

unoconv -f  pdf  /tmp/test.png

gs -q -r204x196 -g1728x1078 -dNOPAUSE -dBATCH \-dSAFER -sDEVICE=tiffg3 -sOutputFile=/tmp/test.tiff \ /tmp/test.pdf

之後在/tmp下我們就會看到test.tiff,然後我們就可以在FreeSWITCH中使用txfax將test.tiff發送給傳真接收方。

例如:originate sofia/gateway/gw1/xxxx &txfax(/tmp/test.tiff)。注意,其中「204x196」表示解析度。傳真文件的橫向和縱向的解析度是不同的。

傳真頁面也需要有特定的大小,大部分傳真機都能接收頁面大小為「1728x1078」的傳真,其它尺寸的因傳真機而異。 

當然在實際應用中,我們不可能將一個個文件手動執行命令行去轉為tiff,我們需要開發一個中間件,比如筆者的項目中開發了一套系統,Web頁面上點擊發送傳真的時候,會彈出文件選擇框,選擇後,中間件程序會把原始文件轉為tiff,然後通過FreeSWITCH發送給我們提前設置好的對端。

另外,在實際生產中,我們還可以通過CUPS + Gostscript來實現文件的上傳和轉換。CUPS(以前是通用UNIX列印系統的縮寫)是一種模塊化的列印系統,用於類似UNIX的計算機作業系統,它允許計算機充當列印伺服器。

運行CUPS的計算機是一個主機,它可以接受來自客戶端計算機的列印作業,處理它們,並將它們發送到適當的印表機。下面說說這一詳細過程。

Debian8上通過apt-get install cups來安裝CUPS, CUPS實際上是一個集成的服務。包括了前端接收列印命令的程序,後端控制印表機的程序,中間則是列印驅動。首當CUPS接受到列印命令時,首先會進行一個格式的預轉換,比如將.txt等各種文件先轉換成PostScript格式,然後進一步將PostScript格式轉換成 CUPS內部格式,這裡我們不再深究。這裡我們最終的目的是要將上傳的文件轉為tiff,因此最後還需要調用Gostscript將PostScript轉為tiff。下面詳細說CUPS的配置過程。

在/etc/cups/printers.conf文件中添加我們自己的印表機FAX,內容如下:

我們主要說DeviceURI,DeviceURI 用來指出/usr/lib/cups/backend下的下一步處理程序,這裡指向下面的/usr/lib/cups/backend/腳本的testfax腳本,testfax腳本內容如下:

可以看到在在腳本中通過gs命令將PostScript轉為tiff。然後我們就可以進行傳真的發送了。當然配置有變動我們需要執行systemctl restart cups來重啟CUPS,然後在同一個區域網內添加我們剛創建好的網絡印表機,以win7為例:

選【控制面板】-> 【印表機和傳真】->【添加印表機】 ->【我的印表機不在列表中】->【添加網絡印表機】,輸入印表機路徑:http://伺服器IP:631/printers/FAX,驅動程序選擇 【General】 -> 【Publisher Color Printer】。然後打開一個文件,比如test.docx,我們點擊列印,使用我們剛添加的印表機,「列印」結束後,test.docx就轉為對應的tiff文件了。

是不是很Cool?所以只要知道了每個應用的原理,我們就可以千變萬化,打造出我們屬於自己的應用來。

參考資料:

廣告:本公眾號歡迎投稿。

相關焦點

  • 《FreeSWITCH: VoIP實戰》:FreeSWITCH 架構
    目錄結構   在 *nix 類系統上,FreeSWITCH 默認的安裝位置是 /usr/local/freeswitch,在 Windows 上可能是 C:\freeswitch,目錄結構大致相同。
  • 使用FreeSWITCH檢測聲音文件中的DTMF信息
    然後,使用如下方法我們可以得到一個錄音文件:  freeswitch> originate user/1008 &record(/tmp/dtmf.wav)  上面使用originate命令呼叫1008,被叫接聽後,開始錄音。記得接聽後要按幾個鍵啊。在本次實驗中,我按了1234,並掛機。
  • 傳真機的英文提示語
    新東方網>英語>英語學習>語法詞彙>流行語>正文傳真機的英文提示語 2008-10-23 16:55 來源:新浪職業頻道 作者:
  • 傳真機真的會被淘汰嗎?
    一位師姐說到自己的實習經歷時怒氣衝衝,她說自己不會用實習單位的傳真機,就去請教別人,結果對方不但不肯教,還說了一大堆風涼話,什麼「你們大學生眼高手低啊,沒有一點社會實踐能力啊」之類。師姐說:「你說我們大學生沒有社會經驗,這個我認,但我沒用過傳真機不是正常的嗎?我學一次不就會了嗎?而且用個傳真機跟社會實踐能力有一毛錢關係嗎?」
  • 很少用到的傳真機設備為什麼還沒有被淘汰?
    這些新時代辦公應用不僅功能強大,使用起來還十分便捷,按理說由它們淘汰傳真機這種古老的設備似乎也是順理成章的事情。可是事實上這種元老級別的傳真機似乎還依然活躍在辦公市場。時至今日,說起傳真機大家的感覺可能是既熟悉又陌生。
  • 傳真機的起源(圖)
    現代社會,向異域傳送文件,只需用傳真機、一分鐘搞定,再不用舟馬勞頓。可是你知道嗎,其實傳真機也是個相當「古老」的發明呢。想要了解傳真機的歷史,就請看下文吧。
  • 實用職場英語:如何使用「傳真機」
    新東方網>英語>英語學習>職場英語>職場百科>正文實用職場英語:如何使用「傳真機」 2011-12-26 11:19 來源:幫考網 作者:   職場工作中
  • 雙語新聞:傳真機的起源
    新東方網>英語>英語學習>英語閱讀>雙語新聞>正文雙語新聞:傳真機的起源 2007-06-04 17:05 來源:中國日報網站 作者:   現代社會
  • 傳真機這種元老級別的通訊設備為什麼還沒有被淘汰?
    因此,若是你手頭恰好有一大摞文件急需處理,顯然傳真機無法解你的燃眉之急。來源丨百度圖片此外,由於傳真機主要是黑白掃描,再加上它的解析度並不高,這就意味著傳真機在傳遞高細節圖像時,效果明顯會大打折扣。這同現在可以傳輸更高清的文件數據的平板掃描儀相比,無疑沒有什麼競爭優勢。
  • 美國醫學生上班第一天面對傳真機束手無策
    唯一的問題是,Utrankar不知道如何使用傳真機。「太尷尬了,」他承認道。在諮詢了附近的一名護士之後,Utrankar學會了如何輸入一個號碼,即通過將頁面放在正確的位置、按按鈕、撥號和收集確認傳真。但在他發出請求後,不像電子郵件或簡訊,他不知道合適的人是否收到了它。
  • FreeSWITCH中文社區:找一群人共同寫一本書
    FreeSWITCH中文社區 微信號:FreeSWITCH-CN  FreeSWITCH-CN(http://www.freeswitch.org.cn
  • 職場白領口語:公司的傳真機壞了,怎麼辦?
    新東方網>英語>英語學習>職場英語>職場百科>正文職場白領口語:公司的傳真機壞了,怎麼辦?  我剛剛在等傳真的時候發現,公司的傳真機好像有點問題  something wrong with pron. 有毛病對於(不對頭)  如:There is something wrong with the machine.  這臺機器出毛病了。
  • 傳真機專用粉 松下KX-FAC296CN報149元
    【中關村在線辦公列印頻道原創】松下KX-FAC296CN黑色碳粉列印壽命2000頁,適用於松下 KX-FL323CN/328CN/333CN/338CN型號的傳真機。KX-FL323CN/328CN/333CN/338CN列印頁數2000頁    編輯點評;松下 KX-FL323CN/328CN/333CN/338CN系列傳真機均為雷射機型
  • 職場英語學習:我不知道怎麼用這個傳真機
    新東方網>英語>英語學習>職場英語>職場百科>正文職場英語學習:我不知道怎麼用這個傳真機 2012-12-22 21:53 來源:原版英語 作者:
  • 桌面雷射利器 松下FL328CN傳真機1240元_松下 FL328CN_辦公列印...
    (中關村在線北京行情)松下KX-FL328CN雷射傳真機支持傳真、複印及無紙傳真功能,擁有操作簡便的導航和人機互動性,中文液晶顯示,具有來電顯示功能;鼓粉分離式耗材設計,後期成本更低。當前億海東方報價1240元,桌面辦公利器。
  • 從兩臺傳真機辦公到補助金發放緩慢:日本的電子化改革,為何遠落後...
    這次,應該是自民黨作為執政黨的第二次嘗試。某種程度上,日本自民黨內的電子化辦公,其實就是日本整個社會電子化進程的一個縮影... ...  01  第一波攻防戰  眾所周知,日本官僚偏好使用紙質文件,文件批准只認公章,年輕官員抱著文件到處找上級領導籤字蓋章的情景,幾十年來從未改變。
  • 寧波代開發票廣告太猖狂 單位傳真機每天能接一沓
    傳真機快成「代開發票」的代言人了(請勿聯繫)「代開發票,驗後付款,增值稅發票抵扣17%,量大從優」、「本公司高價回收各行業發票,開出所有發票均可到稅務局驗證後付款」……除了網絡傳輸、手機簡訊、電話傳真等渠道,不少小夥伴在停車時,
  • 貼合中國用戶 佳能JX510P噴墨傳真機1130
    【11月14日太平洋電腦網北京站】近日,易之購宣布對佳能新款噴墨傳真機——FAX-JX510P又開始進行底價促銷處理,用戶只需花上1130元就能將其抱回去。基於佳能獨有的FINE技術,列印速度可達5.5ppm;用戶想要改變文件頁面大小,不用再費力更改原文件設置,直接選擇20%~400%的縮放列印功能就可以完成;2合1頁面布局列印可以將多頁文件集中到一頁紙上輸出,方便製作各種類型文件,同時節省紙張;輸出合同等保密性較強的文件時,水印列印功能充分保障重要信息的安全性。
  • 我與FreeSWITCH的故事
    我們用Erlang實現了IVR功能,當有電話打進來時,它便播放歡迎詞,同時,根據主叫號碼,異步的到美國的伺服器上去查詢這個是誰的客戶,進而分配座席和彈屏。去美國的伺服器查詢比較費時,但是我們用Erlang很優雅地通過異步操作實現了該功能。另外,我們也購買了一個Global IP Sound的庫,實現了自己的SIP客戶端。
  • 《FreeSWITCH: VoIP實戰》: 使用Erlang建立IVR實現複雜業務邏輯
    但當你要實現更複雜、更智能的業務邏輯時,你免不了跟資料庫或其它系統交互。我們曾用Ruby藉助event_socket實現過比較複雜的功能,但當業務變得更加複雜時,我們使用Erlang重寫了整個邏輯。  什麼是 Erlang ?  Erlang是一種函數式程式語言,它天生支持高並發,高可靠性的編程。