1

Web サイトと通信し、印刷可能なドキュメント (pdf、html、excel) を送信するための一種の印刷サービスをセットアップしようとしています。私はゴーに決めました。

以下の簡単なプログラムを作成しました。一部の PC (Windows 7) では機能し、他の PC (Windows 8) では機能しません (右)。それが機能しない場合、ジョブは 1 秒未満の間印刷キューに表示され、その後消えます。コードはエラーを出力しません。Windows イベント ログに何も見つかりません。

オンラインで見つけることができるC ++でRawPrinterの例も試しましたが、同じ動作を示しています。

私が間違っていることを誰かが知っていますか?:(

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)
    }
}
4

1 に答える 1

5

データ型「RAW」を使用していますが、「XPS_PASS」である必要があります。

Windows 8 (および Server 2012) は XPS ベースのドライバーを使用するため、RAW フラグは使用できません。

次の記事を確認してください: http://support.microsoft.com/kb/2779300 http://msdn.microsoft.com/en-us/library/windows/desktop/ff686812%28v=vs.85%29.aspx

于 2015-01-13T08:54:22.280 に答える