Skip to main content

pdfrx_engine 0.8.0 copy "pdfrx_engine: ^0.8.0" to clipboard
pdfrx_engine: ^0.8.0 copied to clipboard

pdfrx_engine is a PDF rendering and manipulation API built on top of PDFium, designed to be used with the pdfrx plugin. Supports viewing, editing, and combining PDF documents.

0.8.0 #

  • BREAKING: Added the optional PdfPageRenderPriority? priority named parameter to PdfPage.render. Custom page implementations must accept it; wrappers should forward it. Existing render calls remain compatible (#758).
  • Added high, normal, and low rendering priorities for native PDFium. Without an explicit priority, rendering is high priority normally and low priority inside Pdfrx.runAsBackgroundWork. Explicit priorities take precedence over the background-work scope (#758).
  • Fixed Hebrew text normalization for lines containing numbers, including punctuation and brackets around numbers, while preserving logically stored or ambiguous number tokens (#756).

0.7.4 #

  • Fixed Hebrew text normalization skipping or partially reversing words and lines containing punctuation. Punctuation now stays with Hebrew words during normalization, while mixed-script lines retain their existing order (#754).

0.7.3 #

  • Fixed static-analysis lint findings in native constructors without changing public APIs or runtime behavior (#753).

0.7.2 #

  • Added Pdfrx.runAsBackgroundWork() to give native PDFium background operations lower queue priority while preserving explicit rendering priorities (#744).
  • Fixed disposal racing with queued or running document operations, including assembly, encoding, and native-handle callbacks (#744, #751).
  • Fixed assembled pages retaining references to source documents. After awaiting assembly, the destination can be rendered or encoded after its sources are disposed (#744).
  • Clarified source-document lifetime and concurrent page-mutation restrictions during assembly.

0.7.1 #

  • Keep documents open when native PDFium cannot load an individual page. Preserve page numbering and use fallback page dimensions; rendering an unloadable page still returns null (#740).
  • Apply unloadable-page recovery to full, progressive, and explicit page reloads, including first and consecutive broken pages (#740).
  • Correct README examples and explain the native library used to coordinate PDFium access (#748, #749).

0.7.0 #

  • Added opt-in process-wide PDFium coordination for multiple engines or isolates. Enable it before initialization on every engine; the mode serializes native access, uses PDFium's built-in font mapper, and keeps PDFium initialized until process exit (#723).
  • Serialized overlapping native-handle actions and rejected gate configuration changes after a worker starts (#723).
  • Added PdfHebrewTextNormalizer and opt-in Pdfrx.normalizeHebrewText for the native PDFium backend. Character positions follow reordered text; mixed-script content is preserved conservatively. Legacy encoding conversion additionally requires Pdfrx.decodeLegacyHebrewText (#732).
  • Improved rendering responsiveness while another document opens without progressive loading by measuring pages in short chunks (#743).
  • Updated to pdfium_dart 0.4.0; native builds require a C toolchain for the bundled gate library.

0.6.1 #

  • Improved rendering responsiveness during background work by prioritizing page rendering and visible-page measurement (#708).
  • Improved progressive loading responsiveness by measuring pages in short chunks while preserving progress notification cadence (#709).
  • Updated to pdfium_dart 0.3.1.

0.6.0 #

  • BREAKING: Raised the minimum Dart SDK version to 3.13.
  • Updated to pdfium_dart 0.3.0.
  • Added initial-page-aware measurement ordering for progressively loaded documents (#706).
  • Fixed PDFium open errors being mistaken for password prompts (#707).
  • Fixed canceled page previews so they can be rendered again.
  • Fixed WebAssembly rendering and text search edge cases.
  • Fixed a race while reading PDF data on Windows (#595).

0.5.0 #

  • Added demand-paged loading support for linearized PDFs, allowing viewers to defer off-screen page measurements.
  • Added per-page link caching across native, Web, and Core Graphics backends.
  • Added asynchronous missing-font load completion and a way to wait for pending font loads.
  • Improved progressive loading so sparse page metadata remains available while a document is still loading.
  • Improved platform font lookup by resolving requested fonts on demand instead of eagerly scanning font directories.
  • FIXED: Native document buffers remain valid until asynchronous document opening completes.

0.4.7 #

  • FIXED: BackgroundWorker.compute() now supports genuinely asynchronous callbacks and propagates callback errors instead of hanging (#693).
  • FIXED: Updating PdfDocument.pages no longer scales quadratically with the page count on the native backend (#694).

0.4.6 #

  • FIXED: Windows ARM64 builds no longer fail on nullable PDF file cache access.
  • Added lower bounds for remaining dependencies required by package validation.

0.4.5 #

  • FIXED: Removed a @docImport directive that could crash dartdoc 9.0.6 during pub.dev documentation generation (#664).
  • Added dependency lower bounds required by the current API usage.

0.4.4 #

  • FIXED: Text selection no longer treats generated spaces between distant text runs as huge selectable gaps.
  • FIXED: Nullable cache access in PDF file caching.

0.4.3 #

  • Updated to pdfium_dart 0.2.5.
  • FIXED: PDFium initialization is now tracked on the caller isolate, avoiding repeated initialization attempts after worker-isolate initialization (#655).
  • Relaxed dependency constraints for broader compatibility with Dart package resolution.

0.4.2 #

  • Updated to pdfium_dart 0.2.1 to fix PDFium loading in Flutter tests on macOS (#640).

0.4.1 #

0.4.0 #

  • Updated to pdfium_dart 0.2.0.
  • Improved PDFium loading for pure Dart commands and Flutter apps through pdfium_dart.getPdfium().
  • Added support for Dart native-assets based PDFium packaging on native Dart targets.
  • Improved compatibility with Flutter iOS/macOS apps that receive PDFium from pdfium_flutter's XCFramework.

0.3.9 #

0.3.8 #

0.3.7 #

0.3.6 #

0.3.5 #

  • Documentation updates.

0.3.4 #

0.3.3 #

  • Code refactoring and maintenance updates.
  • Use shortened syntax for Allocator.allocate.

0.3.2 #

  • Updated to pdfium_dart 0.1.2.
  • Improved cache directory management with support for PDFRX_CACHE_DIR environment variable.
  • Better default cache locations: ~/.pdfrx on Unix-like systems, %LOCALAPPDATA%\pdfrx on Windows.
  • Fallback to system temp directory for backward compatibility.

0.3.1 #

  • Updated to pdfium_dart 0.1.1

0.3.0 #

  • NEW: PdfDocument.createFromJpegData() - Create PDF documents from JPEG image data
  • CHANGED: Now uses pdfium_dart package for PDFium FFI bindings instead of bundled bindings
  • CHANGED: File structure refactoring - moved from monolithic API file to separate files for better organization
  • Dependency updates

0.2.4 #

  • NEW: PdfDocument now supports page re-arrangement and accepts PdfPage instances from other documents, enabling PDF combine/merge functionality
  • Added additional PDFium functions for page manipulation
  • FIXED: Type parameter 'T' shadowing issue in pdfium.dart

0.2.3 #

0.2.2 #

  • Experimental support for Apple platforms direct symbol lookup to address TestFlight/App Store symbol lookup issues (#501)
  • Added PdfrxBackendType enum to identify which PDF backend is being used
  • Internal refactoring to support lookup-based function loading on iOS/macOS

0.2.1 #

  • FIXED: Handle servers that return 200 instead of 206 for content-range requests (#468)

0.2.0 #

0.1.21 #

  • FIXED: WASM+Safari StringBuffer issue with workaround (#483)
  • Introduces PdfDocumentRefKey for more flexible PdfDocumentRef identification

0.1.20 #

  • Maintenance release to keep version alignment and ensure code integrity alongside pdfrx 2.1.19.

0.1.19 #

0.1.18 #

  • FIXED: dart run pdfrx:remove_wasm_modules could hit "Too many open files" on some platforms (#476)
  • Dependency updates

0.1.17 #

  • #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

0.1.16 #

  • More error handling logic for improved stability (#468)

0.1.15 #

  • BREAKING: Integrated loadText() and loadTextCharRects() into a single function loadText() to fix crash issue (#434)
  • FIXED: Coordinate calculation errors when loading annotation links (#458)

0.1.14 #

  • Experimental support for dynamic font installation on native platforms (#456)

0.1.13 #

0.1.12 #

  • Fix text character rectangle rotation handling in loadTextCharRects() and related methods

0.1.11 #

  • Make PdfiumDownloader class private to native implementation

0.1.10 #

  • Add mock pdfrxInitialize implementation for WASM compatibility to address pub.dev analyzer complaints

0.1.9 #

  • Update example to include text extraction functionality

0.1.8 #

  • More consistent behavior on disposed PdfDocument

0.1.7 #

  • Improve loadPagesProgressively API by making onPageLoadProgress a named parameter
  • Fix parentheses in premultiplied alpha flag check
  • Improve documentation for enums

0.1.6 #

0.1.5 #

  • New text extraction API.

0.1.4 #

  • Minor updates.

0.1.3 #

  • Add an example for converting PDF pages to images.
  • Add PdfImage.createImageNF() extension method to create Image (of image package) from PdfImage.

0.1.2 #

  • Introduces new PDF text extraction API.

0.1.1 #

  • Minor fixes.

0.1.0 #

  • Initial version.
19
likes
160
points
514k
downloads

Documentation

API reference

Publisher

verified publisherespresso3389.jp

Weekly Downloads

pdfrx_engine is a PDF rendering and manipulation API built on top of PDFium, designed to be used with the pdfrx plugin. Supports viewing, editing, and combining PDF documents.

Homepage
Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

archive, collection, crypto, ffi, http, image, meta, path, pdfium_dart, rxdart, synchronized, vector_math

More

Packages that depend on pdfrx_engine