2010-03-19 25 views

risposta

5

Prova PDF Renderer. È open source e ci sono un paio di esempi sul sito su come eseguire il rendering su un dispositivo stampante.

4

Ho già utilizzato PDFBox per un'attività simile alla tua. È una libreria eccellente dal Apache Software Foundation. La classe che probabilmente userete è chiamata: PDFTextStripper. Il javadoc per la classe può essere trovato here.

+0

_Come nota a margine: _ per stampare un PDF esistente sarebbe sufficiente caricarlo e stamparlo, ad esempio: 'PDDocument pdfDocument = PDDocument.load (new File (" mydoc.pdf ")); pdfDocument.print(); '. Oppure usa ['pdfDocument.silentPrint()'] (http://pdfbox.apache.org/docs/1.8.10/javadocs/org/apache/pdfbox/pdmodel/PDDocument.html#silentPrint()) per stampare senza richiesta. Cioè senza mai usare l'istanza di PDFTextStripper. – informatik01

9

Ecco qualche codice sorgente che vi permetterà di stampare qualsiasi file di testo:

public void print() { 
    //The desktop api can help calling other applications in our machine 
    //and also many other features... 
    Desktop desktop = Desktop.getDesktop(); 
    try { 
    //desktop.print(new File("DocXfile.docx")); 
     desktop.print(new File("Docfile.pdf")); 
    } catch (IOException e) {   
     e.printStackTrace(); 
    } 
} 

Forse è adatto alle vostre esigenze dal momento che non ha dato ulteriori dettagli.

+1

C'è un modo per specificare anche il nome della stampante? grazie – user234194

+1

@ user234194 non lo penso, ma per maggiori informazioni sull'API Desktop, dare un'occhiata a: 'http: // java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api /' – sfrj

Problemi correlati