Hi,

Your initial complaint was about PDFDebugger


PDFDebugger was mentioned because the top and bottom cut off symptom was
visible there as well as the PDFwriter.

The original symptom we observed was that the right side of the bordering
box on the PDF is cut off.   This right side is only cut off when rendering
hints are set to VALUE_STROKE_PURE, otherwise the top and bottom are cut
off.

It was my initial assumption that the two symptoms are related, which is
why I mentioned PDFDebugger.

What I don't understand about the DPI comments is that I'm never actually
printing to a 72 dpi printer, so I would not expect the 72 dpi to be an
issue, but I still do not understand this concept in the PDF.  I've used a
few tools to attempt to inspect the DPI of this document and I cannot find
an application that will report this information.  Historically when
printing, I supply a density of zero, which seems to result in the best
print quality.

The PDF is likely fine. The bug is either with PDFBox or with Java itself.
> My suspicion is that it's a rounding error.


I feel that this statement slightly contradicts the statements about the 72
dpi being too low, hence my confusion.  Regardless, where's the best place
to start looking in the codebase for this problem?  For example, there are
some other artifacts as well, which may be related.

The problem is much more noticable using the CUPS PDF printer on Mac, but
even on Windows, there are some slight positioning and alignment
differences.

https://github.com/qzind/tray/assets/6345473/3022d304-1994-45bb-9907-b28a6692a8dc

I remember from working with PDFBOX on PDFBOX-4709 that some draw routines
lose precision at low printer DPIs, but this seems to be the opposite where
the document's DPI is low and causes the issue regardless of the printer's
DPI.

To prove that it is a jdk bug would require a lot of work, and even then
> it's unlikely it would be fixed


We sponsored this fix https://github.com/openjdk/jdk/pull/1183 so I'm
optimistic that if the issue is fixable that openjdk would be receptive to
a fix.

So if we're to isolate this issue simply to the right hand side missing
when VALUE_STROKE_PURE is supplied, can you offer some pointers on where to
start looking in the PDFBOX source code?

I understand this is a lengthy email.  I greatly appreciate your time.

Reply via email to