pkg_pdfio version: 0.0.91

Published 2025-10-15

ruud

sdk | dart
repository | svn
platform | generic
status | n/a
  • Readme
  • Changelog
  • Versions

pkg_pdfio

Port of alm, byter, pdfio that are unmaintained.

graph

Source code upgraded to dart null-safety, and refactored to meet 'our' standards.

Technically it is possible to generate pdfs with this library, but you are advised to use pkg_pdflib for that if possible, a plus for pkg_pdfio is that it doesn't rely on anything (pure dart) but quality is not guaranteed.

Code added to extract custom color separations (Thru-cut, Crease, etc.) and cut-paths.

BEWARE

Beware of constructions like below, where we parse a list of pdf files and then extract info from them:

      PDFObjecter parseFile(final File file) {
        print('[all] ${file.path}');
        return PDFObjecter.fromFile(file, withImages: false);
      }

      final List<String> result = Directory('..')
          .listSync(recursive: true)
          .whereType<File>()
          .whereNot((final File e) => e.isHidden)
          .where((final File e) => e.getExtension().equals('pdf'))
          .map(parseFile)
          .map((final PDFObjecter e) =>
              e.all.map((final PDFParsedObject e) => e.toString()))
          .expand((final Iterable<String> e) => e)
          .toList();

You will get a (temporary) list of parsed pdf file objects from PDFObjecter.fromFile(file, withImages: false) which are then mapped with toString.

The (temporary) list will consume a LARGE amount of memory.

A better way is to process each file individually in a for loop so each temporary PDFObjecter will get disposed on each iteration.

Links

https://artifex.com/blog/pymupdf-explored-low-level-access-to-pdf-objects#:~:text=The%20xref%20serves%20as%20a,defined%20using%20ASCII%20text%20strings.

Changelog

0.0.91 - 2025-10-15

Changed

  • Version bump from 0.0.90 to 0.0.91 (es_compression -> 2.0.15 (was 2.0.14)).

0.0.90 - 2025-10-03

Changed

  • Version bump from 0.0.89 to 0.0.90 (build_runner -> 2.9.0 (was 2.8.0)).

0.0.89 - 2025-09-22

Changed

  • Version bump from 0.0.88 to 0.0.89 (build_runner -> 2.8.0 (was 2.7.1)).

0.0.88 - 2025-09-22

Changed

  • Version bump from 0.0.87 to 0.0.88 (copy_with_extension_gen -> 10.0.1 (was 9.1.1)).

0.0.87 - 2025-09-22

Changed

  • Version bump from 0.0.86 to 0.0.87 (copy_with_extension -> 10.0.1 (was 9.1.1)).

0.0.86 - 2025-09-04

Changed

  • Version bump from 0.0.85 to 0.0.86 (build_runner -> 2.7.1 (was 2.7.2)).

0.0.85 - 2025-09-04

Changed

  • Version bump from 0.0.84 to 0.0.85 (build_runner -> 2.7.2 (was 2.7.1)).

0.0.84 - 2025-09-03

Changed

  • Version bump from 0.0.83 to 0.0.84 (copy_with_extension_gen -> 9.1.1 (was 9.1.0)).

0.0.83 - 2025-09-03

Changed

  • Version bump from 0.0.82 to 0.0.83 (copy_with_extension -> 9.1.1 (was 9.1.0)).

0.0.82 - 2025-09-03

Changed

  • Version bump from 0.0.81 to 0.0.82 (build_runner -> 2.7.1 (was 2.7.0)).

0.0.81 - 2025-09-01

Changed

  • Version bump from 0.0.80 to 0.0.81 (build_runner -> 2.7.0 (was 2.6.0)).

0.0.80 - 2025-08-08

Changed

  • Version bump from 0.0.79 to 0.0.80 (build_runner -> 2.6.0 (was 2.6.1)).

0.0.79 - 2025-08-08

Changed

  • Version bump from 0.0.78 to 0.0.79 (build_runner -> 2.6.1 (was 2.6.0)).

0.0.78 - 2025-08-07

Changed

  • Version bump from 0.0.77 to 0.0.78 (copy_with_extension_gen -> 9.1.0 (was 9.0.0)).

0.0.77 - 2025-08-07

Changed

  • Version bump from 0.0.76 to 0.0.77 (copy_with_extension -> 9.1.0 (was 9.0.0)).

0.0.76 - 2025-08-06

Changed

  • Version bump from 0.0.75 to 0.0.76 (copy_with_extension_gen -> 9.0.0 (was 8.0.0)).

0.0.75 - 2025-08-06

Changed

  • Version bump from 0.0.74 to 0.0.75 (copy_with_extension -> 9.0.0 (was 8.0.0)).

0.0.74 - 2025-08-04

Changed

  • Version bump from 0.0.73 to 0.0.74 (copy_with_extension_gen -> 8.0.0 (was 7.1.0)).

0.0.73 - 2025-08-04

Changed

  • Version bump from 0.0.72 to 0.0.73 (copy_with_extension -> 8.0.0 (was 7.1.0)).

0.0.72 - 2025-07-28

Changed

  • Version bump from 0.0.71 to 0.0.72 (build_runner -> 2.6.0 (was 2.5.4)).

0.0.71 - 2025-07-28

Changed

  • Version bump from 0.0.70 to 0.0.71 (copy_with_extension_gen -> 7.1.0 (was 6.0.1)).

0.0.70 - 2025-07-28

Changed

  • Version bump from 0.0.69 to 0.0.70 (copy_with_extension -> 7.1.0 (was 6.0.1)).

0.0.69 - 2025-07-23

Changed

  • Version bump from 0.0.68 to 0.0.69 (test -> 1.26.3 (was 1.26.2)).

0.0.68 - 2025-06-24

Changed

  • Version bump from 0.0.67 to 0.0.68 (build_runner -> 2.5.4 (was 2.5.3)).

0.0.67 - 2025-06-23

Changed

  • Version bump from 0.0.66 to 0.0.67 (build_runner -> 2.5.3 (was 2.5.2)).

0.0.66 - 2025-06-18

Changed

  • Version bump from 0.0.65 to 0.0.66 (build_runner -> 2.5.2 (was 2.4.12)).

0.0.65 - 2025-06-18

Changed

  • Version bump from 0.0.64 to 0.0.65 (build_runner -> 2.4.12 (was 2.5.1)).

0.0.64 - 2025-06-17

Changed

  • Version bump from 0.0.63 to 0.0.64 (build_runner -> 2.5.1 (was 2.5.0)).

0.0.63 - 2025-06-17

Changed

  • Version bump from 0.0.62 to 0.0.63 (build_runner -> 2.5.0 (was 2.4.15)).

0.0.62 - 2025-06-03

Added

  • ascii85 decoding, although it does not work with test file 'test/assets/196673_7UP.pdf'.

0.0.61 - 2025-05-22

Changed

  • Version bump from 0.0.60 to 0.0.61 (lints -> 6.0.0 (was 5.1.1)).

0.0.60 - 2025-05-22

Changed

  • Version bump from 0.0.59 to 0.0.60 (vector_math -> 2.2.0 (was 2.1.4)).

0.0.59 - 2025-05-22

Changed

  • Changed from Matrix4.translate to Matrix4.translateByDouble due to deprication of translate.
  • Changed from Matrix4.scale to Matrix4.scaleByDouble due to deprication of scale.
  • Version bump from 0.0.58 to 0.0.59 (test -> 1.26.2 (was 1.26.1)).

0.0.58 - 2025-05-20

Changed

  • Version bump from 0.0.57 to 0.0.58 (test -> 1.26.1 (was 1.26.0)).

0.0.57 - 2025-05-13

Changed

  • Version bump from 0.0.56 to 0.0.57 (test -> 1.26.0 (was 1.25.15)).

0.0.56 - 2025-05-01

Changed

  • Version bump from 0.0.55 to 0.0.56 (vector_math -> 2.1.4 (was 2.1.5)).

0.0.55 - 2025-04-16

Changed

  • Version bump from 0.0.54 to 0.0.55 (vector_math -> 2.1.4 (was 2.1.5)).

0.0.54 - 2025-04-16

Changed

  • Version bump from 0.0.53 to 0.0.54 (vector_math -> 2.1.5 (was 2.1.4)).

0.0.53 - 2025-04-09

Changed

  • Version bump from 0.0.52 to 0.0.53 (fast_immutable_collections -> 11.0.4 (was 11.0.3)).

0.0.52 - 2025-04-03

Changed

  • Version bump from 0.0.51 to 0.0.52 (es_compression -> 2.0.14 (was 2.0.11)).

0.0.51 - 2025-04-02

Changed

  • Version bump from 0.0.50 to 0.0.51 (collection -> 1.19.1 (was 1.19.0)).

0.0.50 - 2025-04-02

Changed

  • Version bump from 0.0.49 to 0.0.50 (test -> 1.25.15 (was 1.25.14)).

0.0.49 - 2025-03-26

Changed

  • Version bump from 0.0.48 to 0.0.49 (color_models -> 2.0.0 (was 1.3.3)).

0.0.48 - 2025-03-25

Changed

  • Version bump from 0.0.47 to 0.0.48 (image -> 4.5.4 (was 4.5.3)).

0.0.47 - 2025-02-28

Changed

  • Version bump from 0.0.46 to 0.0.47 (copy_with_extension_gen -> 6.0.1 (was 5.0.4)).

0.0.46 - 2025-02-28

Changed

  • Version bump from 0.0.45 to 0.0.46 (copy_with_extension -> 6.0.1 (was 5.0.4)).

0.0.45 - 2025-02-28

Changed

  • Version bump from 0.0.44 to 0.0.45 (copy_with_extension_gen -> 5.0.4 (was 6.0.1)).

0.0.44 - 2025-02-28

Changed

  • Version bump from 0.0.43 to 0.0.44 (copy_with_extension -> 5.0.4 (was 6.0.1)).

0.0.43 - 2025-02-28

Changed

  • Version bump from 0.0.42 to 0.0.43 (copy_with_extension -> 6.0.1 (was 6.0.0)).

0.0.42 - 2025-02-28

Changed

  • Version bump from 0.0.41 to 0.0.42 (copy_with_extension_gen -> 6.0.1 (was 6.0.0)).

0.0.41 - 2025-02-28

Changed

  • Version bump from 0.0.40 to 0.0.41 (build_runner -> 2.4.15 (was 2.4.14)).

0.0.40 - 2025-02-24

Changed

  • Version bump from 0.0.39 to 0.0.40 (image -> 4.5.3 (was 4.5.2)).

0.0.39 - 2025-02-12

Changed

  • Find colorspace, but prefer one that is in a defined separations list, so it chooses eg. EOT over Pantone 109 C if both exist with the same key (like /CS1).

0.0.38 - 2025-01-22

Changed

  • Version bump from 0.0.37 to 0.0.38 (copy_with_extension -> 6.0.0 (was 5.0.4)).

0.0.37 - 2025-01-22

Changed

  • Version bump from 0.0.36 to 0.0.37 (copy_with_extension_gen -> 6.0.0 (was 5.0.4)).

0.0.36 - 2025-01-22

Changed

  • Version bump from 0.0.35 to 0.0.36 (copy_with_extension_gen -> 5.0.4 (was 6.0.1)).

0.0.35 - 2025-01-22

Changed

  • Version bump from 0.0.34 to 0.0.35 (copy_with_extension -> 5.0.4 (was 6.0.1)).

0.0.34 - 2025-01-21

Changed

  • Version bump from 0.0.33 to 0.0.34 (copy_with_extension_gen -> 6.0.1 (was 6.0.0)).

0.0.33 - 2025-01-21

Changed

  • Version bump from 0.0.32 to 0.0.33 (copy_with_extension -> 6.0.1 (was 6.0.0)).

0.0.32 - 2025-01-07

Changed

  • Version bump from 0.0.31 to 0.0.32 (fast_immutable_collections -> 11.0.3 (was 11.0.2)).

0.0.31 - 2025-01-02

Changed

  • Version bump from 0.0.30 to 0.0.31 (fast_immutable_collections -> 11.0.2 (was 11.0.0)).

0.0.30 - 2024-12-23

Changed

  • Version bump from 0.0.29 to 0.0.30 (collection -> 1.19.0 (was 1.19.1)).

0.0.29 - 2024-12-23

Changed

  • Version bump from 0.0.28 to 0.0.29 (collection -> 1.19.1 (was 1.19.0)).

0.0.28 - 2024-12-23

Changed

  • Version bump from 0.0.27 to 0.0.28 (test -> 1.25.14 (was 1.25.13)).

0.0.27 - 2024-12-23

Changed

  • Version bump from 0.0.26 to 0.0.27 (lints -> 5.1.1 (was 5.1.0)).

0.0.26 - 2024-12-20

Changed

  • Version bump from 0.0.25 to 0.0.26 (image -> 4.5.2 (was 4.5.1)).

0.0.25 - 2024-12-19

Changed

  • Version bump from 0.0.24 to 0.0.25 (Support Apple silicon (arm64)).

0.0.24 - 2024-12-19

Changed

  • Version bump from 0.0.23 to 0.0.24 (image -> 4.5.1 (was 4.3.0)).

0.0.23 - 2024-12-19

Changed

  • Version bump from 0.0.22 to 0.0.23 (collection -> 1.19.0 (was 1.19.1)).

0.0.22 - 2024-12-19

Changed

  • Version bump from 0.0.21 to 0.0.22 (collection -> 1.19.1 (was 1.19.0)).

0.0.21 - 2024-12-19

Changed

  • Version bump from 0.0.20 to 0.0.21 (build_runner -> 2.4.14 (was 2.4.13)).

0.0.20 - 2024-12-18

Changed

  • Version bump from 0.0.19 to 0.0.20 (test -> 1.25.13 (was 1.25.12)).

0.0.19 - 2024-12-12

Changed

  • Version bump from 0.0.18 to 0.0.19 (lints -> 5.1.0 (was 5.0.0)).

0.0.18 - 2024-12-12

Changed

  • Version bump from 0.0.17 to 0.0.18 (collection -> 1.19.0 (was 1.18.0)).

0.0.17 - 2024-12-05

Changed

  • Version bump from 0.0.16 to 0.0.17 (test -> 1.25.12 (was 1.25.11)).

0.0.16 - 2024-12-04

Changed

  • Version bump from 0.0.15 to 0.0.16 (test -> 1.25.11 (was 1.25.10)).

0.0.15 - 2024-12-03

Changed

  • Version bump from 0.0.14 to 0.0.15 (test -> 1.25.10 (was 1.25.9)).

0.0.14 - 2024-12-02

Changed

  • Version bump from 0.0.13 to 0.0.14 (copy_with_extension_gen -> 6.0.0 (was 5.0.4)).

0.0.13 - 2024-12-02

Changed

  • Version bump from 0.0.12 to 0.0.13 (copy_with_extension -> 6.0.0 (was 5.0.4)).

0.0.12 - 2024-11-27

Changed

  • Version bump from 0.0.11 to 0.0.12 (test -> 1.25.9 (was 1.25.8)).

0.0.11 - 2024-11-01

Changed

  • Version bump from 0.0.10 to 0.0.11.

0.0.10 - 2024-08-22

Changed

  • Version bump from 0.0.9 to 0.0.10 (SDK update 3.5.1).

0.0.9 - 2024-08-07

Fixed

  • Byter::byte offset out of buffer bounds.

0.0.8 - 2024-07-17

Changed

  • Optimizations

0.0.7 - 2024-07-16

Changed

  • Optimizations

0.0.6 - 2024-04-03

Changed

  • Optimizations

0.0.5 - 2024-02-21

Fixed

  • XPage order after reading.

0.0.4 - 2024-02-12

Changed

  • Handle page scaling by 'userunit'.
  • PDFObjecter::_doBuildObjectList reparses objects that contain missing references.
  • More accurate path extraction.

0.0.3 - 2024-02-01

Changed

  • Version bump from 0.0.2 to 0.0.3 (Resolve package version confusions).

0.0.2 - 2024-01-24

Added

  • verbose flag to extractor.

0.0.1 - 2023-11-27

  • Initial version.

0.0.91

2025-10-15 download

0.0.90

2025-10-03 download

0.0.89

2025-09-22 download

0.0.86

2025-09-04 download

0.0.84

2025-09-03 download

0.0.80

2025-08-08 download

0.0.76

2025-08-06 download

0.0.74

2025-08-04 download

0.0.72

2025-07-28 download

0.0.69

2025-07-23 download

0.0.68

2025-06-24 download

0.0.67

2025-06-23 download

0.0.63

2025-06-17 download

0.0.62

2025-06-03 download

0.0.61

2025-05-22 download

0.0.58

2025-05-20 download

0.0.57

2025-05-13 download

0.0.56

2025-05-01 download

0.0.55

2025-04-16 download

0.0.52

2025-04-03 download

0.0.51

2025-04-02 download

0.0.49

2025-03-26 download

0.0.47

2025-02-28 download

0.0.40

2025-02-24 download

0.0.39

2025-02-12 download

0.0.38

2025-01-22 download

0.0.34

2025-01-21 download

0.0.32

2025-01-07 download

0.0.31

2025-01-02 download

0.0.30

2024-12-23 download

0.0.25

2024-12-19 download

0.0.20

2024-12-18 download

0.0.19

2024-12-12 download

0.0.12

2024-11-27 download

0.0.11

2024-11-01 download

0.0.10

2024-08-22 download

0.0.9

2024-08-07 download

0.0.8

2024-07-17 download

0.0.7

2024-07-16 download

0.0.6

2024-04-03 download

0.0.5

2024-02-21 download

0.0.4

2024-02-12 download

0.0.3

2024-02-01 download

0.0.2

2024-01-24 download

0.0.1

2023-11-27 download