Nп/п : 59 из 100
 От   : greg                                2:5075/128        10 сен 23 11:43:09
 К    : All                                                   10 сен 23 21:45:02
 Тема : tk print from 8.7 for 8.6
----------------------------------------------------------------------------------
                                                                                 
@MSGID:
<de5eec43-22be-4d53-9fa6-0bb83321b0f7n@googlegroups.com> 6683e34d
@REPLYADDR greg <gregor.ebbing@googlemail.com>
@REPLYTO 2:5075/128 greg
@CHRS: CP866 2
@RFC: 1 0
@RFC-Message-ID:
<de5eec43-22be-4d53-9fa6-0bb83321b0f7n@googlegroups.com>
@TZUTC: -0700
@PID: G2/1.0
@TID: FIDOGATE-5.12-ge4e8b94
Two files print-8.6erw.tcl and print-test.tcl.
tried to see if it also works with 8.6


#print-8.6erw.tcl
package require gdi
package require printer
#Tcl Extensions by Michael Schwarz
#http://wiki.tcl-lang.org/page/TkPrint
package require struct::list

namespace eval ::tk::print {
proc _opendoc {} {
    printer job start
}

proc _openpage {} {
    printer page start
}

proc _closedoc {} {
    printer job end
}

proc _closepage {} {
    printer page end
}

proc _gdi {args} {
    gdi {*}$args
    #tailcall gdi {*}$args
}

proc _selectprinter {} {
#   variable printargs
    variable printer_name
variable paper_width
variable paper_height
    variable dpi_x
variable dpi_y
variable copies
set hDc [printer dialog select]
set attr  [struct::list flatten [printer attr -hDc $hDc]]
#   set printer_name [dict get  $attr device]
#set printargs(printer_name) [dict get $attr device]
set printer_name [lindex $hDc 0]
set paper_width [lindex [dict get $attr "page dimensions"] 0]
set paper_height [lindex [dict get $attr "page dimensions"] 1]
set dpi_x [lindex [dict get $attr "pixels per inch"] 0]
set dpi_y [lindex [dict get $attr "pixels per inch"] 1]
set copies [dict get $attr copies]
}

#print-test.tcl
package require Tk
#tk 8.7
#https://core.tcl-lang.org/tips/doc/trunk/tip/604.md
#https://core.tcl-lang.org/tk/file?name=library/print.tcl&ci=tip

source print.tcl
source print-8.6erw.tcl

text .t
button .btn -text print -command {tk print .t}
.t insert end "hello World"
pack .t .btn

--- G2/1.0
 * Origin: usenet.network (2:5075/128)
SEEN-BY: 5001/100 5005/49 5015/255 5019/40 5020/715
848 1042 4441 12000
SEEN-BY: 5030/49 1081 5058/104 5075/128
@PATH: 5075/128 5020/1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх