pkg_pdflib version: 1.8.50

Published 2025-10-13

ruud

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

PDFlib wrappers and tools.

  • hides version and platform specifics
  • provides a unified API

graph

Versions

PDFlib

Version MacOS Linux Windows Release date
7.0.2 - - - 2010-12-10
8.0.2 X - - 2010-12-10
9.0.2 - X - 2013-12-17
10.0.0 X X - 2022-09-01

PLOP

Version MacOS Linux Windows
5.4.p2 X X X

Licenses

PDFlib

Version MacOS Linux Windows
8.0.2 X - -
9.0.2 - X -
10.0.0 X X -

PLOP

Version MacOS Linux Windows
5.4.p2 - - -

Important

Versions without licenses only work with small (max. 10 pages) documents when using the pcos functions due to 'evaluation mode' of the PDFlib 10 and/or PLOP libraries. Seems like it is time to upgrade. See the 'PLOP' section below.

Install

No need to install anything (anymore). The so/dylib/dll is loaded from pkg_pdflib resources.

Your project

In your project's pubspec.yaml add:

dependencies:
  pkg_pdflib:
    path: ../pkg_pdflib

In your code add:

import 'package:pkg_pdflib/pkg_pdflib.dart';

Windows

Be sure to install 'Visual C++ Redistributable Packages' first otherwise you will get an error 126 while loading the dll.

Usage

Inspect

final PdflibWrapper pdflib = PdflibWrapper()
    ..set_option(
          r'logging={filename=test/assets/debug_wrapper.log remove}');

    final PdiScope scope = PdiScope(pdflib: pdflib);

    if (scope.doOpen()) {
        final PdiDocument document = scope.getDocument();

        if (document.doOpen(File("test.pdf")) {
            expect(document.isOpen(), true);
            expect(document.isOnlyBasicInfoAvailable(), false);
            expect(document.isLinearized(), false);
            expect(document.isTagged(), false);
            expect(document.isTopDown(), false);
            expect(document.getHandle(), 0);

            // ... do other stuff

            document.doClose();
        }

        scope.doClose();
    }

    pdflib.delete();

Generate

    final PdflibWrapper pdflib = PdflibWrapper();
    final Pdflib root = Pdflib(
        comment: r'Just a basic pdf generator test',
        logging: true,
        gridsize: Units.mm2pt(10),
        showgrid: true,
        children: [
            Document(
                intermediate: r'intermediate_generator_test.pdf',
                filename: "generator_test_${pdflib.actualVersion}.pdf",
                children: [
                    Page(
                        width: Units.mm2pt(210).toString(),
                        height: Units.mm2pt(297).toString(),
                        options: r'topdown=false',
                        children: [
                            Annotation(
                                llx: "(5 + 5) * points_per_mm",
                                lly: "17 * points_per_mm",
                                urx: Units.mm2pt(20),
                                ury: Units.mm2pt(7),
                                annotationType: AnnotationType.Text,
                                name: r'annotation_0',
                                title: r'annotation 0 title',
                                children: [
                                    Cdata(r'test annotation 0 text'),
                                ],
                            ),
                        ],
                    ),
                ],
            )
        ],
    );

    root.doValidate();

    final GetIt getIt = GetIt.instance;

    getIt.pushNewScope(
            init: (final getIt) {
                getIt.registerSingleton(
                    ScriptController(
                        pdflib: pdflib,
                        root: root,
                    ),
                );
            },
            dispose: () {},
        );

    await getIt.get<ScriptController>().doPlay();
        
    getIt.popScope();

    pdflib.delete();

You'll see that this document structuring is very similar to building a Flutter UI with widgets.

To 'run' the 'script' (eg. build the PDF file), you have to supply a controller through depencency-injection in the current scope with GetIt. We then 'get' the controller and call it's doPlay method. When done the controller is popped and the pdflib instance should be deleted to free up resources.

Parameter scripting

When object properties are dynamic it is possible to assign them in the following ways:

  • with a fixed value
  • with a variable value
  • with a string expression
  • with a callback function

Fixed value

    Annotation(llx: 10.0); // 10 pt
    Annotation(llx: 10.0 * (1.0 / (25.4 / 72.0))); // 10 mm
    Annotation(llx: Units.mm2pt(10.0); // 10 mm

Variable value

    Annotation(llx: myvar); // something
    Annotation(llx: "$left * points_per_mm"); // 'left' mm

Note: point and points_per_mm are pre-defined constants.

String expression

    Annotation(llx: "10 * points_per_mm");

Note: point and points_per_mm are pre-defined constants.

Callback function

    Annotation(llx: (final controller, final context) {
        return ScriptableVariable(ctx: context)
            .getDouble("textflow_someTextframe_x1 + (10 * points_per_mm)");
        },
    );

Note: point and points_per_mm are pre-defined constants. textflow_someTextframe_x1 is the lower-left-x value of a named Textflow() somewhere on the page.

Hint: Put a debug break-point in the callback function to see which key/values are available in the context parameter.

PLOP

PLOP = PDF Linearization, Optimization, Protection.

Interfacing with the PDFlib < 10.0.0-beta1 java libraries via the ffigen generated dart code resulted in crashes on the following three functions:

  • pcos_get_number
  • pcos_get_string
  • pcos_get_stream

It was determined that PDFlib 10.0.0-beta1 will work, and also, that the PLOP library provides the same three functions that would not crash.

So, in order to get things working for the lower (deprecated) PDFlib libraries, the PLOP functions are used for PDFlib versions that would otherwise crash. The PdflibWrapper class takes care of that.

Caveat: This package currently only works with small (max. 10 pages) documents when using the pcos functions due to 'evaluation mode' of the PDFlib 10 and/or PLOP libraries. Seems like it is time to upgrade.

Generate

Just run hh generate.

Generate (deprecated)

Use the method above (generate script).

Put one of the entries below in your pubspec.yaml.

# https://hkubota.wordpress.com/2021/10/16/dart-and-ffi-and-ffigen/

# unless the headers change, this should be done only once.
# 1. enable 1 (one) ffi section below
# 2. run 'flutter pub run ffigen'
# 3. disable the ffi section.

#ffigen:
#  name: NativeLibrary
#  description: pdflib_8_0_2
#  output: 'lib/src/pdflib/pdflib_8_0_2.dart'
#  headers:
#    entry-points:
#      - 'headers/pdflib_8_0_2.h'

#ffigen:
#  name: NativeLibrary
#  description: pdflib_9_0_2
#  output: 'lib/src/pdflib/pdflib_9_0_2.dart'
#  headers:
#    entry-points:
#      - 'headers/pdflib_9_0_2.h'

#ffigen:
#  name: NativeLibrary
#  description: pdflib_10_0_0
#  output: 'lib/src/pdflib/pdflib_10_0_0.dart'
#  headers:
#    entry-points:
#      - 'headers/pdflib_10_0_0p1.h'

#ffigen:
#  name: NativeLibrary
#  description: pdflib_10_0_1
#  output: 'lib/src/pdflib/pdflib_10_0_1.dart'
#  headers:
#    entry-points:
#      - 'headers/pdflib_10_0_1.h'

#ffigen:
#  name: NativeLibrary
#  description: windows pdflib for dll
#  llvm-path:
#    - '/usr/lib/llvm-12/lib/libclang.so'
#  output: 'lib/src/pdflib/pdflibdl_windows_10_0_0.dart'
#  headers:
#    entry-points:
#      - 'headers/windows/10_0_0/pdflibdl.h'

#ffigen:
#  name: NativeLibrary
#  description: windows pdflib for dll
#  llvm-path:
#    - '/usr/lib/llvm-12/lib/libclang.so'
#  output: 'lib/src/pdflib/pdflibdl_windows_10_0_1.dart'
#  headers:
#    entry-points:
#      - 'headers/windows/10_0_1/pdflibdl.h'

#ffigen:
#  name: NativeLibrary
#  description: plop_5_4_2
#  output: 'lib/src/plop/plop_5_4_2.dart'
#  headers:
#    entry-points:
#      - 'headers/ploplib_5_4_2.h'

#ffigen:
#  name: NativeLibrary
#  description: plop_5_5_0
#  output: 'lib/src/plop/plop_5_5_0.dart'
#  headers:
#    entry-points:
#      - 'headers/ploplib_5_5_0.h'

Changelog

1.8.50 - 2025-10-13

Added

  • metadata field on Document token.

1.8.49 - 2025-10-03

Changed

  • Version bump from 1.8.48 to 1.8.49 (build_runner -> 2.9.0 (was 2.8.0)).

1.8.48 - 2025-09-22

Changed

  • Check create_textflow handle.

1.8.47 - 2025-09-22

Changed

  • Version bump from 1.8.46 to 1.8.47 (build_runner -> 2.8.0 (was 2.7.1)).

1.8.46 - 2025-09-16

Changed

  • Version bump from 1.8.45 to 1.8.46 (xml -> 6.6.1 (was 6.5.0)).

1.8.45 - 2025-09-16

Changed

  • Version bump from 1.8.44 to 1.8.45 (expressions -> 0.2.5+3 (was 0.2.5+2)).

1.8.44 - 2025-09-08

Changed

  • Version bump from 1.8.43 to 1.8.44 (json_serializable -> 6.11.1 (was 6.11.0)).

1.8.43 - 2025-09-04

Changed

  • Version bump from 1.8.42 to 1.8.43 (build_runner -> 2.7.1 (was 2.7.2)).

1.8.42 - 2025-09-04

Changed

  • Version bump from 1.8.41 to 1.8.42 (build_runner -> 2.7.2 (was 2.7.1)).

1.8.41 - 2025-09-03

Changed

  • Version bump from 1.8.40 to 1.8.41 (build_runner -> 2.7.1 (was 2.7.0)).

1.8.40 - 2025-09-01

Changed

  • Version bump from 1.8.39 to 1.8.40 (json_serializable -> 6.11.0 (was 6.10.0)).

1.8.39 - 2025-09-01

Changed

  • Version bump from 1.8.38 to 1.8.39 (build_runner -> 2.7.0 (was 2.6.0)).

1.8.38 - 2025-08-15

Changed

  • Added silence-enum-warning: true to ffigen configurations.

1.8.37 - 2025-08-08

Changed

  • Version bump from 1.8.36 to 1.8.37 (build_runner -> 2.6.0 (was 2.6.1)).

1.8.36 - 2025-08-08

Changed

  • Version bump from 1.8.35 to 1.8.36 (build_runner -> 2.6.1 (was 2.6.0)).

1.8.35 - 2025-07-28

Changed

  • Version bump from 1.8.34 to 1.8.35 (json_serializable -> 6.10.0 (was 6.9.5)).

1.8.34 - 2025-07-28

Changed

  • Version bump from 1.8.33 to 1.8.34 (build_runner -> 2.6.0 (was 2.5.4)).

1.8.33 - 2025-07-23

Changed

  • Version bump from 1.8.32 to 1.8.33 (test -> 1.26.3 (was 1.26.2)).

1.8.32 - 2025-07-23

Changed

  • Version bump from 1.8.31 to 1.8.32 (ffigen -> 19.1.0 (was 19.0.0)).

1.8.31 - 2025-07-17

Changed

  • MergePdf, honour orientation, strip cloneboxes=true if needed.

1.8.30 - 2025-06-24

Changed

  • Version bump from 1.8.29 to 1.8.30 (build_runner -> 2.5.4 (was 2.5.3)).

1.8.29 - 2025-06-23

Changed

  • Version bump from 1.8.28 to 1.8.29 (build_runner -> 2.5.3 (was 2.5.2)).

1.8.28 - 2025-06-18

Changed

  • Version bump from 1.8.27 to 1.8.28 (build_runner -> 2.5.2 (was 2.4.12)).

1.8.27 - 2025-06-18

Changed

  • Version bump from 1.8.26 to 1.8.27 (build_runner -> 2.4.12 (was 2.5.1)).

1.8.26 - 2025-06-17

Changed

  • Version bump from 1.8.25 to 1.8.26 (build_runner -> 2.5.1 (was 2.5.0)).

1.8.25 - 2025-06-17

Changed

  • Version bump from 1.8.24 to 1.8.25 (build_runner -> 2.5.0 (was 2.4.15)).

1.8.24 - 2025-05-28

Changed

  • Version bump from 1.8.23 to 1.8.24 (flutter_lints -> 6.0.0 (was 5.0.0)).

1.8.23 - 2025-05-22

Changed

  • Version bump from 1.8.22 to 1.8.23 (test -> 1.26.2 (was 1.26.1)).

1.8.22 - 2025-05-20

Changed

  • Version bump from 1.8.21 to 1.8.22 (test -> 1.26.1 (was 1.26.0)).

1.8.21 - 2025-05-19

Changed

  • Version bump from 1.8.20 to 1.8.21 (ffigen -> 19.0.0 (was 18.1.0)).

1.8.20 - 2025-05-13

Changed

  • Version bump from 1.8.19 to 1.8.20 (test -> 1.26.0 (was 1.25.15)).

1.8.19 - 2025-04-18

Changed

  • Version bump from 1.8.18 to 1.8.19 (json_serializable -> 6.9.5 (was 6.9.4)).

1.8.18 - 2025-04-09

Changed

  • Version bump from 1.8.17 to 1.8.18 (ffigen -> 18.1.0 (was 18.0.0)).

1.8.17 - 2025-04-02

Changed

  • Version bump from 1.8.16 to 1.8.17 (collection -> 1.19.1 (was 1.19.0)).

1.8.16 - 2025-04-02

Changed

  • Version bump from 1.8.15 to 1.8.16 (test -> 1.25.15 (was 1.25.14)).

1.8.15 - 2025-03-13

Added

  • BoxPlacement::toPdfRect.

1.8.14 - 2025-03-11

Changed

  • Version bump from 1.8.13 to 1.8.14 (ffigen -> 18.0.0 (was 17.0.0)).

1.8.13 - 2025-03-05

Changed

  • Version bump from 1.8.12 to 1.8.13 (process_run -> 1.2.4 (was 1.2.3)).

1.8.12 - 2025-02-28

Changed

  • Version bump from 1.8.11 to 1.8.12 (ffigen -> 17.0.0 (was 16.1.0)).

1.8.11 - 2025-02-28

Changed

  • Version bump from 1.8.10 to 1.8.11 (json_serializable -> 6.9.4 (was 6.9.3)).

1.8.10 - 2025-02-28

Changed

  • Version bump from 1.8.9 to 1.8.10 (build_runner -> 2.4.15 (was 2.4.14)).

1.8.9 - 2025-02-21

Changed

  • Version bump from 1.8.8 to 1.8.9 (ffi -> 2.1.4 (was 2.1.3)).

1.8.8 - 2025-02-21

Changed

  • Version bump from 1.8.7 to 1.8.8 (ffi -> 2.1.3 (was 2.1.4)).

1.8.7 - 2025-02-19

Changed

  • IControllerDispatcher and IControllerListener are now async.
  • ITaskDispatcher and ITaskListener are now async.

1.8.6 - 2025-02-18

Changed

  • Version bump from 1.8.5 to 1.8.6 (ffi -> 2.1.4 (was 2.1.3)).

1.8.5 - 2025-02-17

Changed

  • Version bump from 1.8.4 to 1.8.5 (process_run -> 1.2.3 (was 1.2.2+1)).

1.8.4 - 2025-01-17

Fixed

  • Crash in ScriptableVariable due to missing matchbox index.

1.8.3 - 2025-01-15

Changed

  • Version bump from 1.8.2 to 1.8.3 (ffigen -> 16.1.0 (was 16.0.0)).

1.8.2 - 2025-01-14

Changed

  • Version bump from 1.8.1 to 1.8.2 (json_serializable -> 6.9.3 (was 6.9.2)).

1.8.1 - 2025-01-07

Changed

  • Do not export TokenFactory anymore.

1.8.0 - 2025-01-06

Added

  • errorPolicy parameter to PdflibWrapper.

1.7.26 - 2024-12-23

Changed

  • Version bump from 1.7.25 to 1.7.26 (collection -> 1.19.0 (was 1.19.1)).

1.7.25 - 2024-12-23

Changed

  • Version bump from 1.7.24 to 1.7.25 (collection -> 1.19.1 (was 1.19.0)).

1.7.24 - 2024-12-23

Changed

  • Version bump from 1.7.23 to 1.7.24 (test -> 1.25.14 (was 1.25.13)).

1.7.23 - 2024-12-19

Changed

  • Version bump from 1.7.22 to 1.7.23 (Support Apple silicon (arm64)).

1.7.22 - 2024-12-19

Changed

  • Version bump from 1.7.21 to 1.7.22 (json_serializable -> 6.9.2 (was 6.9.0)).

1.7.21 - 2024-12-19

Changed

  • Version bump from 1.7.20 to 1.7.21 (json_serializable -> 6.9.0 (was 6.9.2)).

1.7.20 - 2024-12-19

Changed

  • Version bump from 1.7.19 to 1.7.20 (json_serializable -> 6.9.2 (was 6.9.0)).

1.7.19 - 2024-12-19

Changed

  • Version bump from 1.7.18 to 1.7.19 (collection -> 1.19.0 (was 1.19.1)).

1.7.18 - 2024-12-19

Changed

  • Version bump from 1.7.17 to 1.7.18 (collection -> 1.19.1 (was 1.19.0)).

1.7.17 - 2024-12-19

Changed

  • Version bump from 1.7.16 to 1.7.17 (build_runner -> 2.4.14 (was 2.4.13)).

1.7.16 - 2024-12-18

Changed

  • Version bump from 1.7.15 to 1.7.16 (json_serializable -> 6.9.0 (was 6.9.2)).

1.7.15 - 2024-12-18

Changed

  • Version bump from 1.7.14 to 1.7.15 (test -> 1.25.13 (was 1.25.12)).

1.7.14 - 2024-12-18

Changed

  • Version bump from 1.7.13 to 1.7.14 (json_serializable -> 6.9.2 (was 6.9.0)).

1.7.13 - 2024-12-12

Changed

  • Version bump from 1.7.12 to 1.7.13 (collection -> 1.19.0 (was 1.18.0)).

1.7.12 - 2024-12-11

Changed

  • PdflibWrapper now has ErrorPolicy parameter.

1.7.11 - 2024-12-10

Changed

  • Added pdflib 10.0.0 arm64 binary for linux.
  • Renamed pdflib 10.0.0 arm64 binary for macos.

1.7.10 - 2024-12-09

Changed

  • Added pdflib 10.0.0 arm64 binary for macos.

1.7.9 - 2024-12-05

Changed

  • Version bump from 1.7.8 to 1.7.9 (test -> 1.25.12 (was 1.25.11)).

1.7.8 - 2024-12-04

Changed

  • Version bump from 1.7.7 to 1.7.8 (test -> 1.25.11 (was 1.25.10)).

1.7.7 - 2024-12-03

Changed

  • Version bump from 1.7.6 to 1.7.7 (test -> 1.25.10 (was 1.25.9)).

1.7.6 - 2024-12-02

Changed

  • Version bump from 1.7.5 to 1.7.6 (process_run -> 1.2.2+1 (was 1.2.2)).

1.7.5 - 2024-11-27

Changed

  • Version bump from 1.7.4 to 1.7.5 (test -> 1.25.9 (was 1.25.8)).

1.7.4 - 2024-11-22

Added

  • Type and SubType to BlockDim structure.
  • Templatepdf token.
  • Re-generated all json-serializable classes.

1.7.3 - 2024-11-22

Changed

  • Version bump from 1.7.2 to 1.7.3 (equatable -> 2.0.7 (was 2.0.6)).

1.7.2 - 2024-08-22

Changed

  • Version bump from 1.7.1 to 1.7.2 (SDK update 3.5.1).

1.7.1 - 2024-08-19

Changed

  • async abort status.

1.7.0 - 2024-08-15

Changed

  • ScriptController can now only be create by calling the async ScriptController.create function that synchronizes access to IToken.tokenFactory.
  • ScriptController.doPlay method now synchronizes access to IToken.tokenFactory.

1.6.15 - 2024-08-09

Changed

  • Removed get_it dependency.

1.6.14 - 2024-04-12

Fixed

  • fontoutline={{alias}={path}} options.

1.6.13 - 2024-03-27

Fixed

  • Restored flutter/assets in pubspec.yaml.

1.6.12 - 2024-02-01

Changed

  • Version bump from 1.6.11 to 1.6.12 (Resolve package version confusions).

1.6.11 - 2024-02-01

Changed

  • Version bump from 1.6.10 to 1.6.11.

1.6.10 - 2023-12-05

Changed

  • Version bump from 1.6.9 to 1.6.10.

1.6.9 - 2023-10-31

Added

  • PdflibWrapper::getFontsAvailableReport
  • PdflibWrapper::isFontAvailable
  • PdflibWrapper::searchPaths

1.6.8 - 2023-10-16

Added

  • collection dependency.
  • optional dependency.
  • expression dependency.

Removed

  • quiver dependency.
  • tp_expressions dependency.

1.6.7 - 2023-08-30

Fixed

  • Only package the recommended dylib versions (10.0.0).

1.6.6 - 2023-07-26

Fixed

  • int is not a subtype of double in token/rectangle, image, pdf (mainly caused by json generated from a web-application, because js makes an int of double values without fraction (1.0 becomes 1)).

1.6.5 - 2023-07-20

Added

  • Test for (decoded) json string to tokens.

1.6.4 - 2023-07-10

Changed

  • Cache the resolved path to the pdflib binaries.

1.6.3 - 2023-06-05

Changed

  • From flutter_test to pure-dart test.

1.6.2 - 2023-05-22

Fixed

  • Wrong async constructs.

1.6.1 - 2023-05-11

Added

  • tool/ffi_generate.dart to generate the api.

1.6.0 - 2023-05-08

Changed

  • Upgraded to pdflib 10.0.1 and plop 5.5.0.
  • Recommended versions are still pdflib 10.0.0 and plop 5.4.2 since we do not have a license upgrade (yet).

1.5.2 - 2023-04-13

Fixed

  • await unawaited futures.
  • Marked some futures unawaited.

1.5.1 - 2023-04-05

Changed

  • Minor changes in search path for shared library.

1.5.0 - 2023-04-05

Changed

  • Removed all flutter references, making this package pure dart.
  • Tests still depend on flutter because of pkg_pdflib_flutter.

1.4.24 - 2023-02-09

Changed

  • Version bump from 1.4.23 to 1.4.24 (Version confusion after compiler bug chaos).

1.4.23 - 2023-01-31

Changed

  • Version bump from 1.4.22 to 1.4.23.

1.4.22 - 2023-01-31

Changed

  • Version bump from 1.4.21 to 1.4.22.

1.4.21 - 2023-01-30

Changed

  • Removed flutter Color from RgbColorParserMixin in preparation for a flutter-less (pure dart) pkg_pdflib (so we can use it in a console app).

1.4.20 - 2022-12-27

Changed

  • Version bump from 1.4.19 to 1.4.20.

1.4.19 - 2022-12-22

Changed

  • Version bump from 1.4.18 to 1.4.19.

1.4.18 - 2022-12-22

Changed

  • Version bump from 1.4.17 to 1.4.18 (Recompile due to installer optimizations).

1.4.17 - 2022-12-19

Fixed

  • _Pdflib::_findBinFolder.

1.4.16 - 2022-12-06

Added

  • PdfMediaInfo.

1.4.15 - 2022-11-29

Added

  • Use kPdflibCompatibilityVersion constant.

1.4.14 - 2022-11-28

Changed

  • Capped number of pages in test/Schapkaarten_002.pdf to 50.
  • Rounded calculations that were not already capped with toPrecision.
  • Fixed a lot of style bugs in XHtmlHandler.

1.4.13 - 2022-11-03

Fixed

  • searchpath with spaces.

1.4.12 - 2022-10-28

Fixed

  • await doPlay/onBegin/onEnd.

1.4.11 - 2022-10-25

Fixed

  • Crash in Templatetext when no textoptions were given.
  • GeneratorRunner now implements IAbortProvider.

1.4.10 - 2022-10-19

Changed

  • Removed all print statements for logging.

1.4.9 - 2022-10-19

Changed

  • Cached the document and page handles in mergepdf for a 50% speed gain.

1.4.8 - 2022-10-17

Changed

  • Added check if file exists before creating with generator/tokens/Document. You should always clean your output folder before creating new pdf files to prevent accidental overwrites and thus losing data by generating a file twice.

1.4.7 - 2022-10-11

Changed

  • Version bump from 1.4.6 to 1.4.7 (Recompile due to wrong GetIt.instance syntax.).

1.4.6 - 2022-10-05

Changed

  • Version bump from 1.4.5 to 1.4.6 (fixed pdflib searchpath macos crash).

1.4.5 - 2022-10-05

Fixed

  • Crash on MacOS when set_option('searchpath=$path') contained a - character. Changed to set_option('searchpath={$path}').

1.4.4 - 2022-10-01

Changed

  • Version bump from 1.4.3 to 1.4.4 (pkg_pdflib bundle macos dylib).

1.4.3 - 2022-10-01

Changed

  • Bundle pdflib dylib binary for macos.
  • Gained the ability toPNG (uses flutter foundation).

1.4.2 - 2022-09-30

Changed

  • Made pure dart.
  • Lost the ability toPNG (uses flutter foundation).

1.4.1 - 2022-09-29

Changed

  • Version bump from 1.4.0 to 1.4.1 (dependencies upgraded).

1.4.0 - 2022-09-26

Changed

  • Switch macos over to version 10.0.0 (with license).

1.3.2 - 2022-09-15

Added

  • VeraMono to default fonts.

1.3.1 - 2022-09-09

Fixed

  • ffi.Int32 to ffi.Int.

1.3.0 - 2022-09-09

Changed

  • Switch linux over to version 10.0.0 (with license).
  • Re-generated dart shims with ffi.
  • ffi.Int8 to ffi.Char.

Fixed

  • Removed volatile keyword from plop_5_4_2.h.

1.2.10 - 2022-09-07

Changed

  • Typo in CHANGELOG.md.

Fixed

  • generator_test.

1.2.9 - 2022-09-07

Added

  • verbose flag on PdiDocument to prevent/enable debug printing.

1.2.8 - 2022-08-31

Changed

  • removed various finals due to new linter rules.

1.2.7 - 2022-08-30

Changed

  • Moved fonts to bin and include in asset resources.
  • Added assets fonts folder to searchpath.

1.2.6 - 2022-08-30

Changed

  • Mergepdf now takes the test flag from the controller.

1.2.5 - 2022-08-29

Changed

  • Removed some debug print lines.

1.2.4 - 2022-08-26

Changed

  • IToken.children is now a List&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;IToken&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; not List&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;dynamic&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;.

1.2.3 - 2022-08-10

Added

  • IAbortProvider.

1.2.2 - 2022-08-09

Fixed

  • Fetch macos dylibs from pkg_pdflib resources. No need to bundle them via XCode anymore.

1.2.1 - 2022-08-08

Added

  • Added Start- and EndPage events (also when pages are merged with Mergepdf).

1.2.0 - 2022-08-05

Added

  • Optional orientation to Mergepdf that will rotate all pages to the specified orientation if needed.

1.1.0 - 2022-08-03

Changed

  • Moved TokenValidation mixin to pkg_pdflib_tokens.
  • Removed all token exports (to keep them private).

1.0.1 - 2022-07-29

Changed

  • 'open_file' replaced with tp_open_file.

Updated

  • file_picker to 5.0.0.
  • ffi to 2.0.1

1.0.0 - 2022-07-25

Changed

  • First major version.

0.0.1+12 - 2022-07-21

Added

  • toPdflib to ArtBox, BleedBox, CropBox, MediaBox and TrimBox.

0.0.1+11 - 2022-06-09

Changed

  • Unknown changes.

0.0.1 - 2022-01-06

Changed

  • Initial version.

1.8.50

2025-10-13 download

1.8.49

2025-10-03 download

1.8.48

2025-09-22 download

1.8.47

2025-09-22 download

1.8.44

2025-09-08 download

1.8.41

2025-09-03 download

1.8.38

2025-08-15 download

1.8.37

2025-08-08 download

1.8.35

2025-07-28 download

1.8.33

2025-07-23 download

1.8.31

2025-07-17 download

1.8.30

2025-06-24 download

1.8.29

2025-06-23 download

1.8.25

2025-06-17 download

1.8.24

2025-05-28 download

1.8.23

2025-05-22 download

1.8.22

2025-05-20 download

1.8.20

2025-05-13 download

1.8.19

2025-04-18 download

1.8.17

2025-04-02 download

1.8.15

2025-03-13 download

1.8.13

2025-03-05 download

1.8.9

2025-02-21 download

1.8.6

2025-02-18 download

1.8.4

2025-01-17 download

1.8.1

2025-01-07 download

1.8.0

2025-01-06 download

1.7.26

2024-12-23 download

1.7.23

2024-12-19 download

1.7.16

2024-12-18 download

1.7.13

2024-12-12 download

1.7.5

2024-11-27 download

1.7.4

2024-11-22 download

1.7.2

2024-08-22 download

1.7.1

2024-08-19 download

1.6.14

2024-04-12 download

1.6.13

2024-03-27 download

1.6.12

2024-02-01 download

1.6.11

2024-02-01 download

1.6.10

2023-12-05 download

1.6.9

2023-10-31 download

1.6.8

2023-10-16 download

1.6.7

2023-08-30 download

1.6.6

2023-07-26 download

1.6.5

2023-07-20 download

1.6.4

2023-07-10 download

1.6.3

2023-06-05 download

1.6.2

2023-05-22 download

1.6.0

2023-05-08 download

1.5.2

2023-04-13 download

1.5.1

2023-04-05 download

1.5.0

2023-04-05 download

1.4.24

2023-02-09 download

1.4.23

2023-01-31 download

1.4.20

2022-12-27 download

1.4.19

2022-12-22 download

1.4.18

2022-12-22 download

1.4.17

2022-12-19 download

1.4.16

2022-12-06 download

1.4.15

2022-11-29 download

1.4.14

2022-11-28 download

1.4.13

2022-11-03 download

1.4.12

2022-10-28 download

1.4.11

2022-10-25 download

1.4.10

2022-10-19 download

1.4.9

2022-10-19 download

1.4.8

2022-10-17 download

1.4.7

2022-10-11 download

1.4.6

2022-10-05 download

1.4.5

2022-10-05 download

1.4.4

2022-10-01 download

1.4.2

2022-09-30 download

1.4.1

2022-09-29 download

1.4.0

2022-09-26 download

1.3.2

2022-09-15 download

1.3.1

2022-09-09 download

1.3.0

2022-09-09 download

1.2.10

2022-09-07 download

1.2.9

2022-09-07 download

1.2.8

2022-08-31 download

1.2.7

2022-08-30 download

1.2.5

2022-08-29 download

1.2.3

2022-08-10 download

1.2.2

2022-08-09 download

1.2.1

2022-08-08 download

1.2.0

2022-08-05 download

1.1.0

2022-08-03 download

1.0.1

2022-07-29 download

1.0.0

2022-07-25 download