pdfium_bindings 2.0.0 copy "pdfium_bindings: ^2.0.0" to clipboard
pdfium_bindings: ^2.0.0 copied to clipboard

This project aims to wrap the complete [Pdfium](https://pdfium.googlesource.com/pdfium/) API in dart, over FFI.

11
likes
120/ 160
pub points
115
downloads

We analyzed this package 2 days ago, and awarded it 120 pub points (of a possible 160):

Passed report section
Follow Dart file conventions
30 / 30trigger folding of the section

Passed check 10/10 points: Provide a valid pubspec.yaml

Passed check 5/5 points: Provide a valid README.md

Passed check 5/5 points: Provide a valid CHANGELOG.md

Passed check 10/10 points: Use an OSI-approved license

Detected license: MIT.

Partially passed report section
Provide documentation
10 / 20trigger folding of the section

Partially passed check 0/10 points: 20% or more of the public API has dartdoc comments

7 out of 279 API elements (2.5 %) have documentation comments.

Providing good documentation for libraries, classes, functions, and other API elements improves code readability and helps developers find and use your API. Document at least 20% of the public API elements.

To highlight public API members missing documentation consider enabling the public_member_api_docs lint.

Some symbols that are missing documentation: pdfium_bindings, pdfium_bindings.FPDFBitmap_BGR, pdfium_bindings.FPDFBitmap_BGRA, pdfium_bindings.FPDFBitmap_BGRx, pdfium_bindings.FPDFBitmap_Gray.

Passed check 10/10 points: Package has an example

Failed report section
Platform support
20 / 20trigger folding of the section

Passed check 20/20 points: Supports 5 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)

  • ✓ Android

  • ✓ iOS

  • ✓ Windows

  • ✓ Linux

  • ✓ macOS

These platforms are not supported:

Package not compatible with platform Web

Because:

  • package:pdfium_bindings/pdfium_bindings.dart that imports:
  • package:pdfium_bindings/src/pdfium_wrap.dart that imports:
  • package:pdfium_bindings/src/utils.dart that imports:
  • package:ffi/ffi.dart that imports:
  • package:ffi/src/utf8.dart that imports:
  • dart:ffi

Failed check 0/0 points: WASM compatibility

Package not compatible with runtime wasm

Because:

  • package:pdfium_bindings/pdfium_bindings.dart that imports:
  • package:pdfium_bindings/src/pdfium_wrap.dart that imports:
  • package:pdfium_bindings/src/utils.dart that imports:
  • package:ffi/ffi.dart that imports:
  • package:ffi/src/utf8.dart that imports:
  • dart:ffi

This package is not compatible with runtime wasm, and will not be rewarded full points in a future version of the scoring model.

See https://dart.dev/web/wasm for details.

Partially passed report section
Pass static analysis
40 / 50trigger folding of the section

Partially passed check 40/50 points: code has no errors, warnings, lints, or formatting issues

Found 430 issues. Showing the first 2:

INFO: The variable name 'FPDF_InitLibrary' isn't a lowerCamelCase identifier.

lib/src/pdfium_bindings.dart:22:8

   ╷
22 │   void FPDF_InitLibrary() {
   │        ^^^^^^^^^^^^^^^^
   ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/src/pdfium_bindings.dart

INFO: The variable name '_FPDF_InitLibrary_ptr' isn't a lowerCamelCase identifier.

lib/src/pdfium_bindings.dart:26:14

   ╷
26 │   late final _FPDF_InitLibrary_ptr =
   │              ^^^^^^^^^^^^^^^^^^^^^
   ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/src/pdfium_bindings.dart

Failed report section
Support up-to-date dependencies
20 / 40trigger folding of the section

Passed check 10/10 points: All of the package dependencies are supported in the latest version

Package Constraint Compatible Latest Notes
ffi >=1.1.2 <3.0.0 2.1.4 2.1.4
image ^4.0.0 4.5.4 4.5.4
path ^1.8.1 1.9.1 1.9.1
Transitive dependencies
Package Constraint Compatible Latest Notes
archive - 4.0.6 4.0.6
collection - 1.19.1 1.19.1
crypto - 3.0.6 3.0.6
meta - 1.16.0 1.16.0
petitparser - 6.1.0 6.1.0
posix - 6.0.2 6.0.2
typed_data - 1.4.0 1.4.0
xml - 6.5.0 6.5.0

To reproduce run dart pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides.

Passed check 10/10 points: Package supports latest stable Dart and Flutter SDKs

Failed check 0/20 points: Compatible with dependency constraint lower bounds

downgrade analysis failed failed with 4 errors:

  • UNDEFINED_NAMED_PARAMETER - lib/src/pdfium_wrap.dart:172:7 - The named parameter 'order' isn't defined.
  • UNDEFINED_IDENTIFIER - lib/src/pdfium_wrap.dart:172:14 - Undefined name 'ChannelOrder'.
  • UNDEFINED_NAMED_PARAMETER - lib/src/pdfium_wrap.dart:205:7 - The named parameter 'order' isn't defined.

Run dart pub downgrade and then dart analyze to reproduce the above problem.

You may run dart pub upgrade --tighten to update your dependency constraints, see dart.dev/go/downgrade-testing for details.

Analyzed with Pana 0.22.20, Dart 3.7.2.

Check the analysis log for details.

Weekly downloads

Display as:
By versions:
11
likes
120
points
115
downloads

Publisher

unverified uploader

Weekly Downloads

This project aims to wrap the complete [Pdfium](https://pdfium.googlesource.com/pdfium/) API in dart, over FFI.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

ffi, image, path

More

Packages that depend on pdfium_bindings