Je suis donc en train d'écrire un programme java pour que mon père puisse imprimer des reçus et d'autres choses. Mon intention initiale était d'imprimer à son Imprimante de reçu quelques informations concernant chaque transaction qu'il a faite. Cependant, l'imprimante a du mal à imprimer ce que j'envoie sans l'écrêter à un point extrême. Ma prochaine idée, qui a très bien fonctionné, était de sauvegarder la "réception" dans un fichier XPS, puis d'imprimer le XPS, ce qui ne le couperait pas et rendrait tout agréable. Maintenant, je peux imprimer dans un fichier XPS en utilisant XPS Document Writer PrintService de Microsoft. Le problème est, quand je le fais, il apparaît toujours une boîte demandant le nom du fichier et l'emplacement pour l'enregistrer dans.JAVA - Impression XPS sans nom de fichier/emplacement Pop-up
Y a-t-il une façon de le régler de manière à ne pas afficher ce pop-up?
Code actuel:
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintable(this);
try {
job.print();
} catch (PrinterException ex) {
// The job did not successfully complete
}
-
@Override
public int print(Graphics g, PageFormat pf, int page) throws PrinterException {
String temp;
if (page > 0) { /* We have only one page, and 'page' is zero-based */
return NO_SUCH_PAGE;
}
Graphics2D g2d = (Graphics2D)g;
g2d.translate(pf.getImageableX(), pf.getImageableY());
int lineSize=20;
Font testFont=new Font("Lucida Console", 0, 20);
g.setFont(testFont);
g.drawString(" Fatura/Recibo nº"+nmrRec+" ", 5, 20);
return PAGE_EXISTS;
}
Ce code est juste en train de lire « fichier » et de l'écriture dans le nouveau fichier XPS à C: \ Users \, non? Comment puis-je dessiner des choses? Auparavant, je remplaçais la méthode d'impression de PrinterJob (depuis son résumé) et j'ai obtenu un Graphics2D à partir de là. Puis-je construire "doc" avec cet objet Graphics à la place de l'inputtream? Si oui, comment l'initialiser? –
BlueMoon93
Au lieu d'un InputStream, implémentez 'java.awt.print.Printable' et passez cet objet d'implémentation au constructeur SimpleDoc. J'ai mis à jour le code en conséquence. – VGR
A travaillé, merci beaucoup =) – BlueMoon93