Problème d'impression fichier en Java
Bonjour à tous,
je cherche en fait à imprimer un fichier HTML (représentant un emploi du temps) à partir d'une application Java.
Le programme que j'ai réalisé m'entraine bien la feuille dans l'imprimante, mais n'imprime rien... tout comme si je décide de ne pas imprimer sur une feuille, mais plutôt dans un fichier pdf, alors il me crée le fichier, mais ce dernier est vide !
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| public void imprimer()
{
String nomFichier = "config/config";
ResourceBundle resources = ResourceBundle.getBundle(nomFichier);
String fichierHtml = resources.getString("planningHtml");
String PLANNING_FILENAME = (new File(fichierHtml).getAbsolutePath());
// Récupère un PrinterJob
PrinterJob pjob = PrinterJob.getPrinterJob();
// Création d'un format de page par défaut
PageFormat pf = pjob.defaultPage();
// Orientation de l'impression : PAYSAGE
pf.setOrientation(PageFormat.LANDSCAPE);
// Définit le contenu à imprimer
pjob.setPrintable(new myPrintClass(PLANNING_FILENAME), pf);
// Nombre de copies imprimées par défaut
pjob.setCopies(1);
try {
// Affichage d'une boîte de dialogue pour l'impression
if (pjob.printDialog())
{
// Effectue l'impression
pjob.print();
}
} catch (PrinterException e){ }
} |
Je suppose donc que c'est au niveau du printable qu'il y le problème, mais je ne vois pas comment m'y prendre :(
Classe Printable :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| public class myPrintClass implements Printable
{
// Le fichier à imprimer
private File file;
// Constructeur
public myPrintClass(String filename)
{
File file = new File(filename);
this.file = file;
}
@Override
public int print(Graphics gr, PageFormat pf, int index) throws PrinterException
{
// Par défaut, retourne NO_SUCH_PAGE (= la page n'existe pas)
int ret = Printable.NO_SUCH_PAGE;
// Un emploi du temps doit être imprimable sur une et une seule page
if(index == 1)
{
/**
* A COMPLETER
*/
ret = Printable.PAGE_EXISTS;
}
return ret;
}
} |
Une idée ?!? :calim2:
En vous remerciant d'avance :ccool:
Sortie imprimante côté client pour une application web
Bonjour,
Lorsque j'ai testé mon application web en local, l'impression sur les documents est faite (il arrive à retrouver les imprimantes locales).
En déployant l'application sur un serveur central, je veux que les utilisateurs de l'application puissent imprimer les informations en utilisant leurs imprimantes locales.
Voici le bout de code pour ma classe JAVA :
Code:
1 2 3 4 5 6 7 8 9
| PrinterJob pj = PrinterJob.getPrinterJob();
PageFormat pf = pj.defaultPage();
pj.setPrintable(this, pf);
if (pj.printDialog())
try {
pj.print();
} catch (PrinterException pe) {
System.out.println("Erreur d'impression");
} |
Est ce qu'il y a une méthode JAVA spécifiant l'@ IP de l'imprimante ?
Si non, j'ai pensé à utiliser les applets qui s'exécute côté client.
Merci pour votre aide.