Java nyomtatás #2

Java nyomtatás #2
2005-01-30T16:47:07+01:00
2005-03-06T12:37:02+01:00
2022-10-24T04:15:44+02:00
i386
Üdv!

Készítettem egy programot, amivel lehet nyomtatni...
Megy a nyomtatás, de a lapra sokkal nagyobb képet nyomtat és a betük is pixelesek. Pl. egy 14-es betü 16-18-asnak látszik és ronda pixeles nyomtatás után.
Úgy tudom egy A4-es papír kb. 596 * 842 pont.
Kérdésem: át lehet valahogy alakítani, hogy a nyomtató számára is jó legyen?
Mutasd a teljes hozzászólást!
a nyomtatók tudtommal kezelnek true type fontokat, ezeket nem lehet valahogy "aktivizálni" javából

Nem. A java alól csak a grafikus nyomtatás támogatott/megvalósított. Ez igazából windows függő is. Régen volt egy mátrix nyomtatóm windowsos driverrel, az is azt csinálta, hogy a nyomtatót nagyfelbontású grafikus módba kapcsolta és onnantól még a DOS karakereket is rajzolta rá, és nem escape szekvenciákkal bajlódott...

A felhasználható fontokat a GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts() vagy getAvailableFontFamilyNames() metódusával kérdezheted le.
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/GraphicsEnvironment..

Ezeket a nyomtatáskor a Graphicsnál használhatod. Valószínűleg a gépedre telepített összes TTF bene lesz a listában. A gépen lesz grafikusan a szöveg összeállítva, a nyomtató képként fogja megkapni. A Toolkit getFontList() metódusa is szóba jöhet még.
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Toolkit.html

Igazából bárhol működni fog a dolog. A PageFormat getPaper() metódusával lekérheted a papírt, ott a getImageableX() és getImageableY() adja feltehetőleg meg pixelben a lapméretet. Esetleg nyomtatáskor a kapott Graphics objektum getClipBounds() metódusa segitségével is ugyanezt kellene kapni.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd