DIM hStampa AS Process
DIM MyReport AS String
DIM pdf AS MiaStampa
RANDOMIZE
MyReport = "/tmp/MiaStampa.pdf"
pdf = NEW MiaStampa("Portrait", "mm", "A4")
pdf.Open()
pdf.AliasNbPages()
'pdf.Data
pdf.Output(MyReport, FALSE)
hStampa = SHELL ("evince" & " " & MyReport)ultimo consiglio invece di usare cell potresti usare multicell(fatto da golia) che permette di stampare le stringhe su più righe invece di troncarle.Ti sbagli, io ho fatto multiriga e multirect (tratto sempre da multicell), multicell è di md9327.
Non sono riuscito a fare di meglio ;)
Ci avevo provato con il componente, senza riuscirci. Inoltre ho letto un post di Leo, che ha ovviato anche lui il problema con Mutt, io ho preferito Evolution..
txt2 = Conv(txt2, "UTF-8", "ISO-8859-15") txt2 = Replace(txt2, "€", Chr(128))
txt2 = Replace(txt2, "‚", Chr(130))
txt2 = Replace(txt2, "ƒ", Chr(131))
txt2 = Replace(txt2, "„", Chr(132))
txt2 = Replace(txt2, "…", Chr(133))
txt2 = Replace(txt2, "†", Chr(134))
txt2 = Replace(txt2, "‡", Chr(135))
txt2 = Replace(txt2, "ˆ", Chr(136))
txt2 = Replace(txt2, "‰", Chr(137))
txt2 = Replace(txt2, "Š", Chr(138))
txt2 = Replace(txt2, "‹", Chr(139))
txt2 = Replace(txt2, "Œ", Chr(140))
txt2 = Replace(txt2, "Ž", Chr(142))
txt2 = Replace(txt2, "‘", Chr(145))
txt2 = Replace(txt2, "’", Chr(146))
txt2 = Replace(txt2, "“", Chr(147))
txt2 = Replace(txt2, "”", Chr(148))
txt2 = Replace(txt2, "•", Chr(149))
txt2 = Replace(txt2, "–", Chr(150))
txt2 = Replace(txt2, "—", Chr(151))
txt2 = Replace(txt2, "˜", Chr(152))
txt2 = Replace(txt2, "™", Chr(153))
txt2 = Replace(txt2, "š", Chr(154))
txt2 = Replace(txt2, "›", Chr(155))
txt2 = Replace(txt2, "œ", Chr(156))
txt2 = Replace(txt2, "ž", Chr(158))
txt2 = Replace(txt2, "Ÿ", Chr(159))
txt2 = Replace(txt2, "é", Chr(233))
txt2 = Replace(txt2, "è", Chr(232))
txt2 = Replace(txt2, "£", Chr(163))
txt2 = Replace(txt2, "à", Chr(224))
txt2 = Replace(txt2, "ç", Chr(231))
txt2 = Replace(txt2, "ì", Chr(236))
txt2 = Replace(txt2, "ò", Chr(242))
txt2 = Replace(txt2, "°", Chr(176))
txt2 = Replace(txt2, "ù", Chr(249))
txt2 = Replace(txt2, "§", Chr(167))
ME.Cell(129, 3, "Prezzo Complessivo di Eur. " & " " & PrTot , FALSE, 0, "R", FALSE)ME.Cell(129, 3, "Prezzo Complessivo di € " & " " & PrTot , FALSE, 0, "R", FALSE)
ME.Cell(129, 3, "Prezzo Complessivo di " & chr(128) & PrTot , FALSE, 0, "R", FALSE)Potete?Si certo ;D almeno ci provo, casomai se scrivo qualche castroneria mi correggerà dex ;)
CitazionePotete?Si certo ;D almeno ci provo, casomai se scrivo qualche castroneria mi correggerà dex ;)
§Mi fate pianegre quando collaborate e quando seguite quello che vi dico...grazie ragazzi...sapete ancora come commuovermi!! :'(
C'è l'ho fatta!!! --- :D
MultiRiga e Multirect, sono più performanti di Cell, però con il PDF Writer che avevo io non funzionavano e quindi ho dovuto scaricare quello di Golia.... Ciao
ciao mirkco
non spaventarti per la complessità del codice, in realtà è molto semplice e facile.
pdfwriter compone le stampe con i valori x e y, in pratica sei tu a dirgli il punto esatto dove stampare.
è composto da tre settori
1) Header (che sarebbe l'intestazione della stampa e si ripete su tutte le pagine)
2) Data ( il corpo della pagina e nel caso che il testo superi tutto lo spazio aggiunge una pagina successiva)
3) Footer(la fine della pagina o piè di pagina e si ripete su tutte le pagine)
per stampare cn pdfwriter ti basta creare una classe (es. MiaStampa ) e richiamarla fal form con del codice tipo:Codice: [Seleziona]DIM hStampa AS Process
DIM MyReport AS String
DIM pdf AS MiaStampa
RANDOMIZE
MyReport = "/tmp/MiaStampa.pdf"
pdf = NEW MiaStampa("Portrait", "mm", "A4")
pdf.Open()
pdf.AliasNbPages()
'pdf.Data
pdf.Output(MyReport, FALSE)
hStampa = SHELL ("evince" & " " & MyReport)
in allegato ti inserisco un piccolo esempio che genera un pdf con un codice a barre
cmq dai un'occhiata al progetto di golia dove fà un largo uso di stampe con pdfwriter
Hai installato Evince ?
Nell'esempio c'è anche un form per vedere l'anteprima senza dover ricorrere ad Evince
edit: Hai installato il componente gb.compress?
in ogni caso le tue risposte sono sempre puntuali e degne di nota, x questo