How to prevent ui.textScaleFactor from affecting pdf.js?
I recently learned about the `ui.textScaleFactor` option and found it very helpful to adjust the text size. I have currently set the option to 115. However, changing `ui.textScaleFactor` distorts texts rendered by pdf.js such that neighboring characters somewhat overlap.
Is it possible to disable `ui.textScaleFactor` on pdf.js?
Browser: Firefox 111.0 OS: macOS Ventura (13.2.1)
Alle antwoorden (6)
I realized a bit later that `browser.display.os-zoom-behavior` should be set to 2 to see the issue. So it looks like the combination of the two options is causing this behavior.
There can always be issues with text overlapping or text disappearing if you only enlarge the text on pages that position text absolutely or have containers with fixed dimensions. Best is always to use full page zoom and not zoom text only.
- browser.display.os-zoom-behavior = 1
Thank you for the explanation!
I see your point, but I am curious about how pdf.js handles the zoom preferences (when "Zoom text only" is checked). When I set `browser.display.os-zoom-behavior` to 1 and check "Zoom text only", I see the PDF is rendered correctly regardless of the zoom level.
When you view a PDF in the built-in viewer, what you actually see is a background image for each page drawn on an HTML canvas. There is a transparent text later in the front of the image for purposes of Find and Copy. Possibly that layer will be misaligned when Firefox is using Zoom Text Only but I haven't checked.
Interesting!
I added two screenshots to a GitHub issue I created: https://github.com/mozilla/pdf.js/issues/16164
Looking at the screenshots again, I don't think an alignment problem exists.
@jscher2000, you were indeed right about the transparent layer being the issue. I accidentally pressed <kbd>CMD</kbd><kbd>A</kbd> on my keyboard on found that the transparent layer is rendered differently from the actual PDF. You can see a screenshot here.