2008-11-05 36 views
0

我們正在嘗試構建一個Crystal控件,將控制字符直接發送到打印機,而不必通過該打印機的(錯誤)Windows驅動程序。有沒有人知道在Crystal Report中做到這一點的方法?如何將控制字符發送到Crystal Reports中的Windows打印機?

我們正在嘗試發送的特定控制字符CHR(2)。但是,當我們將它放在Crystal Report中並打印到通用文本打印機時,它將把字符轉換爲輸出期間。該角色在Crystal的預覽中顯示爲一個框,因此我懷疑它是Windows驅動程序,而不是Crystal,這就是問題所在。

該設備是一個打印機的Datamax。我們確實有驅動程序,但遇到各種問題 - 基礎設施小組比我更瞭解問題,我不覺得我有足夠的信息去嘗試並詢問具體問題。這是Crystal Reports,Citrix和我們針對特定市場的ERP軟件包的相互作用,以及在報告運行時根據用戶自動選擇適當標籤大小的標籤打印機的組合。

回答

0

簡答題是你不能。最後,這是因爲像Crystal這樣的應用程序只會在GDI級別說話,並將這些數據交給打印機驅動程序轉換爲PCL/PS等,並傳遞到打印機。

這是什麼類型的設備?你想達到什麼目的?

如果有工作,但不是具體的一個,您可以使用該設備的驅動程序。另一種選擇是,使用迷你驅動程序開發套件並自行構建。我們已經爲客戶完成了這項工作,我們將自己的代碼插入自定義尺寸的紙張中,在指定的字母大小的位置處,以解決不支持自定義紙張大小的應用程序或需要訪問某些特殊字體的應用程序。此外,還有一些打印機允許您將轉義字符更改爲其他內容,具體取決於您可能工作的設備,或者構建後期處理,即打印到文件,文件被拾取,通過查找修改打印文件一些特殊的語法你輸入並傳遞文件...痛苦,但可以做的伎倆。

+0

我不認爲後處理在我們的案例中是可行的。這些報告由我們的ERP應用程序運行,因此除了Crystal Report本身和我們控制的Windows打印服務器之外,我們沒有其他任何內容。 – LeBleu 2008-11-06 15:14:08

0

一般來說,你不能直接發送轉義字符從Crystal Reports打印機。

如果你只需要在開始或報告末尾的特殊字符(如剪紙或抽屜打開POS打印機),那麼你可以使用通用打印機驅動程序設備選項,並描述開始或結束作業順序。

我個人一直找到了一些工作(或兼容)驅動程序的任何打印機(什麼是您的打印機型號,BTW?)。對於POS打印機,驅動程序通常包含特定的「字體」,允許直接發送轉義序列。

相關問題