如何通過 TCP/IP 擷取 postscript 輸出?(用於測試目的)
我們有一個專有系統,可以通過 TCP/IP 與多個站點上的各種列印機進行通信。系統只輸出 Postscript,顯然是通過 TCP/IP 發送的。我真的很想知道有沒有什麼軟體可以安裝在我的電腦上,我可以像虛擬列印機一樣設置它來擷取這個 postscript 數據。
這將使我能夠執行各種測試,以確保報告完好無損。我們無法訪問底層系統或數據庫,因此必須在輸出時擷取此後記。
我不需要將其轉換為 PDF 或任何其他格式,但這會很好。
這就是我解決這個問題的方法:
我設置了 RawPrinterServer,它將在埠 9100 上作為服務進行偵聽。然後我安裝了 RedMon 和 Ghostscript。
Redmon 允許我在 Windows 中創建一個自定義列印機埠,它將列印作業轉發到您喜歡的任何軟體。
Ghostscript 將解釋傳入的後記並將其輸出為 PDF。
我在 Windows 中創建了一個列印機,它帶有一個指向 ghostscript 執行檔的自定義重定向埠。
程序路徑:
C:\BIN\gs\gs8.63\bin\gswin32c.exe
參數:
-sDEVICE=pdfwrite -dPDFX=true -dNOPAUSE -dSAFER -sPAPERSIZE=a4 -sOutputFile="C:\bin\output.pdf" -c .setpdfwrite -f -
現在在我使用的專有軟體中,我設置了一台列印機,將其定向到我的電腦的 IP 埠為 9100。
現在,當我列印到我的新“列印機”時,軟體將 postscript 發送到我的 IP,RawPrintServer 接受 TCP 數據並將其轉發到我設置的列印機,自定義列印機埠將該數據轉發到 Ghostscript,它將 PDF 文件保存在我的本地機器。
你沒有說這是什麼作業系統,但你可以使用 TCPflow、wireshark 或 tcpdump 之類的東西來擷取通過網路發送的數據包。
如果這是 Windows,我相信在過去,大多數列印機對話框都允許您列印到文件。這可能是相關驅動程序的輸出。自從我使用 Windows 以來已經很長時間了,您可能可以放心地忽略這一段。這可能是 Windows 3.11 的事情。