Documentation ¶
Overview ¶
Package printers Windows printing.
Index ¶
- Constants
- func AddCustomPaperSize(printerName, paperName string, widthMM, heightMM, leftMM, topMM uint32) (err error)
- func AddForm(h syscall.Handle, level uint32, form *FORM_INFO_1) (err error)
- func ClosePrinter(h syscall.Handle) (err error)
- func DeleteCustomPaperSize(printerName, paperName string) (err error)
- func DeleteForm(h syscall.Handle, pFormName *uint16) (err error)
- func DocumentProperties(hWnd uint32, h syscall.Handle, pDeviceName *uint16, devModeOut *DevMode, ...) (err error)
- func EndDocPrinter(h syscall.Handle) (err error)
- func EndPagePrinter(h syscall.Handle) (err error)
- func EnumForms(h syscall.Handle, level uint32, pForm *byte, cbBuf uint32, pcbNeeded *uint32, ...) (err error)
- func EnumJobs(h syscall.Handle, firstJob uint32, noJobs uint32, level uint32, buf *byte, ...) (err error)
- func EnumMonitors(name *uint16, level uint32, pMonitors *byte, cbBuf uint32, pcbNeeded *uint32, ...) (err error)
- func EnumPrinters(flags uint32, name *uint16, level uint32, buf *byte, bufN uint32, ...) (err error)
- func GetDefault() (printer string, err error)
- func GetDefaultPrinter(buf *uint16, bufN *uint32) (err error)
- func GetPrinter(h syscall.Handle, level uint32, buf *byte, bufN uint32, needed *uint32) (err error)
- func GetPrinterDriver(h syscall.Handle, env *uint16, level uint32, di *byte, n uint32, ...) (err error)
- func OpenPrinter(name *uint16, h *syscall.Handle, defaults *PrinterDefaults) (err error)
- func ReadNames() ([]string, error)
- func SetDefault(printer string) (err error)
- func SetDefaultPrinter(name *uint16) (err error)
- func SetPrinter(h syscall.Handle, level uint32, buf *byte, command uint32) (err error)
- func StartDocPrinter(h syscall.Handle, level uint32, docInfo *DOC_INFO_1) (err error)
- func StartPagePrinter(h syscall.Handle) (err error)
- func WritePrinter(h syscall.Handle, buf *byte, bufN uint32, written *uint32) (err error)
- type DOC_INFO_1
- type DRIVER_INFO_8
- type DevMode
- func (dm *DevMode) ClearPaperLength()
- func (dm *DevMode) ClearPaperSize()
- func (dm *DevMode) ClearPaperWidth()
- func (dm *DevMode) GetCollate() (int16, bool)
- func (dm *DevMode) GetColor() (int16, bool)
- func (dm *DevMode) GetCopies() (int16, bool)
- func (dm *DevMode) GetDeviceName() string
- func (dm *DevMode) GetDuplex() (int16, bool)
- func (dm *DevMode) GetOrientation() (int16, bool)
- func (dm *DevMode) GetPaperLength() (int16, bool)
- func (dm *DevMode) GetPaperSize() (int16, bool)
- func (dm *DevMode) GetPaperWidth() (int16, bool)
- func (dm *DevMode) SetCollate(collate int16)
- func (dm *DevMode) SetColor(color int16)
- func (dm *DevMode) SetCopies(copies int16)
- func (dm *DevMode) SetDuplex(duplex int16)
- func (dm *DevMode) SetOrientation(orientation int16)
- func (dm *DevMode) SetPaperLength(length int16)
- func (dm *DevMode) SetPaperSize(paperSize int16)
- func (dm *DevMode) SetPaperWidth(width int16)
- func (dm *DevMode) String() string
- type DriverInfo
- type FORM_INFO_1
- type FormInfo
- type JOB_INFO_1
- type JobInfo
- type MONITOR_INFO_2
- type MonitorInfo
- type PRINTER_INFO_2
- type PRINTER_INFO_5
- type PRINTER_INFO_9
- type Printer
- func (p *Printer) Close() error
- func (p *Printer) DocumentPropertiesGet(deviceName string) (devMode *DevMode, err error)
- func (p *Printer) DocumentPropertiesSet(deviceName string, devMode *DevMode) (err error)
- func (p *Printer) DriverInfo() (*DriverInfo, error)
- func (p *Printer) EndDocument() error
- func (p *Printer) EndPage() error
- func (p *Printer) Forms() (forms []FormInfo, err error)
- func (p *Printer) GetDataType() (dataType string, err error)
- func (p *Printer) GetPrinter2() (printerInfo *PRINTER_INFO_2, err error)
- func (p *Printer) GetPrinter9() (printerInfo *PRINTER_INFO_9, err error)
- func (p *Printer) Jobs() ([]JobInfo, error)
- func (p *Printer) SetPrinter2(printerInfo *PRINTER_INFO_2) (err error)
- func (p *Printer) SetPrinter9(printerInfo *PRINTER_INFO_9) (err error)
- func (p *Printer) StartDocument(name, datatype string) error
- func (p *Printer) StartPage() error
- func (p *Printer) StartRawDocument(name string) error
- func (p *Printer) Write(b []byte) (int, error)
- type PrinterDefaults
- type PrinterInfo
- type Rect
- type SIZE
Constants ¶
const ( CCHDEVICENAME = 32 CCHFORMNAME = 32 DM_SPECVERSION uint16 = 0x00000401 DM_COPY uint32 = 2 DM_MODIFY uint32 = 8 DM_ORIENTATION uint32 = 0x00000001 DM_PAPERSIZE uint32 = 0x00000002 DM_PAPERLENGTH uint32 = 0x00000004 DM_PAPERWIDTH uint32 = 0x00000008 DM_SCALE uint32 = 0x00000010 DM_POSITION uint32 = 0x00000020 DM_NUP uint32 = 0x00000040 DM_DISPLAYORIENTATION uint32 = 0x00000080 DM_COPIES uint32 = 0x00000100 DM_DEFAULTSOURCE uint32 = 0x00000200 DM_PRINTQUALITY uint32 = 0x00000400 DM_COLOR uint32 = 0x00000800 DM_DUPLEX uint32 = 0x00001000 DM_YRESOLUTION uint32 = 0x00002000 DM_TTOPTION uint32 = 0x00004000 DM_COLLATE uint32 = 0x00008000 DM_FORMNAME uint32 = 0x00010000 DM_LOGPIXELS uint32 = 0x00020000 DM_BITSPERPEL uint32 = 0x00040000 DM_PELSWIDTH uint32 = 0x00080000 DM_PELSHEIGHT uint32 = 0x00100000 DM_DISPLAYFLAGS uint32 = 0x00200000 DM_DISPLAYFREQUENCY uint32 = 0x00400000 DM_ICMMETHOD uint32 = 0x00800000 DM_ICMINTENT uint32 = 0x01000000 DM_MEDIATYPE uint32 = 0x02000000 DM_DITHERTYPE uint32 = 0x04000000 DM_PANNINGWIDTH uint32 = 0x08000000 DM_PANNINGHEIGHT uint32 = 0x10000000 DM_DISPLAYFIXEDOUTPUT uint32 = 0x20000000 DMORIENT_PORTRAIT int16 = 1 DMORIENT_LANDSCAPE int16 = 2 DMCOLOR_MONOCHROME int16 = 1 DMCOLOR_COLOR int16 = 2 DMDUP_SIMPLEX int16 = 1 DMDUP_VERTICAL int16 = 2 DMDUP_HORIZONTAL int16 = 3 DMCOLLATE_FALSE int16 = 0 DMCOLLATE_TRUE int16 = 1 DMNUP_SYSTEM uint32 = 1 DMNUP_ONEUP uint32 = 2 )
const ( PRINTER_ENUM_LOCAL = 2 PRINTER_ENUM_CONNECTIONS = 4 PRINTER_DRIVER_XPS = 0x00000002 )
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 AddCustomPaperSize ¶
func AddCustomPaperSize(printerName, paperName string, widthMM, heightMM, leftMM, topMM uint32) (err error)
AddCustomPaperSize 添加自定义纸张规格
Reference C# code ¶
- https://www.cnblogs.com/datacool/p/datacool_windowsapi_printerhelper.html - https://github.com/vanloc0301/ecouponsprinter/blob/master/ECouponsPrinter/ECouponsPrinter/Printer.cs
func DeleteCustomPaperSize ¶
DeleteCustomPaperSize 删除自定义纸张规格
func DocumentProperties ¶
func EnumForms ¶
func EnumJobs ¶
func EnumMonitors ¶
func EnumPrinters ¶
func GetPrinter ¶
func GetPrinterDriver ¶
func OpenPrinter ¶
func OpenPrinter(name *uint16, h *syscall.Handle, defaults *PrinterDefaults) (err error)
func SetPrinter ¶
Types ¶
type DOC_INFO_1 ¶
type DRIVER_INFO_8 ¶
type DRIVER_INFO_8 struct { /* DWORD cVersion; LPTSTR pName; LPTSTR pEnvironment; LPTSTR pDriverPath; LPTSTR pDataFile; LPTSTR pConfigFile; LPTSTR pHelpFile; LPTSTR pDependentFiles; LPTSTR pMonitorName; LPTSTR pDefaultDataType; LPTSTR pszzPreviousNames; FILETIME ftDriverDate; DWORDLONG dwlDriverVersion; LPTSTR pszMfgName; LPTSTR pszOEMUrl; LPTSTR pszHardwareID; LPTSTR pszProvider; LPTSTR pszPrintProcessor; LPTSTR pszVendorSetup; LPTSTR pszzColorProfiles; LPTSTR pszInfPath; DWORD dwPrinterDriverAttributes; LPTSTR pszzCoreDriverDependencies; FILETIME ftMinInboxDriverVerDate; DWORDLONG dwlMinInboxDriverVerVersion; */ Version uint32 Name *uint16 Environment *uint16 DriverPath *uint16 DataFile *uint16 ConfigFile *uint16 HelpFile *uint16 DependentFiles *uint16 MonitorName *uint16 DefaultDataType *uint16 PreviousNames *uint16 DriverDate windows.Filetime DriverVersion uint64 MfgName *uint16 OEMUrl *uint16 HardwareID *uint16 Provider *uint16 PrintProcessor *uint16 VendorSetup *uint16 ColorProfiles *uint16 InfPath *uint16 PrinterDriverAttributes uint32 CoreDriverDependencies *uint16 MinInboxDriverVerDate windows.Filetime MinInboxDriverVerVersion uint32 }
type DriverInfo ¶
DriverInfo stores information about printer driver.
type FORM_INFO_1 ¶
type FormInfo ¶
FormInfo stores information about a print form.
type JOB_INFO_1 ¶
type JOB_INFO_1 struct { /* DWORD JobId; LPTSTR pPrinterName; LPTSTR pMachineName; LPTSTR pUserName; LPTSTR pDocument; LPTSTR pDatatype; LPTSTR pStatus; DWORD Status; DWORD Priority; DWORD Position; DWORD TotalPages; DWORD PagesPrinted; SYSTEMTIME Submitted; */ 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 windows.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 MONITOR_INFO_2 ¶
type MONITOR_INFO_2 struct { Name *uint16 // Monitor name Environment *uint16 // Printer environment (e.g., Windows NT x86, Windows NT RISC, Windows 4.0) DLLName *uint16 // Path to the DLL file for the monitor }
MONITOR_INFO_2 corresponds to the Windows MONITOR_INFO_2 structure.
type MonitorInfo ¶
func GetMonitorList ¶
func GetMonitorList() ([]MonitorInfo, error)
type PRINTER_INFO_2 ¶
type PRINTER_INFO_2 struct {
// contains filtered or unexported fields
}
func (*PRINTER_INFO_2) GetDataType ¶
func (pi *PRINTER_INFO_2) GetDataType() string
type PRINTER_INFO_5 ¶
type PRINTER_INFO_9 ¶
type PRINTER_INFO_9 struct {
// contains filtered or unexported fields
}
type Printer ¶
type Printer struct {
// contains filtered or unexported fields
}
func OpenWithDefaults ¶
func OpenWithDefaults(name string, defaults *PrinterDefaults) (*Printer, error)
func (*Printer) DocumentPropertiesGet ¶
func (*Printer) DocumentPropertiesSet ¶
func (*Printer) DriverInfo ¶
func (p *Printer) DriverInfo() (*DriverInfo, error)
DriverInfo returns information about printer p driver.
func (*Printer) Forms ¶
Forms returns information about all paper size forms on the print server
func (*Printer) GetPrinter2 ¶
func (p *Printer) GetPrinter2() (printerInfo *PRINTER_INFO_2, err error)
GetPrinter2 get Printer Info 2
func (*Printer) GetPrinter9 ¶
func (p *Printer) GetPrinter9() (printerInfo *PRINTER_INFO_9, err error)
GetPrinter9 get Printer Info 9
func (*Printer) Jobs ¶
Jobs returns information about all print jobs on this printer
func (*Printer) SetPrinter2 ¶
func (p *Printer) SetPrinter2(printerInfo *PRINTER_INFO_2) (err error)
func (*Printer) SetPrinter9 ¶
func (p *Printer) SetPrinter9(printerInfo *PRINTER_INFO_9) (err error)
func (*Printer) StartRawDocument ¶
StartRawDocument calls StartDocument and passes either "RAW" or "XPS_PASS" as a document type, depending on if printer driver is XPS-based or not.
type PrinterDefaults ¶
type PrinterInfo ¶
type Rect ¶
Rect windows.Rect