2009-07-08 10 views
0

s'il vous plaît dites-moi si je fais quelque chose de mal. Je veux imprimer des codes à barres sur les étiquettes, j'ai donc besoin d'une impression de haute qualité pour ces codes à barres, donc je pousse l'imprimante pour imprimer en 300 dpi. Ce que j'ai fait:impression java api - impression JComponent à 300dpi

  1. fait un grand JFrame; largeur: 2490px, hauteur: 3515px de sorte qu'il représente papier A4 en 1: 1 mesure (version A4 résolution du papier si l'impression doit être 300 dpi)

  2. tirage 40 images de codes à barres sur contentPane de cette DFrame

  3. configuration attributs d'impression il imprimera en 300dpi:

PrintRequestAttributeSet ASET = nouvelle HashPrintRequestAttributeSet();

PrinterResolution pr = 
    new PrinterResolution(300,300,PrinterResolution.DPI); 
    MediaPrintableArea mpa=new MediaPrintableArea(8,21, 
     210-16, 296-42, MediaPrintableArea.MM); 

jeu d'attributs est rempli de ces données:

aset.add(mpa ); 
aset.add(pr); 
aset.add(MediaSizeName.ISO_A4); 
aset.add(new Copies(1)); 
aset.add(OrientationRequested.PORTRAIT); 
aset.add(PrintQuality.HIGH); 
aset.add(Fidelity.FIDELITY_TRUE); 

printJob.setPrintable(this); 
printJob.print(aset); 

cette classe a la méthode d'impression:

public int print(Graphics g, PageFormat pageFormat, int pageIndex) { 
    if (pageIndex > 0) { 
     return(NO_SUCH_PAGE); 
    } else { 
     Graphics2D g2d = (Graphics2D)g; 

     g2d.translate(pageFormat.getImageableX(),pageFormat.getImageableY()); 
     disableDoubleBuffering(componentToBePrinted); 

     componentToBePrinted.paint(g2d); 
     enableDoubleBuffering(componentToBePrinted); 
     return(PAGE_EXISTS); 
    } 

je dois avoir 40 codes à barres sur cette feuille A4, chaque taille 48,5 mm x 25,4 mm. Ce qui est imprimé sur le papier est de 6 codes à barres, chacun doublé dans la taille de 104mm x 46mm (c'est-à-dire dans la largeur près de la moitié de la largeur de la page) qui remplissait tout le papier.

Une idée, que puis-je faire de mal?

+0

Avez-vous trouvé la solution? – MyTitle

+0

ne pouvait pas me souvenir maintenant, j'ai fait ces codes à barres pour imprimer comme il se doit, mais les scanners de codes à barres lire ceux à peine .. –

Répondre

0

Votre résolution est probablement définie sur 72 dpi, ce qui a pour effet d'augmenter la taille de l'image.