Hello. I am finding that very thin lines are drawing "thinner" using ICEPdf than with Adobe Reader. Below are some screencaps to give an idea. I also have a test pattern pdf if there is some place I can put/attach, if that is useful. The lines in question are 3 twips (3/1440th of an inch).
The real problem is that when sent to a printer (a PCL laser printer in my case) the ovals don't render properly -- pixels are missing from the line. Its a bit hard to describe without the paper in your hand. When printing directly from the application (using GDI) it prints okay.
Acrobat and ICEpdf use slightly different default zooms. Or in other word our 100% is slightly smaller then their viewer.
The test file you send over is quite simple containing only a few draw operations. Any differences on screen are likely do subtle differences in how Java2D does anti-aliasing when compared to Acrobats graphics engine.
Printing in Java is a bit of a black box and there is very little that can be configured programmaticly to get around quality issues. However that said you could try tweaking some off the Java2D rendering hints to see if any improvements can be made (http://wiki.icefaces.org/display/PDF/System+Properties). In some extreme cases it maybe necessary to paint to image and then print the image.
I appreciate the reply. I don't believe it is a "zoom" issue per-se. I am talking about printing on an 8.5"/11" piece of paper. When printed the size of the ovals is exactly the same; it is the width of the strokes that differs. I just took some screen caps from the viewers (above) to give a general idea. Observe the ICEpdf stokes are thinner than Reader even though the ovals are larger.
I'll play with the properties; thanks for that pointer. core.target.stroke looks promising. If you have any specific suggestions that might make the strokes thicker, I'd be grateful.
You'll need to enable the system property -Dorg.icepdf.core.strokeAdjustmentEnabled=true
and set
-Dorg.icepdf.core.strokeAdjustmentThreshold=0.15
This will make the lines all a bit thicker. If you need to adjust the thickness you can use the property -Dorg.icepdf.core.strokeAdjustmentValue which has a default of 0.2.