2015-01-13 138 views
1

我正在嘗試爲網站設置一種打印服務,以便與(pdf,html,excel)進行通信併發送可打印的文檔。我決定去。通過Winspool打印

我創建了下面的簡單程序。在某些電腦上它可以工作(Windows 7)在其他電腦上(Windows 8),它不起作用(右)。當它不工作時,作業在打印隊列中可見不到一秒鐘,然後消失。該代碼不會輸出任何錯誤。我無法在Windows事件日誌中找到任何內容。

我也嘗試了一個RawPrinter的例子,我可以在網上找到C++,但是顯示了相同的行爲。

有誰知道我在做什麼錯? :(

package main 

import (
    "fmt" 
    "code.google.com/p/brainman/printer" 
) 


func main() { 
    defaultPrinterName, _ := printer.Default() 
    fmt.Println(defaultPrinterName) 
    p, err := printer.Open(defaultPrinterName) 

    if err != nil { 
     fmt.Println("Open failed: %v", err) 
    } 

    defer p.Close() 

    err = p.StartDocument("my document", "RAW") 

    if err != nil { 
     fmt.Println("StartDocument failed: %v", err) 
    } 

    defer p.EndDocument() 

    err = p.StartPage() 

    if err != nil { 
     fmt.Println("StartPage failed: %v", err) 
    } 

    str := "testing 123" 
    mySlice := []byte(str) 

    _, err = p.Write(mySlice) 

    if err != nil { 
     fmt.Println("Write failed: %v", err) 
    } 

    err = p.EndPage() 

    if err != nil { 
     fmt.Println("EndPage failed: %v", err) 
    } 
} 

回答