2009-02-13 54 views
1

發送傳真我試圖使用Crystal Reports和Unimessage專業(或任何其他傳真程序)的.NET(C#)程序發送傳真。與.NET

我的問題是Unimessage臨(和其他傳真程序)使用打印機字體的傳真命令。由於.NET不支持打印機字體,因此報表中的傳真命令將轉換爲Courier New。這樣做的結果是傳真程序不能識別傳真命令,而是將它們看作純文本,並且不發送傳真。

如何發送與Crystal Reports和.NET傳真?

+0

「使用打印機的字體爲傳真命令'字體如何成爲一個命令? – 2009-02-13 09:21:34

+0

我認爲他的意思是使用一種特殊的打印機駐留字體,因此這將等同於PCL命令或轉義序列,並且您稱之爲speci al字體,然後是傳真號碼......可能是錯誤的,但這就是我收集的內容。 – 2009-02-17 00:06:31

回答

3

我得到了這個答案從WordCraft(公司背後Unimessage臨)

  1. 創建一個名爲WilCapAX.INI文件在主Windows文件夾中,例如 C:\ WINDOWS \ WilCapAX.INI文件 應包含以下內容: [WilCapAX] 命令= C:\ Commands.DAT其中 「C:\ Commands.DAT」 是你要的的 名稱的文本文件在您的.NET應用程序中創建 以將嵌入式命令傳遞給Unimessage Pro。 必要時,可以編輯路徑, 但保持空頭形態文件和
    文件夾名稱。

  2. 在.NET應用程序時,你有一些通過
    Unimessage送臨,你這時就需要:

    2.1創建一個名爲的文本文件,這取決於名稱WilCapAX.INI,C定義 : \命令。DAT含有:

    BLANK LINE 
    [[TO=Fax Number or Email address]] 
    [[SUBJECT=Whatever you want the subject to be]] 
    

    該文件的第一行必須要麼是空白的或者含有少於一個嵌入的命令其他 東西 - 這將是 跳過。 C:\ Commands.DAT文件 中的其他行應包含嵌入的命令。

    2.2打印一個消息到Unimessage專業打印機 - 的 Unimessage臨打印機接受打印作業,將 尋找在WilCapAX.INI指定的文件。如果發現在WilCapAX.INI(C:\ Commands.DAT)中指定的 文件爲 ,則會從其中提取嵌入的命令,然後刪除「C:\ Commands.DAT」文件,並且將 打印捕獲與從C:\ Commands.DAT文件中提取的命令 。

    2.3等待C:\ Commands.DAT文件消失 (表明它已被 Unimessage臨打印機處理),然後根據需要重複。

這解決了問題! :)

0

當你說使用打印機字體,我假設你需要發送一些PCL(或類似)的命令,如:

<esc>(s..... 

如果是這樣的情況下,我不認爲你可以嵌入與水晶直接。

我們不得不通過Crystal發送特殊序列(沒有Escape),在這些情況下,我們創建一個新的公式框,並且不會更改字體之外的任何元素(選擇Courier)。這些元素應該直接傳遞給打印機,而不會被驅動程序轉換太多。這可能;然而,不解決你的問題。

應該工作的另一種選擇是建立與微軟的驅動程序開發工具包你自己的打印機驅動程序。您可以創建自己的迷你驅動程序,並將字體與特定的字體調用相關聯,以便在指定該字體時將代碼正確插入代碼中。

你也可以以這樣的方式,我們做處理這個(不與水晶,但其他類似的報告也是如此)。我們使用RightFax作爲我們的傳真服務器,它允許通過元數據文件「附件」文件。我們生成報告,將其放入特定位置作爲PDF或其他格式,然後向RightFax傳遞一個元數據文件,其中包含收件人的傳真號碼和一條命令,通知它將文件附加到文件系統上。

的RightFax的 '附加' 文件看起來是這樣的:

{{begin}} 
{{nocover}} 
{{fax (403) 555-1212}} 
{{subject Test Fax}} 
{{attach c:\reports\report1.pdf delete}} 
{{imagetype pdf}} 
{{end}} 
1

Joyfax客戶端控制檯1.0(測試版)

注:請運行過程中出現此應用程序之前lanuch Joyfax客戶端V5.2或以上。

JoyfaxConsole [選項] -f [; ...] [; FileN] -R 「」

-f file or folder Files or files in sub folders to be faxed. 
     i.e: C:\Test\;C:\MyPDFs\*.pdf 
-r  Recipients Recipient list. For more see Fax Recipients. Must begin and end with double quotation marks("). 

選項:

-a Synchronous Wait until fax sent completed; 
-s Subject Subject of fax, i.e.: "Joyfax Sell Sheet"; 
-m Meno Memo of fax, i.e.: "Joyfax Server 5-user license"; 
-c CoverPage Cover Page profile to be used; 
-d Header Header & footer profile to be used, 
    0 = None; 1 = General; 2 = Compact; 3 = Detailed 
-k Kill Delete input files if fax sent successfully. 

Retrun:

0 - Success; 
1 - Initialize failed; 
2 - Invalid parameter; 
3 - Unknown erorr (may unsupported file type). 

實施例:

JoyfaxClientConsole -d 2 -f「C:\ My PDFs \ D90.PDF」-r「Samm Kivin < 866-6554-564>; Mr。綠色<(846)6554-564>」

JoyfaxClientConsole -f C:\ MyPDFs的* .pdf; d:\ Sell.xls -r 「森 Kivin < 866-6554-564>」

JoyfaxClientConsole -s 「Joyfax賣表」 -m 「Joyfax服務器5-用戶 許可證」 -f d:\ Sell.xls -r 「Kivin < 866-6554-564>」