Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Stampare pdf

  1. #1

    Stampare pdf

    Ciao a tutti, ho un problema con la stampa di un file pdf.
    Riassumendo ho creato un piccolo programma che presi dei dati immessi tramite una GUI, crea un file xml, il quale viene immagazzinato in un database mysql. Poi il file xml viene convertito a pdf con il pacchetto fop e quindi stampato con il pacchetto pdfbox.
    Provata l'applicazione su una macchina sotto Linux Fedora, tutto funziona correttamente. Testata su Win XP tutto va liscio ma al momento della stampa il foglio presenta tutti i bordi, le tabelle, le righe, ma niente testo...
    Naturalmente il file pdf creato è perfetto.
    Guardando un po' in internet e nella documentazione di pdfbox ho pensato che il problema fosse che mancassero alcuni font, soprattutto Helvetica. L'ho installato sul sistema senza che ci fosse alcun cambiamento. Ho provato anche a farlo caricare separatamente da pdfbox con la classe PDFont, inutile...
    Il problema è anche che non riesco ad individuare l'intoppo perché lo standar output dell'applicazione non segnala nulla.
    Per completezza vi dico anche che mentre costruivo l'applicazione ho provato a stampare il pdf usando PDFRenderer ma con risultati non soddisfacenti, perché durante la stampa rimpiccioliva la pagina.
    A questo punto non so davvero dove mettere mano e vi chiedo aiuto.
    Grazie per l'attenzione.

    Ciao

    Matteo

  2. #2
    Non ricevendo risposta, ho provato ad arrangiarmi alla meglio.
    Sotto Linux/Mac Os ho risolto con le API Java visto che il sistema Cups gestisce tranquillmanete PDF/PS.
    Su Windows naturalmente ci sono problemi perché grazie ai driver proprietari la mia stampante non è in grado di gestire nessun file... Stendiamo un velo pietoso...
    L'unica soluzione trovata, seppur poco elegante, è quella di appoggiarmi ad un programma terzo come ghostscript/ghostview e la classe Runtime con il seguente codice:
    Codice PHP:
    System.out.println("Sistema Windows");
                
                
    String[] comando = {
                        
    Modello12.psprint,
                        
    psfile.getAbsolutePath()
                };
                
    Runtime run Runtime.getRuntime();
                try {
                    
    Process proc run.exec(comando);
                    
    InputStream stderr proc.getErrorStream();
                    
    InputStreamReader isr = new InputStreamReader(stderr);
                    
    BufferedReader br = new BufferedReader(isr);
                    
    String line null;
                    
    System.out.println("<ERROR>");
                    while ( (
    line br.readLine()) != null)
                        
    System.out.println(line);
                    
    System.out.println("</ERROR>");
                    
    int exitVal 0;
                    try {
                        
    exitVal proc.waitFor();
                    } catch (
    InterruptedException e) {
                        
    // TODO Auto-generated catch block
                        
    e.printStackTrace();
                    }
                    
    System.out.println("Process exitValue: " exitVal);

                } catch (
    IOException e) {
                    
    // TODO Auto-generated catch block
                    
    e.printStackTrace();
                } 
    Modello12.psprint è una stringa che contiene il path di psprint.exe, il programma che stampa direttamente un file .ps che viene dato come argomento.
    L'inghippo è che l'applicazione manda il comando correttamente ma la stampa non inizia se non quando si chiude il programma e non riesco a capire il perché...
    Praticamente controllando lo spool di stampa il documento rimane in attesa accodato finché non si esce dal programma principale.
    Qualche suggerimento?
    Grazie

    Matteo

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.