Holas.
Directo al grano.
Tengo un modulo que imprime etiquetas. Todo Bien, Imprimo 2 tipos distintos de etiquetas ,la primera de 10cm * 3.5 cm y la segunda de 3 * 2 cm ( estas vienen de 3 por linea)
El usuario Elige el papel a travez de las opciones que le indica la impresora. Las 2 medidas de las etiquetas estan agregadas a traves de las propiedades del servidor de impresion con nombre bien claros...pero.. un cliente me pidio que no se tubiera que elejir el papel, solo imprimir directamente y que mi programa controle todo.
ESO. como elijo directamente el nombre del formulario guardado en el servidor de impresion al mandar a imprimir. ( Los nombres de los formularios los tengo claros, pues los crean de acuerdo a un patron fijado)
Son impresoras ZEBRA 2844, 3842 y algunas Argox.
Gracias de antemano y saludos
EDitado..
Tambien se pueden crear 3 tipos nuevos si el cliente decide cambiar unas etiquetas por otras.. largo de explicar, solo que pueden no solo ser 2 tipos sino que mas.
Desde Chile
Adolfo
Cambiar Tamaño de Papel al imprimir
Cambiar Tamaño de Papel al imprimir
![Wink ;-)](./images/smilies/icon_wink.gif)
http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 2 * 1 TB NVME M.2, GTX 1650
Re: Cambiar Tamaño de Papel al imprimir
UP....
Nadie por ahi que sepa algo o me diga 'onde mirar
Grax
Nadie por ahi que sepa algo o me diga 'onde mirar
Grax
![Wink ;-)](./images/smilies/icon_wink.gif)
http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 2 * 1 TB NVME M.2, GTX 1650
-
- Posts: 116
- Joined: Wed Mar 11, 2009 7:32 pm
- Location: Obregon, Sonora, Mexico
Re: Cambiar Tamaño de Papel al imprimir
Puedes usar OPRINT:SETSIZE(2500, 2030) es el tamaño de papel a usar ay tu lo manipulas o ya establecidos con
OPRINT:SETPAGE(14)
los numeros que puedes usar son los siguientes:
#define DMPAPER_LETTER 1 // Letter 8 1/2 x 11 in
#define DMPAPER_LETTERSMALL 2 // Letter Small 8 1/2 x 11 in
#define DMPAPER_TABLOID 3 // Tabloid 11 x 17 in
#define DMPAPER_LEDGER 4 // Ledger 17 x 11 in
#define DMPAPER_LEGAL 5 // Legal 8 1/2 x 14 in
#define DMPAPER_STATEMENT 6 // Statement 5 1/2 x 8 1/2 in
#define DMPAPER_EXECUTIVE 7 // Executive 7 1/4 x 10 1/2 in
#define DMPAPER_A3 8 // A3 297 x 420 mm
#define DMPAPER_A4 9 // A4 210 x 297 mm
#define DMPAPER_A4SMALL 10 // A4 Small 210 x 297 mm
#define DMPAPER_A5 11 // A5 148 x 210 mm
#define DMPAPER_B4 12 // B4 250 x 354
#define DMPAPER_B5 13 // B5 182 x 257 mm
#define DMPAPER_FOLIO 14 // Folio 8 1/2 x 13 in
#define DMPAPER_QUARTO 15 // Quarto 215 x 275 mm
#define DMPAPER_10X14 16 // 10x14 in
#define DMPAPER_11X17 17 // 11x17 in
#define DMPAPER_NOTE 18 // Note 8 1/2 x 11 in
#define DMPAPER_ENV_9 19 // Envelope #9 3 7/8 x 8 7/8
#define DMPAPER_ENV_10 20 // Envelope #10 4 1/8 x 9 1/2
#define DMPAPER_ENV_11 21 // Envelope #11 4 1/2 x 10 3/8
#define DMPAPER_ENV_12 22 // Envelope #12 4 \276 x 11
#define DMPAPER_ENV_14 23 // Envelope #14 5 x 11 1/2
#define DMPAPER_CSHEET 24 // C size sheet
#define DMPAPER_DSHEET 25 // D size sheet
#define DMPAPER_ESHEET 26 // E size sheet
#define DMPAPER_ENV_DL 27 // Envelope DL 110 x 220mm
#define DMPAPER_ENV_C5 28 // Envelope C5 162 x 229 mm
#define DMPAPER_ENV_C3 29 // Envelope C3 324 x 458 mm
#define DMPAPER_ENV_C4 30 // Envelope C4 229 x 324 mm
#define DMPAPER_ENV_C6 31 // Envelope C6 114 x 162 mm
#define DMPAPER_ENV_C65 32 // Envelope C65 114 x 229 mm
#define DMPAPER_ENV_B4 33 // Envelope B4 250 x 353 mm
#define DMPAPER_ENV_B5 34 // Envelope B5 176 x 250 mm
#define DMPAPER_ENV_B6 35 // Envelope B6 176 x 125 mm
#define DMPAPER_ENV_ITALY 36 // Envelope 110 x 230 mm
#define DMPAPER_ENV_MONARCH 37 // Envelope Monarch 3.875 x 7.5 in
#define DMPAPER_ENV_PERSONAL 38 // 6 3/4 Envelope 3 5/8 x 6 1/2 in
#define DMPAPER_FANFOLD_US 39 // US Std Fanfold 14 7/8 x 11 in
#define DMPAPER_FANFOLD_STD_GERMAN 40 // German Std Fanfold 8 1/2 x 12 in
#define DMPAPER_FANFOLD_LGL_GERMAN 41 // German Legal Fanfold 8 1/2 x 13 in
saludos
OPRINT:SETPAGE(14)
los numeros que puedes usar son los siguientes:
#define DMPAPER_LETTER 1 // Letter 8 1/2 x 11 in
#define DMPAPER_LETTERSMALL 2 // Letter Small 8 1/2 x 11 in
#define DMPAPER_TABLOID 3 // Tabloid 11 x 17 in
#define DMPAPER_LEDGER 4 // Ledger 17 x 11 in
#define DMPAPER_LEGAL 5 // Legal 8 1/2 x 14 in
#define DMPAPER_STATEMENT 6 // Statement 5 1/2 x 8 1/2 in
#define DMPAPER_EXECUTIVE 7 // Executive 7 1/4 x 10 1/2 in
#define DMPAPER_A3 8 // A3 297 x 420 mm
#define DMPAPER_A4 9 // A4 210 x 297 mm
#define DMPAPER_A4SMALL 10 // A4 Small 210 x 297 mm
#define DMPAPER_A5 11 // A5 148 x 210 mm
#define DMPAPER_B4 12 // B4 250 x 354
#define DMPAPER_B5 13 // B5 182 x 257 mm
#define DMPAPER_FOLIO 14 // Folio 8 1/2 x 13 in
#define DMPAPER_QUARTO 15 // Quarto 215 x 275 mm
#define DMPAPER_10X14 16 // 10x14 in
#define DMPAPER_11X17 17 // 11x17 in
#define DMPAPER_NOTE 18 // Note 8 1/2 x 11 in
#define DMPAPER_ENV_9 19 // Envelope #9 3 7/8 x 8 7/8
#define DMPAPER_ENV_10 20 // Envelope #10 4 1/8 x 9 1/2
#define DMPAPER_ENV_11 21 // Envelope #11 4 1/2 x 10 3/8
#define DMPAPER_ENV_12 22 // Envelope #12 4 \276 x 11
#define DMPAPER_ENV_14 23 // Envelope #14 5 x 11 1/2
#define DMPAPER_CSHEET 24 // C size sheet
#define DMPAPER_DSHEET 25 // D size sheet
#define DMPAPER_ESHEET 26 // E size sheet
#define DMPAPER_ENV_DL 27 // Envelope DL 110 x 220mm
#define DMPAPER_ENV_C5 28 // Envelope C5 162 x 229 mm
#define DMPAPER_ENV_C3 29 // Envelope C3 324 x 458 mm
#define DMPAPER_ENV_C4 30 // Envelope C4 229 x 324 mm
#define DMPAPER_ENV_C6 31 // Envelope C6 114 x 162 mm
#define DMPAPER_ENV_C65 32 // Envelope C65 114 x 229 mm
#define DMPAPER_ENV_B4 33 // Envelope B4 250 x 353 mm
#define DMPAPER_ENV_B5 34 // Envelope B5 176 x 250 mm
#define DMPAPER_ENV_B6 35 // Envelope B6 176 x 125 mm
#define DMPAPER_ENV_ITALY 36 // Envelope 110 x 230 mm
#define DMPAPER_ENV_MONARCH 37 // Envelope Monarch 3.875 x 7.5 in
#define DMPAPER_ENV_PERSONAL 38 // 6 3/4 Envelope 3 5/8 x 6 1/2 in
#define DMPAPER_FANFOLD_US 39 // US Std Fanfold 14 7/8 x 11 in
#define DMPAPER_FANFOLD_STD_GERMAN 40 // German Std Fanfold 8 1/2 x 12 in
#define DMPAPER_FANFOLD_LGL_GERMAN 41 // German Legal Fanfold 8 1/2 x 13 in
saludos
Benjamin Casarrubias Moreno
Cd. Obregon, Sonora, Mexico
chino72vale@hotmail.com
Fivewin 16.05, Harbour 3.2, xharbour 1.2.1, Fivelinux, visual estudio 2013
Cd. Obregon, Sonora, Mexico
chino72vale@hotmail.com
Fivewin 16.05, Harbour 3.2, xharbour 1.2.1, Fivelinux, visual estudio 2013
- Carles
- Posts: 1149
- Joined: Fri Feb 10, 2006 2:34 pm
- Location: Barcelona
- Been thanked: 7 times
- Contact:
Re: Cambiar Tamaño de Papel al imprimir
Adolfo,
Te anexo parte de codigo por si te sirve...
Te anexo parte de codigo por si te sirve...
Code: Select all | Expand
*-----------------------------
METHOD Activate() CLASS RptRun
*-----------------------------
// Validate ::oReport
IF ValType( ::oReport ) <> 'O'
MsgAlert( TXT_RUN_RPT_NO_DEFINED, TXT_FWRPT )
RETU NIL
ENDIF
::cDateStart := FormatDate( Date(), ::oReport:cFormatDate )
::cTimeStart := Time()
// --------------------------------------------
// Si ofrecemos la posibilidad de cambiar el tama¤o, siempre deberemos
// especificarlo, sino el preview no se vera bien. De momento lo ajustamos
// cuando sea definido por el user, y cuando sea automatico de momento
// lo ponemos a pelo para A4
IF ::oReport:nPaperSize == 0 // USER DEFINED
PrnSetSize( ::oReport:nWidth * 10 , ::oReport:nHeight * 10 )
ELSE
PrnSetSize( 209.97 * 10, 296.97 * 10 ) // A4 Pendiente de resolver para otros tipos
ENDIF
::oPrn := PrintBegin( ::cTitle , ::lFromUser, ::lPreview,, .f., .f. )
IF Empty( ::oPrn:hDC )
MsgAlert( TXT_RUN_PRINTER_NOT_READY, TXT_ERROR )
RETU NIL
ENDIF
IF ::oReport:nPaperSize > 0 // PAPER DEFINED
::oPrn:SetPage( ::oReport:nPaperSize )
ENDIF
IF ::oReport:lPortrait
::oPrn:SetPortrait()
ELSE
::oPrn:SetLandscape()
ENDIF
IF ::nCopies > 1
::oPrn:SetCopies( ::nCopies )
ENDIF
* InfoPrn( ::oPrn ) // For debug...
::Start()
RETU NIL
Salutacions, saludos, regards
"...programar es fácil, hacer programas es difícil..."
UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
"...programar es fácil, hacer programas es difícil..."
UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
Re: Cambiar Tamaño de Papel al imprimir
Gracias a ambos.....
Pruebo y les comento si me funciono.
Saludos desde Chile
Pruebo y les comento si me funciono.
Saludos desde Chile
![Wink ;-)](./images/smilies/icon_wink.gif)
http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 2 * 1 TB NVME M.2, GTX 1650