flutter_pdf_stack_generator version: 0.0.49

Published 2025-10-16

ruud

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

flutter_pdf_stack_generator

Genereer (tussen-)stacks vanuit *_verdeling.tsv bestanden.

flutter_pdf_stack_generator

graph

Werking

  • Leest bestanden die voldoen aan het patroon *_verdeling.tsv (recursief, onder de project folder).
  • De inhoud van de tsv moet de volgende structuur hebben:

Voorbeeld

@path+outputfolder directory0 directory1 directory2 ...
@file+mediasides+production @topvel file1.pdf file2.pdf ...
STACK_001.pdf TOPVEL_001.pdf aantal aantal ...
STACK_002.pdf TOPVEL_002.pdf aantal aantal ...

@path+outputfolder

@path is de markering voor een tabel-rij met paden, de +outputfolder geeft aan waar de stack bestanden geschreven moeten worden, relatief aan de folder waar de tsv file staat.

directory0...n kolommen geven aan waar de pdf bestanden aangegeven onder @file zich bevinden, relatief aan de folder waar de tsv file staat.

@file+mediasides

@file is de markering voor een tabel-rij met pdf bestandsnamen. +mediasides geeft aan hoe de media in de stacks geplaatst moet worden:

Voorbeeld

aanduiding actie
ez enkelzijdig
dzbl dubbelzijdig, blanco
dzzb dubbelzijdig, zelfde beeld
dzab dubbelzijdig, ander beeld

@file+mediasides+production

+production geeft aan waar de media geproduceerd gaat worden (optioneel, default is digitaal):

Voorbeeld

aanduiding plaats
digitaal digitaal (tussenstacks met topvellen)
offset offset (n x drukken, geen tussenstacks, geen topvellen)
grootformaat grootformaat (n x printen, geen tussenstacks, geen topvellen
unknown nader te bepalen

Zie: media_sides.dart.

@topvel

@topvel in een cel in de rij van bestandsnamen geeft aan dat in deze kolom bestandsnamen van topvellen staan, in plaats van aantallen.

Indien geen topvellen geplaats hoeven te worden, dan deze kolom weglaten.

Media wordt in de stacks geplaatst in de volgorde van de kolommen.

Voorbeeld

@path+stacks 7x4 horeca topvellen 7x4 horeca media 7x4 horeca media 7x4 horeca
@file+ez+digitaal @topvel E9D6B3007085F1EC7DFCE3D26386F868.pdf 8A435B709B97C7D1136E9CC3B01ABE3A.pdf
STACK_2022_WK40_70x40_EZ_00_0736_0418_BE_VL_hema_brugge.pdf TOPVEL_70x40_0418.pdf 1 1
STACK_2022_WK40_70x40_EZ_01_0064_0402_BE_VL_hema_kapellen.pdf TOPVEL_70x40_0402.pdf 1 1
STACK_2022_WK40_70x40_EZ_01_0065_0403_BE_VL_hema_hasselt.pdf TOPVEL_70x40_0403.pdf 1 1
STACK_2022_WK40_70x40_EZ_01_0066_0409_BE_VL_hema_kortrijk.pdf TOPVEL_70x40_0409.pdf 3 1
STACK_2022_WK40_70x40_EZ_01_0072_0430_BE_VL_hema_tielt_-_winge.pdf TOPVEL_70x40_0430.pdf 1 1
STACK_2022_WK40_70x40_EZ_01_0073_0433_BE_VL_hema_roeselare.pdf TOPVEL_70x40_0433.pdf 5 1
STACK_2022_WK40_70x40_EZ_01_0074_0439_BE_VL_hema_lier.pdf TOPVEL_70x40_0439.pdf 1 1
STACK_2022_WK40_70x40_EZ_01_0075_0442_BE_VL_hema_mortsel.pdf TOPVEL_70x40_0442.pdf 0 1
STACK_2022_WK40_70x40_EZ_01_0077_0447_BE_VL_hema_brasschaat.pdf TOPVEL_70x40_0447.pdf 1 1
STACK_2022_WK40_70x40_EZ_01_0079_0451_BE_VL_hema_waregem.pdf TOPVEL_70x40_0451.pdf 10 1

@dnaId

Optioneel. Een kolom links van de @file kolom met de naam/vestigingnummer van een winkel DNA uit de Huig Media Manager.

@dnaLink

Optioneel. Een kolom links van de @file kolom met een dna link van een winkel DNA uit de Huig Media Manager.

Een dna link is een tag in deze vorm: #dna:<recordId>;, dus bijv. #dna:421690;. Dit is dus niet de naam/vestigingnummer maar het concrete record-id in de Huig Media Manager database.

@dnaDescription

Optioneel: Filiaalnaam zoals aangegeven in de DNA module binnen Huig Media Manager.

@merge

Optioneel. Werkt als @topvel, voegt het aangegeven bestand toe aan het einde van de stack. Er kunnen meerdere kolommen worden aangegeven met de @merge annotatie.

Er worden geen controles of bewerkingen op de bestanden uitgevoerd in de @merge kolommen m.b.t. EZ/DZ/etc.

Voorbeeld

@path+stacks 7x4 horeca topvellen 7x4 horeca media 7x4 horeca media 7x4 horeca topvellen extra stack extra
@file+ez+digitaal @topvel E9D6B3007085F1EC7.pdf 8A435B709B97C7D11.pdf @merge @merge
STACK_hema_brugge.pdf TOPVEL_70x40_0418.pdf 1 1 8A4357C7D11.pdf 8B4357C7D11.pdf
STACK_hema_kapellen.pdf TOPVEL_70x40_0402.pdf 1 1 8A4357C7D12.pdf 8B4357C7D12.pdf
STACK_hema_hasselt.pdf TOPVEL_70x40_0403.pdf 1 1 8A4357C7D13.pdf 8B4357C7D13.pdf
STACK_hema_kortrijk.pdf TOPVEL_70x40_0409.pdf 3 1
STACK_hema_tielt_-_winge.pdf TOPVEL_70x40_0430.pdf 1 1
STACK_hema_roeselare.pdf TOPVEL_70x40_0433.pdf 5 1 8A4357C7D14.pdf 8B4357C7D14.pdf
STACK_hema_lier.pdf TOPVEL_70x40_0439.pdf 1 1 8A4357C7D15.pdf 8B4357C7D15.pdf
STACK_hema_mortsel.pdf TOPVEL_70x40_0442.pdf 0 1 8A4357C7D16.pdf 8B4357C7D16.pdf
STACK_hema_brasschaat.pdf TOPVEL_70x40_0447.pdf 1 1 8A4357C7D17.pdf 8B4357C7D17.pdf
STACK_hema_waregem.pdf TOPVEL_70x40_0451.pdf 10 1 8A4357C7D18.pdf 8B4357C7D18.pdf

@optimized

Intern: niet bedoeld om vooraf door gebruikers te worden ingevuld. Sheets die zijn aangemerkt als digitaal in de @file tag worden automatisch geoptimalizeerd voor het handmatig vergaren, door de grootste batch met dezelfde opvraag samen te vatten in een @optimized pakket.

Er zal een extra (eerste) tabelrij gegenereerd worden met als omschrijving Algemeen pakket, met de meest voorkomende opvraag aantallen.

De sheet zal ook een extra kolom krijgen gemarkeerd als @optimized, met voor alle rijen die gelijkwaardig zijn aan aan het Algemeen pakket, een verwijzing naar dat algemene pakket.

Noot

Wanneer de stacks verwerkt moeten gaan worden met flutter_pdf_imposition_generator zorg er dan voor:

  • houd een output folder aan die start met stacks<spatie> en bestandsnamen die beginnen met STACK_.
  • bestandsnamen alfabetisch gesorteerd in de impositie generator worden ingelezen.
  • zorg dat de mediasides aanduiding staat in kapitalen met underscores (_EZ_).
  • vermeld de trimbox in millimeters (_70x40_), zie TrimBox::toDimensionsInMm of PdfBox::toDimensionsInMm.
  • zorg dat de production plaats in lowercase letters staat (_digitaal), of afwezig is.

Klant specifieke uitbreidingen

DA

Winkelexemplaren

Indien in het te verwerken pad de klantnaam /DA/ staat:

  • zal een extra keuze zichtbaar worden om een spreadsheet in te kunnen lezen met extra info welke aan de etiketten.pdf en picklist.pdf bestanden wordt toegevoegd.

    De extra info wordt gematched op basis van het filiaal nummer, zie voorbeeld test/assets/Winkelexemplaren 27R.xlsx.

  • de documenten in de pdflib stack sorteren op aangepaste volgorde van etiketVolgorde en de filenamen patchen, de documenten komen dan in de inslagen op volgorde van de etiketten.

Extra bon items

Indien in het te verwerken pad de klantnaam /DA/ staat:

  • zal een extra keuze zichtbaar worden om een spreadsheet in te kunnen lezen met extra info welke aan de etiketten.pdf en picklist.pdf bestanden wordt toegevoegd.

    De extra info wordt gematched op basis van het filiaal nummer, zie voorbeeld test/assets/Intekening mobiles Sint Kerst_Totaal_Gecorrigeerd.xlsx.

  • de documenten in de pdflib stack sorteren op aangepaste volgorde van etiketVolgorde en de filenamen patchen, de documenten komen dan in de inslagen op volgorde van de etiketten.

Changelog

0.0.49 - 2025-10-16

Fixed

  • vergaren directory creation if not exists.

0.0.48 - 2025-10-15

Fixed

  • Skip hidden files.

0.0.47 - 2025-10-14

Added

  • Write extra info (json) to /Metadata-xmp block about what each stack contains (digitaal+offset, grootformaat (nog) niet).

0.0.46 - 2025-10-07

Fixed

  • Remove 'empty' items from DaExtraBonItemsData.

Changed

  • icons_launcher -> 3.0.3 (was 3.0.2)

0.0.45 - 2025-09-16

Fixed

  • Export DaWinkelExemplarenData.

0.0.44 - 2025-09-15

Added

  • Extra bon items spreadsheet support for customer DA.

0.0.43 - 2025-09-05

Fixed

  • Unawaited futures.

Changed

  • icons_launcher -> 3.0.2 (was 3.0.1)
  • msix -> 3.16.12 (was 3.16.10)

0.0.42 - 2025-07-29

Changed

  • Verwijder adressen uit de verzend lijst die geen opvraag hebben.
  • msix -> 3.16.10 (was 3.16.9)

0.0.41 - 2025-07-15

Added

  • Customer Keurslager-specific labels.

Fixed

  • Copy/paste error on @merge annotations.

0.0.40 - 2025-07-14

Added

  • Support for @merge annotation, used to add extra pdf files at the end of the stacks.

Changed

  • url_launcher -> 6.3.2 (was 6.3.1)

0.0.39 - 2025-07-03

Changed

  • Sort DPD verzendlijst op etiket volgorde.

0.0.38 - 2025-06-17

Changed

  • DA specific renaming of stack files to match the etiketten.pdf order.

0.0.37 - 2025-06-10

Changed

  • Customer DA-specific labels.
  • Formatting of etiketten.pdf and picklist.pdf.

0.0.36 - 2025-06-02

Fixed

  • Skip hidden spreadsheet files.
  • DZ(ZB/AB) when topvel has a single page.

Changed

  • Translation Select folders to process to Select spreadsheets to process.
  • flutter_lints -> 6.0.0 (was 5.0.0)

0.0.35 - 2025-05-28

Fixed

  • Forgot to create a verdelingen folder when writing optimized tsv files.

0.0.34 - 2025-05-27

Changed

  • Optimize stacks: now only one single combined stack ('Algemeen pakket': with the most entries), all other are single stacks per shop.
  • intl -> 0.20.2 (was 0.19.0)

0.0.33 - 2025-05-14

Changed

  • Version bump from 0.0.32 to 0.0.33 (Parse more pdf pages than 9999).
  • msix -> 3.16.9 (was 3.16.8)
  • intl -> 0.19.0 (was 0.20.2)
  • intl -> 0.20.2 (was 0.19.0)

0.0.32 - 2025-04-02

Added

  • pkg_pdflib_templates for unified pdf topvel handling.
  • Colorize bullet list in etiketten.pdf (if generated).

Changed

  • collection -> 1.19.1 (was 1.19.0)

0.0.31 - 2025-04-01

Added

  • Create etiketten.pdf.

Changed

  • Sort order of items in vergaarlijst.txt and etiketten.pdf.

Fixed

  • Bug where optimized packages without content would end up in the vergaarlijst, causing confusion.

0.0.30 - 2025-03-18

Added

  • Preparation for client-specific vergaarlijst sorting.

0.0.29 - 2025-03-14

Added

  • Produce optimized output (Pakket A, B, c).

0.0.28 - 2025-03-12

Changed

  • Re-compile with pkg_spreadsheet that tries to fix utf-8 vs latin1 file encodings.
  • Relaxed detection of MediaProduction and MediaSizes from @file annotation.

0.0.27 - 2025-03-05

Changed

  • Skip all columns before @path annotation.
  • icons_launcher -> 3.0.1 (was 3.0.0)

0.0.26 - 2025-02-18

Added

  • MediaProduction enum support (offset, digitaal, grootformaat).
  • Changed string comparisons of EZ/DZ to MediaSides comparing.

0.0.25 - 2025-02-11

Added

  • Support for productionType in the @file marker (does nothing at the moment, but parsing of the MediaSides enum is fixed by this).

0.0.24 - 2025-02-05

Changed

  • Use translations, not hardcoded strings for warning messages.

0.0.23 - 2025-02-04

Changed

  • Skip lines where only a topvel would be generated (all columns at zero).

0.0.22 - 2024-12-23

Changed

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

0.0.21 - 2024-12-23

Changed

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

0.0.20 - 2024-12-19

Changed

  • Version bump from 0.0.19 to 0.0.20 (Support Apple silicon (arm64)).

0.0.19 - 2024-12-19

Changed

  • Version bump from 0.0.18 to 0.0.19 (collection -> 1.19.0 (was 1.19.1)).

0.0.18 - 2024-12-19

Changed

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

0.0.17 - 2024-12-12

Changed

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

0.0.16 - 2024-10-23

Fixed

  • Read folders to process after project root change.

Changed

  • Added a border around the folders to process selector.

0.0.15 - 2024-08-22

Changed

  • Version bump from 0.0.14 to 0.0.15 (SDK update 3.5.1).

0.0.14 - 2024-08-09

Changed

  • Removed get_it dependency.

0.0.13 - 2024-02-01

Changed

  • Version bump from 0.0.12 to 0.0.13 (Resolve package version confusions).

0.0.12 - 2023-11-01

Changed

  • Version bump from 0.0.11 to 0.0.12.

0.0.11 - 2023-10-31

Added

  • Check availability of required fonts before processing.

0.0.10 - 2023-06-21

Changed

  • Version bump due to pkg_simple_runner changes.

0.0.9 - 2023-06-06

Fixed

  • GrizzlyIO from pkg_spreadsheet, text separators set from double-quote to escape so reading of cells with quotes does not throw anymore.

0.0.8 - 2023-05-22

Fixed

  • Wrong async constructs.

0.0.7 - 2023-02-09

Changed

  • Version bump from 0.0.6 to 0.0.7 (Version confusion after compiler bug chaos).

0.0.6 - 2023-01-18

Changed

  • Version bump from 0.0.5 to 0.0.6 (Update links in README.md.).

Removed

  • provider dependency.

0.0.5 - 2022-12-27

Changed

  • Version bump from 0.0.4 to 0.0.5.

0.0.4 - 2022-12-22

Changed

  • Version bump from 0.0.3 to 0.0.4.

0.0.3 - 2022-12-22

Changed

  • Version bump from 0.0.2 to 0.0.3 (Recompile due to installer optimizations).

0.0.2 - 2022-12-12

Added

  • Read settings from gui file.

0.0.1 - 2022-12-08

Changed

  • Initial version.

0.0.49

2025-10-16

[dmg64]

[dmg]

[deb]

download

0.0.48

2025-10-15

[dmg64]

[deb]

download

0.0.46

2025-10-07

[dmg64]

[deb]

download

0.0.45

2025-09-16

[dmg64]

[dmg]

[deb]

download

0.0.44

2025-09-15

[deb]

download

0.0.43

2025-09-05 download

0.0.42

2025-07-29 download

0.0.41

2025-07-15 download

0.0.39

2025-07-03 download

0.0.38

2025-06-17 download

0.0.37

2025-06-10 download

0.0.36

2025-06-02 download

0.0.35

2025-05-28 download

0.0.34

2025-05-27 download

0.0.33

2025-05-14 download

0.0.32

2025-04-02 download

0.0.31

2025-04-01 download

0.0.30

2025-03-18 download

0.0.29

2025-03-14 download

0.0.27

2025-03-05 download

0.0.26

2025-02-18 download

0.0.25

2025-02-11 download

0.0.24

2025-02-05 download

0.0.23

2025-02-04 download

0.0.22

2024-12-23 download

0.0.20

2024-12-19 download

0.0.17

2024-12-12 download

0.0.16

2024-10-23 download

0.0.15

2024-08-22 download

0.0.14

2024-08-09 download

0.0.13

2024-02-01 download

0.0.12

2023-11-01 download

0.0.11

2023-10-31 download

0.0.10

2023-06-21 download

0.0.9

2023-06-06 download

0.0.8

2023-05-22 download

0.0.7

2023-02-09 download

0.0.6

2023-01-18 download

0.0.5

2022-12-27 download

0.0.4

2022-12-22 download

0.0.3

2022-12-22 download

0.0.2

2022-12-12 download

0.0.1

2022-12-08 download