pdfrx 2.2.17
pdfrx: ^2.2.17 copied to clipboard
pdfrx is a rich and fast PDF viewer and manipulation plugin built on the top of PDFium. Supports viewing, editing, combining PDFs on Android, iOS, Windows, macOS, Linux, and Web.
2.2.17 #
- Updated to pdfrx_engine 0.3.6
- FIXED: Trackpad and mouse wheel boundary issues on Web (#547, #548)
- FIXED:
_setZoomnow properly setsboundaryMargins - NEW: Ctrl+wheel zoom logic can be enabled on Web (#538)
- NEW:
PdfDateTimeextension type for PDF date string parsing - NEW:
PdfAnnotationclass for PDF annotation metadata extraction (#546)
2.2.16 #
- Updated to pdfrx_engine 0.3.4
- NEW: Progressive loading helper functions -
ensureLoaded()andwaitForLoaded() - NEW:
PdfPageStatusChange.pageproperty for easier access to updated page instances - NEW: Added comprehensive Progressive Loading documentation
2.2.15 #
- FIXED: Focus context retrieval issue in PdfViewerKeyHandler (#518)
2.2.14 #
- Minor changes.
2.2.13 #
- FIXED: PdfTextSearcher not in sync on PdfDocument update (#515)
- FIXED: Focus.of -> Focus.maybeOf to prevent exceptions when FocusNode is not available (#518)
- FIXED: Crash when opening an empty PDF - now treated as a valid PDF to keep consistency with existing editing feature (#544)
- FIXED: PdfViewerParams.onGeneralTap one-click not working (#540)
- IMPROVED: Document reference comparison now uses key for better consistency (#543)
2.2.12 #
- FIXED: Package incorrectly showing as web-only on pub.dev due to incorrect Flutter plugin platform declarations (#535)
2.2.11 #
- FIXED: Magnifier content location calculated incorrectly (#532)
- NEW: Added
PdfViewerController.localToDocument()andPdfViewerController.documentToLocal()methods for coordinate conversion - Updated to pdfrx_engine 0.3.3
2.2.10 #
- Updated to pdfrx_engine 0.3.1 and pdfium_flutter 0.1.1
2.2.9 #
- Updated to pdfrx_engine 0.3.0
2.2.8 #
- NEW:
PdfDocumentnow supports page re-arrangement and acceptsPdfPageinstances from other documents, enabling PDF combine/merge functionality - Added
pdf_combineapp example demonstrating PDF merging capabilities - Updated to pdfrx_engine 0.2.4
2.2.6 #
- Added configurable timeout parameter to
openUriandpdfDocumentFromUrifunctions (#509) - Updated to pdfrx_engine 0.2.3
2.2.5 #
- Experimental iOS/macOS direct symbol lookup to address SwiftPM TestFlight/App Store symbol lookup issues (#501)
pdfrxFlutterInitialize()now internally callsWidgetsFlutterBinding.ensureInitialized()- no need to call it explicitly- Updated to pdfrx_engine 0.2.2
2.2.4 #
- FIXED: SwiftPM/pod package structure updates for iOS/macOS (#501)
- Updated to pdfrx_engine 0.2.1
2.2.3 #
- POSSIBLE FIX: Error on
openFile()oropenAsset()on iOS production builds installed from AppStore/TestFlight (#501)
2.2.0 #
- BREAKING: Renamed
PdfrxEntryFunctions.initPdfium()toPdfrxEntryFunctions.init()for consistency - NEW: Added
dart run pdfrx:remove_darwin_pdfium_modulescommand to remove PDFium dependencies from iOS/macOS when using alternative backends like pdfrx_coregraphics - Updated to pdfrx_engine 0.2.0
2.1.25 #
2.1.23 #
- FIXED: WASM+Safari StringBuffer issue with workaround (#483)
- Introduces
PdfDocumentRefKeyfor more flexiblePdfDocumentRefidentification - Updated to pdfrx_engine 0.1.21
2.1.22 #
- NEW: Introducing PdfViewerController.zoomOnLocalPosition and its variants for consistent zooming on cursor/finger position (#486, #462)
- PdfViewer now handles Ctrl+wheel to zoom up/down (#486)
2.1.21 #
- FIXED: Web compatibility issue where
dart:iowas imported in public-facing code
2.1.20 #
- Added PdfViewerParams.scrollPhysics and PdfViewerParams.scrollPhysicsScale so you can plug in custom ScrollPhysics for both panning and pinch-zoom interactions
- PR #481, #482, #484, #485 by enhancient
- FIXED: regression where
dart run pdfrx:remove_wasm_modulesfailed with dart_pubspec_licenses 3.0.12 (#443).
2.1.19 #
- Maintenance release: applied
dart formatto keep code integrity with Dart 3.9/Flutter 3.29 tooling.
2.1.18 #
- Remove broken docImport not to crash dartdoc (dart-lang/dartdoc#4106)
2.1.17 #
- FIXED:
dart run pdfrx:remove_wasm_modulescould fail with "Too many open files" during WASM cleanup (#476) - Updated dependencies, including pdfrx_engine 0.1.18
2.1.16 #
- #474 Add PdfrxEntryFunctions.initPdfium to explicitly call FPDF_InitLibraryWithConfig and pdfrxInitialize/pdfrxFlutterInitialize internally call it
- #474 Add PdfrxEntryFunctions.suspendPdfiumWorkerDuringAction
- Documentation improvements for low-level PDFium bindings access/PDFium interoperability and initialization
- Updated to pdfrx_engine 0.1.17
2.1.15 #
- FIXED: Package.swift does not point to pdfium-apple-v11 dependencies correctly
- More error handling logic for improved stability (#468)
- Updated to pdfrx_engine 0.1.16
2.1.14 #
2.1.12 #
2.1.11 #
- NEW: Experimental support for dynamic font installation on native platforms to handle missing fonts in PDFs (#456)
- Example viewer has missing font support using Noto Sans/Serif on Google Fonts (For production use, please take care of your license integrity)
- iOS/macOS uses pdfium-apple-v11 (chromium/7390)
- Updated to pdfrx_engine 0.1.14
2.1.10 #
2.1.9 #
- Replace deprecated Matrix4 methods (
translate->translateByDouble,scaled->scaledByDouble) for improved numerical precision
2.1.8 #
- FIXED: Unstoppable key-repeat on certain keys
2.1.7 #
- Refactor InteractiveViewer to use Matrix4 double variants for better numerical precision
2.1.6 #
- DOCS: Document initialization for Flutter (
pdfrxFlutterInitialize) and link to non-Flutter initialization (pdfrxInitialize). Closes #447 - No functional changes
2.1.5 #
- FIXED: PdfDocumentViewBuilder was incorrectly reloading document on every widget change (#439)
2.1.4 #
- FIXED: Text coordinate calculation when CropBox/MediaBox has non-zero origin (#441)
- Add support for dynamic font loading in WASM with
PdfDocumentMissingFontsEvent - Improve WASM stability and font handling mechanisms
- Update pdfrx_engine dependency to 0.1.13
2.1.3 #
- FIXED: UI distortion when selecting text (#432)
- The list returned by
PdfPage.loadTextCharRects()is now mutable for better flexibility - Enhanced README documentation for text selection customization features
- Update pdfrx_engine dependency to 0.1.12
2.1.2 #
- FIXED: Prevent right-click context menu from showing on Flutter Web
- Update pdfrx_engine dependency to 0.1.11
2.1.1 #
- Update pdfrx_engine dependency to 0.1.10 for WASM compatibility improvements
2.1.0 #
- BREAKING CHANGE: Text selection handles are now automatically shown/hidden based on the pointing device type used
- Touch input shows selection handles for precise control
- Non-touch input hides handles for cleaner interaction
- Removing some of text selection related parameters to simplify the API
- BREAKING CHANGE: Now context menu is not only for text selection but also for general tap events
PdfViewerParams.buildContextMenuandPdfViewerParams.customizeContextMenuItemsto customize context menu- Introduces
PdfViewerContextMenuBuilderParams(many context menu related parameters are moved to this class)
- BREAKING CHANGE: Tap handler functions are integrated into
PdfViewerParams.onGeneralTapfor better consistency
2.0.4 #
- FIXED: GestureDetector for text selection now ignores touchpad events to prevent interference with touch-to-scroll (#426)
2.0.3 #
- IMPROVED: Enhanced text selection context menu API with better anchor positioning and adaptive toolbar support
2.0.2 #
- BREAKING CHANGE: Renamed
PdfTextSelection.getSelectedTextRange()togetSelectedTextRanges()for consistency - NEW FEATURE: Added Shift+Space keyboard shortcut to navigate to previous page
2.0.1 #
- FIXED: Added missing
PdfTextSelectionParams.enabledproperty to control text selection functionality
2.0.0 #
This is a major release that introduces significant architectural changes and new features.
- BREAKING CHANGE: Extracted PDF rendering engine into a separate
pdfrx_enginepackage that is platform-agnostic - NEW FEATURE/BREAKING CHANGE: Text selection support with native platform UI including:
- Selection handles with drag support
- Magnifier for precise text selection
- Context menu with copy functionality
- Brand-new text selection/text extraction API (not compatible with previous versions)
- Enhanced focus management for better keyboard interaction support
1.3.3 #
- NEW FEATURE: Updated
bin/remove_wasm_modules.dartto comment out assets line in pubspec.yaml instead of deleting files- Added
--revertoption to restore commented assets line inbin/remove_wasm_modules.dart
- Added
1.3.2 #
- NEW FEATURE: Added
useProgressiveLoadingparameter for allPdfViewerconstructors to enable progressive page loading - NEW FEATURE: Added
PdfDocument.changesstream to notify page status changes and loading progress
1.3.1 #
- NEW FEATURE: Added
PdfViewerParams.calculateInitialZoomto customize initial zoom calculation (#406) - Removed deprecated
PdfrxWebRuntimeTypeAPI
1.3.0 #
- NEW FEATURE: Added support for disabling automatic web link detection from text content (#403)
1.2.9 #
- FIXED: Use document base href for resolving URLs in PDFium WASM (#402)
- FIXED: PDFium WASM hot-restarting may call initializePdfium multiple times
1.2.7 #
- Enhanced PDFium initialization with optional authentication parameters for WASM
1.2.6 #
- NEW FEATURE: Added
headersandwithCredentialssupport for PDFium WASM implementation (#399) - NEW FEATURE: Implemented progress callback support for PDFium WASM using a general callback mechanism
- Improved PDFium WASM worker-client communication architecture with
PdfiumWasmCommunicator
1.2.4 #
- FIXED: Reverted zoom ratio calculation change from 1.1.28 that was affecting pinch-to-zoom behavior (#391)
- Added Windows Developer Mode requirement check in CMake build configuration
1.2.3 #
- FIXED: Progressive loading support for PDF document references (#397)
- Enhanced PDF document loading functions with better error handling
- Improved PDFium WASM worker implementation
1.2.2 #
- FIXED:
_emscripten_throw_longjmperror in PDFium WASM (#354) - Enhanced example viewer to support PDF file path/URL as a parameter
- Enabled build-test workflow on master commits and pull requests for better CI/CD
1.2.1 #
1.2.0 #
- BREAKING CHANGE: Removed PDF.js support - PDFium WASM is now the only web implementation
- BREAKING CHANGE: The separate
pdfrx_wasmpackage is no longer needed; WASM assets are now included directly in the mainpdfrxpackage - NEW FEATURE: Implemented progressive/lazy page loading for PDFium WASM for better performance with large PDF files (#319)
- Simplified web architecture by consolidating WASM assets into the main package
1.1.35 #
- Add
limitRenderingCacheparameter toPdfViewerParamsto control rendering cache behavior (#394) - Add rendering flags support to
PdfPage.rendermethod
1.1.34 #
1.1.33 #
- Explicitly specify 16KB page size on Android rather than specifying specific NDK version
1.1.32 #
- Minor fixes
1.1.31 #
- SwiftPM support for iOS/macOS
- PDFium 138.0.7202.0
- FIXED: null assertion exception when laying out view and
calculateCurrentPageNumberis overridden (#367)
1.1.30 #
- MERGED: PR #364 fix: blank pdf on Windows when restore window from minimize
- Update example's
app/build.gradleto support Android's 16KB page size
1.1.29 #
- FIXED: #363
- FIXED:
pdfium-wasm-module-urlon HTML meta tag overrides value explicitly set toPdfrx.pdfiumWasmModulesUrl - Improves
pdfium_worker.js/pdfium.wasmloading path resolution logic to allow relative paths
- FIXED:
1.1.28 #
- WIP: zoom ratio calculation updates
goToPagethrows array index out of bounds error if the page number is out of range- PDFium WASM 138.0.7162.0
- Remove debug print
1.1.27 #
- Apply a proposed fix for #134; but I'm not sure if it works well or not. Personally, I don't feel any difference...
1.1.26 #
- Introduces
PdfPoint, which work withOffsetfor conversion between PDF page coordinates and Flutter coordinates - FIXED: #352 Link click/text selection are completely broken if PDF page is rotated
1.1.24 #
- FIXED: #336 zoom out does not cover entire page after changing layout
- Updates to viewer example to support page layout switching
- Minor
goToPageand othergoTofunctions behavior changes (normalizeMatrixand other)
- MERGED: PR #349 that fixes resource leaks on
PdfPageView - FIXED: #215 Wrong link highlight position on searching a word
- FIXED: #344 New "key event handling" feature in version 1.1.22 prevents
TextFormFieldin page overlay from receiving key events
1.1.23 #
- Minor internal change
1.1.22 #
PdfDocumentFactoryrefactoring to improve the code integrity- Introduces
getDocumentFactory/getPdfjsDocumentFactory/getPdffiumDocumentFactoryto get the direct/internal document factory
- Introduces
- Introduces
PdfViewerParams.onKey/PdfViewerKeyHandlerParamsto handle key events onPdfViewer
1.1.21 #
- FIXED:
loadOutlineis not implemented on PDFium WASM
1.1.20 #
- Add HTML meta tags (
pdfrx-pdfium-wasm/pdfium-wasm-module-url) to enable PDFium WASM support
1.1.19 #
lib/src/pdfium/pdfium_bindings.dartnow keep Pdfium's original comments
1.1.17 #
- FIXED: example is not shown on pub.dev
1.1.13 #
1.1.11 #
Color.withOpacity->Color.withValues,Color.value->Color.toARGB32()
1.1.10 #
- Update project structure to conform to Package layout conventions
- revert: example code move on 1.1.9
1.1.9 #
- Move back the example viewer to example directory
1.1.8 #
- Internal refactoring to improve the code integrity
1.1.7 #
- Introducing
allowDataOwnershipTransferonPdfDocument.openDatato allow transfer data ownership of the passed data; it is false by default to keep consistency with the previous behavior- This actually fixes #303 but the drawback is that extra memory may be consumed on Flutter Web...
1.1.6 #
- "Bleeding edge" PDFium WASM support (disabled by default)
1.1.5 #
- Explicitly specify web support on
pubspec.yaml
1.1.4 #
- SDK constraint gets back to
>=3.7.0-323.0.dev
1.1.3 #
- Further WASM compatibility updates
- Demo page: CORS override for GitHub Pages using gzuidhof/coi-serviceworker
1.1.2 #
- FIXED: if running with WASM enabled on Flutter Web, certain PDF file could not be loaded correctly
- Debug log to know WASM/SharedArrayBuffer status on Flutter Web
1.1.1 #
- Supporting Flutter 3.29.0/Dart 3.7.0 (Stable) with workaround for breaking changes on Flutter 3.29.0 (#295)
- It breaks compatibility with older stable Flutter versions :(
1.0.103 #
- Change the default CDN for Pdf.js to
https://cdn.jsdelivr.net/npm/pdfjs-dist@<VERSION>/build/pdf.jsto deal with CORS error on loading CMAP files - FIXED:
pdfjsGetDocumentFromData, which is used by variousPdfDocumentopen functions, does not propagatecMapUrl/cMapPackedto the Pdf.js
1.0.102 #
- dart2wasm compatibility updates
- Pdf.js 4.10.38
PdfTextSearchercorrectly releases its listeners on dispose- Example viewer code updates
1.0.101 #
- Revert commit d66fb3f that breaks consistency;
Color.withValues->Color.withOpacity - Update pdfium ffi bindings
1.0.100 #
1.0.98 #
- Introduces
PdfViewerController.calcFitZoomMatricesto realize fit-to-width easier
1.0.97 #
- Document updates
1.0.95 #
- FIXED: #273; apart from the ream WASM support, it fixes several compilation issues with
--wasmoption
1.0.93 #
1.0.91 #
- Fixes selection issues caused by the changes on 1.0.90
1.0.87 #
- BREAKING CHANGE: add more parameters to
PdfViewerParams.normalizeMatrixto make it easier to handle more complex situations (#239)
1.0.86 #
- Add
PdfViewerParams.normalizeMatrixto customize the transform matrix restriction; customizing existing logic on_PdfViewerState._makeMatrixInSafeRange; for issues like #239
1.0.85 #
1.0.83 #
1.0.81 #
- Introduces
PdfViewerController.useDocumentto make it easy to usePdfDocumentsafely - Introduces
PdfViewerController.pageCountto get page count without explicitly accessPdfViewerController.pages PdfViewerController.document/PdfViewerController.pagesare now deprecated
1.0.80 #
- BREAKING CHANGE:
PdfViewerParams.viewerOverlayBuilderintroduces third parameter namedhandleLinkTap, which is used withGestureDetectorto handle link-tap events on user code (#175) - Fix typos on
README.md
1.0.78 #
- Add
packagingOptions pickFirstto workaround multiplelibpdfium.soproblem on Android build (#8) - FIXED:
_relayoutPagesmay cause null access - Update
README.mdto explainPdfViewerParam.linkHandlerParamsfor link handling
1.0.77 #
- #175: Woops, just missing synchronized to call
loadLinkscauses multiple load invocations...
1.0.76 #
1.0.75 #
- Pdf.js 4.4.168
1.0.74 #
- Introduces
PdfViewerController.getPdfPageHitTestResult - Introduces
PdfViewerController.layoutto get page layout
1.0.73 #
- Introduces
PdfViewerParams.onViewSizeChanged, which is called on view size change- The feature can be used to keep the screen center on device screen rotation (#194)
1.0.72 #
- FIXED: Example code is not compilable
- FIXED: Marker could not be placed correctly on the example code (#189)
- FIXED: Updated podspec file not to download the same archive again and again (#154)
- Introduces chromium/6555 for all platforms
- Darwin uses pdfium-apple-v9 (chromium/6555)
Improves memory consumption by pdfium's internal caching feature (#184)
1.0.71 #
1.0.70 #
1.0.68 #
- Introduces
PdfViewerController.setCurrentPageNumber(#152) - BREAKING CHANGE: Current page number behavior change (#152)
- BREAKING CHANGE:
PdfPageAnchorbehavior changes for existingPdfPageAnchorenumeration values. - Introduces
PdfPageAnchor.top/left/right/bottom - Introduces
PdfViewerController.calcMatrixToEnsureRectVisible
1.0.67 #
- FIXED:
LateInitializationError: Field_cacheBlockCount@1436474497has not been initialized (#167)
1.0.66 #
- FIXED:
PdfException: Failed to load PDF document (FPDF_GetLastError=3) (#166) - Add explicit HTTP error handling code (to show the error detail)
- bblanchon/pdfium-binaries 127.0.6517.0 (chromium/6517) (iOS/macOS is still using 6406)
1.0.63 #
1.0.62 #
1.0.61 #
- Introduces
PdfViewerParams.pageDropShadow - Introduces
PdfViewerParams.pageBackgroundPaintCallbacks
1.0.60 #
- bblanchon/pdfium-binaries 125.0.6406.0 (chromium/6406)
default_min_sdk_version=21to support lower API level devices (#145)
1.0.59 #
1.0.58 #
- Any API calls that wraps PDFium are now completely synchronized. They are run in an app-wide single worker isolate
- This is because PDFium does not support any kind of concurrency and even different
PdfDocumentinstances could not be called concurrently
- This is because PDFium does not support any kind of concurrency and even different
1.0.57 #
1.0.56 #
- Reduce total number of Isolates used when opening PDF documents
- Add
PdfViewerParams.calculateCurrentPageNumber - FIXED: Could not handle certain destination coordinates correctly (#135)
1.0.55 #
- Improve memory consumption by opening/closing page handle every time pdfrx need it (PR #125)
1.0.54 #
- Improves [End] button behavior to reach the actual end of document rather than the top of the last page
PdfViewerParams.pageAnchorEndfor specifying anchor for the "virtual" page next to the last page
PdfViewerParams.onePassRenderingScaleThresholdto specify maximum scale that is rendered in single rendering call- If a page is scaled over the threshold scale, the page is once rendered in the threshold scale and after a some delay, the real scaled image is rendered partially that fits in the view port
PdfViewerParams.perPageSelectionAreaInjectoris introduced to customize text selection behavior
1.0.53 #
- Fixes flicker on scrolling/zooming that was introduced on 1.0.52
- Revival of high resolution partial rendering
1.0.51 #
1.0.50 #
- Introduces
PdfViewerParams.useAlternativeFitScaleAsMinScalebut it's not recommended to set the value to false because it may degrade the viewer performance
1.0.49 #
- iOS minimum deployment target 12.0
1.0.10+1 #
- Add note for Flutter 3.19/Dart 3.3 support on 1.0.0+
1.0.9 #
PdfRect.toRect:scaledTo->scaledPageSize- FIXED:
PdfJsConfiguration.cMapUrl/cMapPackeddoes not have correct default values
1.0.8 #
- Condition analysis warnings on auto-generated
pdfium_bindings.dart
1.0.7 #
- Requires Flutter 3.19/Dart 3.3 again (pub.dev is upgraded to the stable🎉)
dart:js_interopbased Pdf.js interop implementation (remove dependency onpackage:js)
1.0.6 #
- Due to the pub.dev version issues, the version introduces a "temporary workaround", which downgrades several packages:
sdk: '>=3.3.0-76.0.dev <4.0.0'flutter: '>=3.19.0-0.4.pre'web: ^0.4.2I'll update them as soon as pub.dev upgrades their toolchains
- Pdf.js interop refactoring
1.0.5 #
NOTE: On pub.dev, 1.0.0+ versions gets [ANALYSIS ISSUE]. It does not affect your code consistency but API reference is not available until pub.dev upgrades their toolchains.
- Requires Flutter 3.19/Dart 3.3
1.0.4 #
- Rollback version constraints to the older stable versions...
- I've created an issue for pub.dev: dart-lang/pub-dev#7484
1.0.3 #
- Again,
flutter: '>=3.19.0-0.4.pre'
1.0.2 #
- To make the pub.dev analyzer work, we should use
sdk: '>=3.3.0-76.0.dev <4.0.0'as version constraint...
1.0.1 #
PdfViewerController.addListener/removeListenerindependently has listener list on it to make it work regardless ofPdfViewerattached or not (#74)
1.0.0 #
- Requires Flutter 3.19/Dart 3.3
- Update Web code to use
package:web(removing dependency todart:html)
0.4.44 #
- FIXED:
PdfViewerParams.boundaryMargindoes not work correctly.
0.4.43 #
0.4.41 #
0.4.39 #
- Minor updates on text selection (still experimental......)
0.4.38 #
- Minor updates on text selection (still experimental...)
- Minor fix on
PdfPageView
0.4.36 #
- Introduces
PdfJsConfigurationto configure Pdf.js download URLs
0.4.34 #
- Document update
0.4.33 #
- Document update
0.4.32 #
- Add
PdfViewerParams.calculateInitialPageNumberto calculate the initial page number dynamically - Add
PdfViewerParams.onViewerReadyto know when the viewer gets ready
0.4.31 #
- Remove explicit CMake version spec 3.18.1
0.4.30 #
- FIXED: Link URI contains null-terminator
- Add support text/links on rotated pages
- Stability updates for
PdfTextSearcher README.md/example updates- Revival of
PdfViewer.data/PdfViewer.custom
0.4.29 #
- Minor fixes to
PdfTextSearcher
0.4.28 #
README.md/example updates
0.4.27 #
- Minor updates and
README.mdupdates
0.4.26 #
- Introduces
PdfTextSearcherthat helps you to implement search UI feature (#47) - Example code is vastly changed to explain more about the widget functions
0.4.25 #
- FIXED: Able to scroll outside document area
0.4.24 #
- Huge refactoring on
PdfViewerController; it's no longerTransformationControllerbut just aValueListenable<Matrix4>- This fixes an "Unhandled Exception: Null check operator used on a null value" on widget state disposal (#46)
0.4.23 #
- Introduces
PdfDocumentViewBuilder/PdfPageViewwidgets - Example code is super updated with index and thumbnails.
0.4.22 #
- Web: Now Pdf.js is loaded automatically and no modification to
index.htmlis required! - Default implementation for
PdfViewerParams.errorBannerBuilderto show internally thrown errors PdfPasswordExceptionis introduced to notify password errorPdfDocumentRefnow hasstackTracefor errorPdfFileCachenow uses dedicatedhttp.Clientinstance
0.4.21 #
- Now
PdfDocumentRefhas const constructor andPdfViewer.documentRefis also const
0.4.20 #
- Removes
PdfDocumentProvider(ActuallyPdfDocumentRefdoes everything) - Fixes breakage introduced by 0.4.18
0.4.19 #
firstAttemptByEmptyPasswordshould be true by default
0.4.18 #
0.4.17 #
- Additional fixes to text selection mechanism
0.4.16 #
- Remove password parameters; use
passwordProviderinstead. - Fixes several resource leak scenarios on
PdfDocumentopen failures - Restrict text selection if PDF permission does not allow copying
- Remove
PdfViewer.documentRef; unnamed constructor is enough for the purpose
0.4.15 #
0.4.14 #
- Introduces
PdfViewerParams.onDocumentChangedevent - Introduces
PdfDocument.loadOutlineto load outline (a.k.a. bookmark)
0.4.13 #
- Improves document password handling by async
PasswordProvider(#20) - Introduces
PdfViewerParams.errorBannerBuilder
0.4.12 #
- Introduces
PdfViewerParams.maxImageBytesCachedOnMemory, which restricts the maximum cache memory consumption- Better than logic based on
maxThumbCacheCount
- Better than logic based on
- Remove the following parameters from
PdfViewerParams:maxThumbCacheCountmaxRealSizeImageCountenableRealSizeRendering
0.4.11 #
- Add support for PDF Destination (Page links)
0.4.10 #
- FIXED:
isEncryptedproperty of document returns always true even the document is not encrypted (#29)
0.4.8 #
- FIXED: Unhandled Exception: type 'Null' is not a subtype of type
PdfPageRenderCancellationTokenPdfiumin type cast (#26)
0.4.7 #
- FIXED: Android build broken? Cannot find
libpdfium.soerror (#25) PdfViewerParams.loadingBannerBuilderto customize HTTP download progressPdfViewerParams.linkWidgetBuilderto support embedded links- WIP: Updated text selection mechanism, which is faster and stable but still certain issues
- Pan-to-scroll does not work on Desktop/Web
- Selection does not work as expected on mobile devices
- Support Linux running on arm64 Raspberry PI (#23, #24)
0.4.6 #
- Introduces
PdfPage.rendercancellation mechanismPdfPageRenderCancellationTokento cancel the rendering process- BREAKING CHANGE:
PdfPage.rendermay return null if the rendering process is canceled
PdfPageRender.renderlimits render resolution up to 300-dpi unless you usegetPageRenderingScale- Even with the restriction, image size may get large and you'd better implement
getPageRenderingScaleto restrict such large image rendering
- Even with the restriction, image size may get large and you'd better implement
PdfViewerParamsdefault changes:scrollByMouseWheeldefault is 0.2maxRealSizeImageCountdefault is 3
PdfViewerParams.scrollByArrowKeyto enable keyboard navigation
0.4.5 #
PdfViewerParamsupdatesPdfViewerParams.onPageChangedreplacesonPageChangedparameter onPdfViewerfactoriesPdfViewerParams.pageAnchorreplacesanchorparameter onPdfViewerfactories
pdfDocumentFromUri/PdfFileCacheimproves mechanism to cache downloaded PDF file- ETag check to invalidate the existing cache
- Better downloaded region handling
0.4.4 #
PdfPage.rendercan render Annotations and FORMSPdfFileCache: More realistic file cache mechanism- Introduces
PasswordProviderto repeatedly test passwords (only API layer)
0.4.0 #
- Many breaking changes but they improve the code integrity:
PdfDocument.pagessupersedesPdfDocument.getPagePdfDocument.pageCountis removedPdfViewerParams.devicePixelRatioOverrideis removed; usegetPageRenderingScaleinstead
- Add
PdfPageAnchor.all PdfViewerParams.viewerOverlayBuilder/PdfViewerScrollThumbto support scroll thumbs
0.3.6 #
PageLayout->PdfPageLayout
0.3.5 #
PageLayoutclass change to ease page layout customization- Add example use case in API document
0.3.4 #
- Rewriting page rendering code
- Due to the internal structure change, page drawing customization parameters are once removed:
pageDecorationpageOverlaysBuilder
- Due to the internal structure change, page drawing customization parameters are once removed:
- Example code does not enables
enableTextSelection; it's still too experimental...
0.3.3 #
- FIXED: Downloading of small PDF file causes internal loading error
0.3.2 #
- Support mouse-wheel-to-scroll on Desktop platforms
0.3.1 #
- Minor API changes
- Internal integrity updates that controls the viewer behaviors
- FIX: example code does not have
android.permission.INTERNETonAndroidManifest.xml PdfViewerParams.devicePixelRatioOverrideis deprecated and introducesPdfViewerParams.getPageRenderingScale
0.3.0 #
- Many renaming of the APIs that potentially breaks existing apps
0.2.4 #
- Now uses
plugin_ffi. (Not containing any Flutter plugin stab)
0.2.2 #
- Explicitly specify Flutter 3.16/Dart 3.2 as
NativeCallable.listenerdoes not accept non-static function (#5)
0.2.1 #
- Stabilizing API surface
- Introducing
PdfViewer.asset/file/uri/custom PdfViewerhasdocumentLoaderto accept function to loadPdfDocument
- Introducing
- Fixes minor issues on
PdfViewer
0.2.0 #
- Introducing
PdfDocument.openUri/PdfFileCache*classes - Introducing
PdfPermissions PdfPage.loadText/PdfPageTextfor text extraction- Android NDK CMake to 3.18.1
0.1.1 #
- Document updates
- Pdf.js 3.11.174
0.1.0 #
- First release (Documentation is not yet ready)
