allora ragazzi nessuno tira fuori dal cappello un'espressione regolare per eliminare questi caratteri antipatici di word...![]()
![]()
![]()
o per lo meno è possibile secondo voi con regular expressione ed asp... fare questo?
saluti
giuseppe
allora ragazzi nessuno tira fuori dal cappello un'espressione regolare per eliminare questi caratteri antipatici di word...![]()
![]()
![]()
o per lo meno è possibile secondo voi con regular expressione ed asp... fare questo?
saluti
giuseppe
L'interlinea funziona, grazie!
Ora ho un altro problema: ho due variabili che contengono due elenchi (quindi una parola e a capo, una parola e a capo e via discorrendo). Pensavo di usare i multicell per stampare queste due variabili su due colonne dividendo a metà la pagina, però dopo ogni multicell va a caporiga senza che glielo dica... sapete aiutarmi anche in questo?
Grazie!
Anche voi ci avete sbattuto la testa, vero?Originariamente inviato da centro
Kuilsera...
hai perfettamente ragione... multicell funge alla perfezione...
ma anche grazie all'aiuto di un post precedente....
credo di aver trovato il problema...
SOLUZIONE
Lo scrivo per chi come me potrebbe impazzire per giorni...![]()
![]()
![]()
Il testo che fuoriesce si verifica soltanto quando il testo è copiato da word....
ciò che fa sballare il multicell (il testo fuoriesce a destra...)
sono quei particolari caratteri che vegono messi in word ho risolto....
nel mio caso.. facendo il replace di questi caratteri...
testo_abstract=replace(testo_abstract,"”" ,"""")
testo_abstract=replace(testo_abstract,"“" ,"""")
testo_abstract=replace(testo_abstract,"’" ,"'")
testo_abstract=replace(testo_abstract,"•" ,"*")
testo_abstract=replace(testo_abstract,"–" ,"-")
Ora il testo non esce più fuori...
quid il problema non era di multicell ma credo si tratti di un bug di questa libreria...
A questo punto volevo chiedere se esiste qualcosa in asp che mi faccia un replace anche con il nulla... di tutti questi caratteri strani! Anche perchè io ho trovato quelli che danno problemi a me ma ce ne potrebbero essere altri..
Se no.. magari chiedo nel forum di javascript se è possibile con una regular expression eliminare questi problemi in imput.
Una buona giornata
Giuseppe
Allora non sono stato l'unico.
Innnazitutto considerate che se inseriti dei caratteri speciali, ovvero quelli non strettamente ascii (per intenderci anche la ù oppure A' -come unico carattere ) da lo stesso problema.
La stessa cosa succede (con Multicell) se inserite il carattere €
Insomma un gran casino.
Risolto facendo singole update di modifica di tutti i caratteri ascii non standard esistenti (si insomma i più comuni) e al posto del € non ho potuto che sostituirlo con "euro".
Se avete bisogno dell'update, ad esempio potete utilizzare questa
In asp però non so come si possa fare.codice:update anagenti set DESC_INDI=replace(DESC_INDI,chr(141),'i''')
![]()
Non è molto chiaro cosa contengono le due variabili...Originariamente inviato da Teo80
L'interlinea funziona, grazie!
Ora ho un altro problema: ho due variabili che contengono due elenchi (quindi una parola e a capo, una parola e a capo e via discorrendo). Pensavo di usare i multicell per stampare queste due variabili su due colonne dividendo a metà la pagina, però dopo ogni multicell va a caporiga senza che glielo dica... sapete aiutarmi anche in questo?
Grazie!
Comunque prova ad utilizzare Table invece di Multicell... sempre che non ci devi fare cose troppo complicate (anche il neretto di parte del testo, lo è purtroppoVVoVe: )
![]()
Le due variabili contengono elenchi nel senso che contengono parole separate da un vbcrlf.
Ma com'è la sintassi del table?
Intanto ho risolto facendo una funzione per suddividere correttamente le colonne e utilizzando le "più sicure" cell...
La cosa è abbastanza semplice, solo che fortemente limitata (nella versione ASP delle librerie gratuite fpdf)
Scrivimi in privato e ti mando degli esempi.
Però domani, che ora scappo...![]()
![]()
Ciao Teo80, scusami se non ti ho più risposto ma in questo periodo sono pieno di lavoro.L'interlinea funziona, grazie!
Ora ho un altro problema: ho due variabili che contengono due elenchi (quindi una parola e a capo, una parola e a capo e via discorrendo). Pensavo di usare i multicell per stampare queste due variabili su due colonne dividendo a metà la pagina, però dopo ogni multicell va a caporiga senza che glielo dica... sapete aiutarmi anche in questo?
Grazie!
Per quanto riguarda il problema di non andare a capo, MultiCell non va bene. Puoi utilizzare Cell nel quale è presente il parametro "ln" che ti permette di scegliere ciò.
Altrimenti puoi utilizzare le "Table", ma hai bisogno dell'estensione "table.ext".
Di seguito ti riporto l'estensione table.ext e un esempio di utilizzo:
table.ext
Esempio:Codice PHP:var widths;
this.Table = {Border:{Width:0.1,Color:''},Fill:{Color:''},TextAlign:"J", TextValign:"U"}
this.SetColumns=function(){this.widths=arguments;}
this.HexToRGB=function(value){
var ar=new Array()
s= new String(value.toUpperCase());
ar["R"] = parseInt(s.substring(0,2),16);
ar["G"] = parseInt(s.substring(2,4),16);
ar["B"] = parseInt(s.substring(4,6),16);
return ar;
}
this.Row=function()
{
var xdata = arguments
var xi;var xh;var xnb;var xnbmax;
var xw;
xnb=0;
xnbmax=0;
for(xi=0;xi<xdata.length;xi++){xnbmax=Math.max(xnbmax,this.NbLines(this.widths[xi],xdata[xi]))};
xh=(xnbmax)*5;
this.CheckPageBreak(xh);
for(xi=0;xi<xdata.length;xi++)
{
xw=this.widths[xi];
xx=this.GetX();
xy=this.GetY();
xnb=this.NbLines(this.widths[xi],xdata[xi])
if (this.Table.Border.Width>0||this.Table.Fill.Color!=''){
var xstyle='';
this.SetLineWidth(this.Table.Border.Width);
if(this.Table.Border.Color!=''){
var RGB = this.HexToRGB(this.Table.Border.Color);
this.SetDrawColor(RGB["R"],RGB["G"],RGB["B"]);
xstyle+='D';
}
if(this.Table.Fill.Color!=''){
var RGB = this.HexToRGB(this.Table.Fill.Color);
this.SetFillColor(RGB["R"],RGB["G"],RGB["B"]);
xstyle+="F"
}
this.Rect(xx,xy,xw,xh,xstyle);
}
//Next 3 lines set vertical alignment
if(this.Table.TextValign=="B"){this.SetXY(xx,xy+(xnbmax-xnb)*5)};
else if(this.Table.TextValign=="M"){this.SetXY(xx,xy+(xnbmax-xnb)*5/2)};
else this.SetXY(xx,xy);
this.MultiCell(xw,5,xdata[xi],0,this.Table.TextAlign);
this.SetXY(xx+xw,xy);
}
this.Ln(xh);
}
this.CheckPageBreak=function(xh)
{
if(this.GetY()+xh>this.PageBreakTrigger)this.AddPage(this.CurOrientation);
}
this.NbLines=function(xw , xtxt)
{
var xnb;
xcw=this.CurrentFont["cw"];
if(xw==0)xw=this.w-(this.rMargin)-this.x;
xwmax=((xw)-2*(this.cMargin))*1000/(this.FontSize);
xs=lib.str_replace("\r","",xtxt);
xnb=xs.length;
if(xnb>0 && xs.charAt(xnb-1)=="\n")xnb--;
xsep=-1;
xi=0;
xj=0;
xl=0;
xnl=1;
while(xi<xnb)
{
xc=xs.charAt(xi);
if(xc=="\n")
{
xi++;
xsep=-1;
xj=xi;
xl=0;
xnl++;
continue;
}
if(xc==" ")xsep=xi;
xl+=(xcw[xc]);
if(xl>xwmax)
{
if(xsep==-1)
{
if(xi==xj)xi++;
}
else xi=xsep+1;
xsep=-1;
xj=xi;
xl=0;
xnl++;
}
else {xi++;}
}
return xnl;
}
Per altre informazioni, resto a disposizioneCodice PHP:<%@language=vbscript%>
<%
Dim pdf
Set pdf=CreateJsObject("FPDF")
pdf.CreatePDF()
pdf.SetPath("fpdf/")
pdf.LoadExtension("table")
pdf.Open()
pdf.AddPage()
pdf.SetColumns 47.5,47.5,47.5,47.5
pdf.Table.Fill.Color = ""
pdf.Table.TextAlign = "L"
pdf.SetFont "Arial", "",10
pdf.Row "Prova 1", "Prova 2", "Prova 3", "Prova 4"
pdf.Row "Prova 5", "Prova 6", "Prova 7", "Prova 8"
pdf.Close()
pdf.Output()
%>
![]()
Questa estensione si può usare come freeware come fpdf? Dovrei essere sicuro di questo.
Grazie mille intanto!
Questo materiale è consultabile nel forum del sito di http://www.aspxnet.it/public/Default.asp?page=58.
Precisamente da questo link http://www.aspxnet.it/forum/topic.asp?TOPIC_ID=137
![]()
Grazie ancora per la disponibilità!