printer

package module
v0.0.0-...-0c200e3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2023 License: BSD-3-Clause Imports: 5 Imported by: 0

README

Windows printing.

See http://godoc.org/github.com/alexbrainman/printer for details.

Documentation

Overview

Windows printing.

Index

Constants

View Source
const (
	PRINTER_ENUM_LOCAL       = 2
	PRINTER_ENUM_CONNECTIONS = 4

	PRINTER_DRIVER_XPS = 0x00000002
)
View Source
const (
	JOB_STATUS_PAUSED            = 0x00000001 // Job is paused
	JOB_STATUS_ERROR             = 0x00000002 // An error is associated with the job
	JOB_STATUS_DELETING          = 0x00000004 // Job is being deleted
	JOB_STATUS_SPOOLING          = 0x00000008 // Job is spooling
	JOB_STATUS_PRINTING          = 0x00000010 // Job is printing
	JOB_STATUS_OFFLINE           = 0x00000020 // Printer is offline
	JOB_STATUS_PAPEROUT          = 0x00000040 // Printer is out of paper
	JOB_STATUS_PRINTED           = 0x00000080 // Job has printed
	JOB_STATUS_DELETED           = 0x00000100 // Job has been deleted
	JOB_STATUS_BLOCKED_DEVQ      = 0x00000200 // Printer driver cannot print the job
	JOB_STATUS_USER_INTERVENTION = 0x00000400 // User action required
	JOB_STATUS_RESTART           = 0x00000800 // Job has been restarted
	JOB_STATUS_COMPLETE          = 0x00001000 // Job has been delivered to the printer
	JOB_STATUS_RETAINED          = 0x00002000 // Job has been retained in the print queue
	JOB_STATUS_RENDERING_LOCALLY = 0x00004000 // Job rendering locally on the client
)

Variables

This section is empty.

Functions

func ClosePrinter

func ClosePrinter(h syscall.Handle) (err error)

func Default

func Default() (string, error)

func EndDocPrinter

func EndDocPrinter(h syscall.Handle) (err error)

func EndPagePrinter

func EndPagePrinter(h syscall.Handle) (err error)

func EnumJobs

func EnumJobs(h syscall.Handle, firstJob uint32, noJobs uint32, level uint32, buf *byte, bufN uint32, bytesNeeded *uint32, jobsReturned *uint32) (err error)

func EnumPrinters

func EnumPrinters(flags uint32, name *uint16, level uint32, buf *byte, bufN uint32, needed *uint32, returned *uint32) (err error)

func GetDefaultPrinter

func GetDefaultPrinter(buf *uint16, bufN *uint32) (err error)

func GetPrinterDriver

func GetPrinterDriver(h syscall.Handle, env *uint16, level uint32, di *byte, n uint32, needed *uint32) (err error)

func OpenPrinter

func OpenPrinter(name *uint16, h *syscall.Handle, defaults uintptr) (err error)

func ReadNames

func ReadNames() ([]string, error)

ReadNames return printer names on the system

func ReadPrinter

func ReadPrinter(h syscall.Handle, buf *byte, bufN uint32, written *uint32) (err error)

func StartDocPrinter

func StartDocPrinter(h syscall.Handle, level uint32, docinfo *DOC_INFO_1) (err error)

func StartPagePrinter

func StartPagePrinter(h syscall.Handle) (err error)

func WritePrinter

func WritePrinter(h syscall.Handle, buf *byte, bufN uint32, written *uint32) (err error)

Types

type DOC_INFO_1

type DOC_INFO_1 struct {
	DocName    *uint16
	OutputFile *uint16
	Datatype   *uint16
}

type DRIVER_INFO_8

type DRIVER_INFO_8 struct {
	Version                  uint32
	Name                     *uint16
	Environment              *uint16
	DriverPath               *uint16
	DataFile                 *uint16
	ConfigFile               *uint16
	HelpFile                 *uint16
	DependentFiles           *uint16
	MonitorName              *uint16
	DefaultDataType          *uint16
	PreviousNames            *uint16
	DriverDate               syscall.Filetime
	DriverVersion            uint64
	MfgName                  *uint16
	OEMUrl                   *uint16
	HardwareID               *uint16
	Provider                 *uint16
	PrintProcessor           *uint16
	VendorSetup              *uint16
	ColorProfiles            *uint16
	InfPath                  *uint16
	PrinterDriverAttributes  uint32
	CoreDriverDependencies   *uint16
	MinInboxDriverVerDate    syscall.Filetime
	MinInboxDriverVerVersion uint32
}

type DriverInfo

type DriverInfo struct {
	Name        string
	Environment string
	DriverPath  string
	Attributes  uint32
}

DriverInfo stores information about printer driver.

type JOB_INFO_1

type JOB_INFO_1 struct {
	JobID        uint32
	PrinterName  *uint16
	MachineName  *uint16
	UserName     *uint16
	Document     *uint16
	DataType     *uint16
	Status       *uint16
	StatusCode   uint32
	Priority     uint32
	Position     uint32
	TotalPages   uint32
	PagesPrinted uint32
	Submitted    syscall.Systemtime
}

type JobInfo

type JobInfo struct {
	JobID           uint32
	UserMachineName string
	UserName        string
	DocumentName    string
	DataType        string
	Status          string
	StatusCode      uint32
	Priority        uint32
	Position        uint32
	TotalPages      uint32
	PagesPrinted    uint32
	Submitted       time.Time
}

JobInfo stores information about a print job.

type PRINTER_INFO_5

type PRINTER_INFO_5 struct {
	PrinterName              *uint16
	PortName                 *uint16
	Attributes               uint32
	DeviceNotSelectedTimeout uint32
	TransmissionRetryTimeout uint32
}

type Printer

type Printer struct {
	// contains filtered or unexported fields
}

func Open

func Open(name string) (*Printer, error)

func (*Printer) Close

func (p *Printer) Close() error

func (*Printer) DriverInfo

func (p *Printer) DriverInfo() (*DriverInfo, error)

DriverInfo returns information about printer p driver.

func (*Printer) EndDocument

func (p *Printer) EndDocument() error

func (*Printer) EndPage

func (p *Printer) EndPage() error

func (*Printer) Jobs

func (p *Printer) Jobs() ([]JobInfo, error)

Jobs returns information about all print jobs on this printer

func (*Printer) Read

func (p *Printer) Read(b []byte) (int, error)

func (*Printer) StartDocument

func (p *Printer) StartDocument(name, datatype string) error

func (*Printer) StartPage

func (p *Printer) StartPage() error

func (*Printer) StartRawDocument

func (p *Printer) StartRawDocument(name string) error

StartRawDocument calls StartDocument and passes either "RAW" or "XPS_PASS" as a document type, depending if printer driver is XPS-based or not.

func (*Printer) Write

func (p *Printer) Write(b []byte) (int, error)

Directories

Path Synopsis
cmd
print
print command prints text documents to selected printer.
print command prints text documents to selected printer.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL