Skip to content

fix(reader): add desktop PDF zoom controls#438

Open
codedogQBY wants to merge 1 commit into
mainfrom
codex/fix-desktop-pdf-zoom
Open

fix(reader): add desktop PDF zoom controls#438
codedogQBY wants to merge 1 commit into
mainfrom
codex/fix-desktop-pdf-zoom

Conversation

@codedogQBY

Copy link
Copy Markdown
Owner

Analysis

  • [Suggestion] pdf的阅读体验问题 #363 reports that Windows desktop PDF pages cannot be zoomed in or out, which blocks scanned/small-text PDFs.
  • The fixed-layout renderer already supports fit-width/fit-page and absolute numeric zoom, but absolute zoom would replace the default auto-fit behavior. This PR adds a relative zoom factor on top of the existing fit scale.
  • PDF浏览方式优化 #87 also asks for broader PDF browsing improvements. This covers the zoom portion and keeps overflow panning available, but does not close the continuous-scroll request.

Changes

  • Add a persisted fixedLayoutZoom reader setting for PDF/CBZ fixed-layout books.
  • Show fixed-layout zoom controls in the desktop reader toolbar: zoom out, current percentage, zoom in, and reset.
  • Pass zoom-factor from FoliateViewer into foliate-js and reapply renderer settings when it changes.
  • Teach FixedLayout to multiply fit-width/fit-page scale by the zoom factor while leaving absolute numeric zoom unchanged.
  • Add English and Chinese toolbar labels.

Verification

  • pnpm --filter app exec tsc --noEmit
  • git diff --check
  • node --check packages/foliate-js/fixed-layout.js
  • pnpm exec biome check packages/app/src/components/reader/ReaderToolbar.tsx packages/core/src/types/book.ts packages/core/src/i18n/locales/en/reader.json packages/core/src/i18n/locales/zh/reader.json packages/foliate-js/fixed-layout.js
  • pnpm --filter app build

Note: a broader Biome check including ReaderView, FoliateViewer, and settings-store still reports pre-existing lint diagnostics unrelated to this PR.

Fixes #363
Related #87

@codedogQBY codedogQBY added enhancement New feature or request priority:p1 High: important feature broken or major platform/workflow regression area:reader Reader, pagination, scrolling, layout, TOC area:pdf PDF reading, import, selection, vectorization labels Jun 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:pdf PDF reading, import, selection, vectorization area:reader Reader, pagination, scrolling, layout, TOC enhancement New feature or request priority:p1 High: important feature broken or major platform/workflow regression

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Suggestion] pdf的阅读体验问题

1 participant