Partage
  • Partager sur Facebook
  • Partager sur Twitter

Bug taille printable

    25 mai 2016 à 23:33:57

    Salutation :D ,

    Je suis en train de tester l'impression en java, j'utilise donc les classes PrinterJob ainsi que l'interface Printable, et je cherche un moyen pour modifier la taille de la page avant l'impression (je fais des test en imprimant le fichier comme étant un PDF), en lisant la doc, j'ai remarqué une méthode setsize dans la classe Paper, mais je ne sais malheureusement pas comment l'utiliser, mes tentatives de bidouillages restent veines, j'ai aussi essayé d'utiliser quelque autres techniques comme le setImageableArea, mais aucun résultat .

    Voici mon code:

    PrinterJob job = PrinterJob.getPrinterJob();
    
    job.setPrintable(new Imprimer());
    
    if (job.printDialog()){
    	try {
    		job.print();
    	} 
    	catch (PrinterException ex) {
    		ex.printStackTrace();
    		}
    } 

    Avec Imprimer qui contient une implementation normal de de l'interface Printable et la redéfinition de la méthode print .

    Merci d'avance,

    Cordialement,

    • Partager sur Facebook
    • Partager sur Twitter
      28 mai 2016 à 23:09:03

      Salut,

      Je n'ai jamais utilisé cette classe PrinterJob ou la classe Paper, par contre je sais assez bien me servir de google a force ^^.

      Donc je suppose que tu cherches ce genre de bout de code (je n'ai pas testé) :

      Paper paper = new Paper();
      paper.setSize(21*72/2.54,29.7*72/2.54);
      PageFormat pageformat = new PageFormat();
      pageformat.setPaper(paper);
      PrinterJob job = PrinterJob.getPrinterJob();
      job.setPrintable(new Imprimer(), pageformat);
      
      Sinon peut être que tu as regardé la javadoc de la méthode setSize de la classe Paper et que c'est le "The dimensions are supplied in 1/72nds of an inch." qui t’embête.

      Je ne sais pas pourquoi ils on fait ce choix (peux être que c'est un standard dans l'imprimerie ?) mais si tu veux donner les mesures en centimètre, il faut faire comme  donné dans l'exemple, c'est à dire convertir en "inch" puis multiplier par 72 pour avoir des "1/72nds of inch"

      -
      Edité par macaque 28 mai 2016 à 23:11:03

      • Partager sur Facebook
      • Partager sur Twitter

      Bug taille printable

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown