Visualizzazione dei risultati da 1 a 2 su 2

Discussione: modificare docx

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    309

    modificare docx

    Ciao
    ho guardato un pò in giro ma non sono riuscito a trovare l'ultima parte che cerco.
    provo a spiegarmi:
    ho dei documenti doc/docx. Dentro ho inserito dei valori ad esempio $data$.
    questi caratteri li devo sostituire con valori che provengono da un file xml.
    in pratica è una sorta di stampa unione...
    la lettura dell'xml è ok.
    la lettura del file docx tramite java.util.zip è ok
    ora non riesco a capire come fare per cambiare parte di testo.

    di seguito il codice:
    codice:
    import java.util.zip.*;
            
    public class TestZip {
        
        public static void main(String args[]){
            
           
            try{
                ZipInputStream zis = new ZipInputStream(new FileInputStream("c:/P03_md07_modello_st_unione.docx") );
                ZipOutputStream zos = new ZipOutputStream(new FileOutputStream("c:/P03_md07_modello_st_unione.docx") );
                ZipEntry entry;
                while((entry=zis.getNextEntry())!=null){
                    if(entry.getName().equals("word/document.xml")){
                        System.out.println(entry.getName());
                        BufferedReader br = new BufferedReader(new InputStreamReader(zis));
                       
                         
                        String s;
                        while((s=br.readLine())!=null){
                            if(s.contains("$data$")){
                                System.out.println(s);
                                s.replace("$data$", "ok funge");
                                
                            }
                        }
                    }
                    
                }
                        }
            catch(Exception e){
                e.printStackTrace();
            } 
        }
    }
    grazie mille per i suggerimenti
    tomcat 6.016
    netbeans 6.1

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    309
    purtroppo sto ancora impazzendo...
    ho fatto un pò di prove ma ottengo:
    java.util.zip.ZipException: invalid entry compressed size (expected 358 but got 341 bytes)
    di seguito la porzione di codice:
    codice:
    try {
                ZipInputStream zis = new ZipInputStream(new FileInputStream("c:/test_richiedente.docx") );
                ZipOutputStream zos = new ZipOutputStream(new BufferedOutputStream(
                        new FileOutputStream("c:/test_richiedenteOK.docx")));
                ZipEntry entry; 
                String Dir = "c:/word";
                boolean success = (new File(Dir)).mkdir();
                if(success)
                    System.out.println("Cartella creata");
                
                FileOutputStream file = new FileOutputStream("c:/word/file.txt");
                
                while((entry = zis.getNextEntry()) != null) {
                    System.out.println(entry.getName());
                    zos.putNextEntry(entry);
                    int count;
                    byte[] data = new byte[1024]; 
                    while((count = zis.read(data,0,1024)) != -1) { 
                        zos.write(data, 0, count);
                    }
                    
                    zos.flush();
                    
                    BufferedReader br = new BufferedReader(new InputStreamReader(zis));
                    String s;
    
                    while((s=br.readLine())!=null){
                        if(s.contains("$data$")){
                            //System.out.println(s);
                            s = s.replace("$data$", "ok funge");
                            //System.out.println(s);
                            //fw.write(s);
                        }
                    }
                }
                
                zis.close();
            }
    in pratica sto provando a estrarre il contenuto del docx e trasferirlo in un altro.
    tomcat 6.016
    netbeans 6.1

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.