Newsgroup: it.comp.java
Titolo: svg

Ciao a tutti,
sto cercando di creare una libreria in grado di sostituire del testo
in un file di grafica vettoriale, all'inizio ho provato con dei pdf ma
mi sono accorto che non era veramente possibile. Ora ho visto che
esiste lo standard svg che scrive in xml e questo rende tutto molto
più semplice. Le domande che vorrei porre ai più esperti sono:
"Quali sono i tag dove posso trovare del testo??"
"Ma quando un testo viene rasterizzato viene proprio trasformato in
forme oppure viene mantenuto il testo e poi c'è una proprietà che dice
che è rasterizzato??"
Grazie a tutti ciao!

danilos...@gmail.com
 wrote:

qui trovi la risposta a tutte le tue domande:
http://www.w3.org/TR/SVG/
-- 
Davide Consonni

 che è rasterizzato??"
Rasterizzato? Il formato raster è equivalente al bitmap: definito 
tramite una griglia di punti.
Forse volevi riferirti al trasformare un elemento testo in un "tracciato"?
Nel qual caso il testo originale viene perso e sostituito con un tag path.
Ciao,
Paolo

Per quanto riguarda le prove con i pdf...
sul libro itext in action, ora non ti posso dire dove esattamente, ma
nel paragrafo sulle editing e manipulating pdf c'era scritto che si
può manipolare (splittare un pdf, aggiungere pagine da altri file ecc)
mentre per editare il testo suggeriva di usare pdfbox.
L'ho usato e c'era pure un esempio chiamato ReplaceString.
Quello che fa l'esempio è dividere il documento in tokens e scorrersi
la list di tokens fin quando non trova oggetti di tipo COSString e
COSArray. COSString è un'oggetto rappresentante del testo in pdf. E'
possibile appendere altre stringhe, o  sostituirle.
COSArray invece è un lista di vari oggetti tra cui COSString.
Se la parola "ciao chicco!" è scritta semplicemente dentro una
COSString allora è molto facile editare quel testo e sostituirlo con
un testo nuovo. cosString.reset();
cosString.append("Daje!!!".getBytes());
mentre se sta dentro un cosArray allora la storia è più complicata
perché la frase è divisa in più cosString.
Di solito mi trovavo nell'array i seguenti elementi "ci", Integer(40),
"ao ", Integer(30), "chic", Integer(20),"co"
Allora ho provato a sostituire la prima stringa "ci" con "Daje!!!" e
tutte le altre con stringa vuota.
E anche altre prove come eliminando questi integer o sostituendo
l'array con una cosString.
Il risultato era che il modello a oggetti del pdf veniva
effettivamente cambiato ma dava dei problemi strani in
visualizzazione.
Veniva visualizzata una parte del testo e poi un carattere strano
fatto da un rettangolo verticale con le diagonali che si incrociano.
Ho fatto svariati test.. ma non funzionano.
Per questo sto cercando di fare tutto in svg.
Spero di essere stato chiaro. Se tu sapessi qualcosa che non ho ancora
capito sui pdf (molto probabile... perché mi sento che non ci ho
capito nulla!!! ) ti prego di farmelo sapere..
Grazie dell'aiuto
Danilo


Dividere il post in paragrafi separati da linee vuote lo renderebbe piu' 
leggibile.
-- 
Andrea Francia
http://www.andreafrancia.it/

 Per questo sto cercando di fare tutto in svg.
Personalmente preferisco l'SVG al PDF ma va detto che lo uso soprattutto 
per la grafica, poco per i testi.
Riguardo alla tua domanda iniziale: se puoi scegliere tra formati 
diversi, da dove ti arriva il file che vuoi modificare? Lo generi tu?
Ciao,
Paolo

Ciao Pablo,
La sorgente di questi file la posso decidere io, posso tranquillamente
chiedere dei file svg.
Approfitto della tua conoscenza per proporti un caso d'uso:
Ho un documento svg che utilizza un font particolare che non tutti
hanno installato.
Quindi per evitare che il testo venga visualizzato con altri font
potrei "rasterizzare" il testo
in maniera da farlo diventare una forma.
Immagino che se riuscissi ad avere a disposizione il font in questione
esista una libreria che
rasterizzi il testo.
Mi sai dire che libreria posso utilizzare?
Saluti Danilo

 Mi sai dire che libreria posso utilizzare?
In passato (ora lavoro con altre tecnologie) avevo utilizzato gli 
strumenti che trovi qui ben descritti:
http://java.sun.com/developer/technicalArticles/GUI/svg/
però ora sinceramente non ricordo proprio se ci fosse una funzione 
specifica text -> path.
Tra l'altro sono prodotti proprietari.
Credo comunque che il problema rientri nella casistica precedente: se 
devi usare font particolari o altri "effetti" dipendenti 
dall'installazione sui client è decisamente più idoneo il PDF all'SVG 
(nato per essere un formato web, indipendente dalla piattaforma).
Ciao,
Paolo