Published 2025-10-16
Genereer (tussen-)stacks vanuit *_verdeling.tsv bestanden.


*_verdeling.tsv (recursief, onder de project folder).tsv moet de volgende structuur hebben:| @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 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 is de markering voor een tabel-rij met pdf bestandsnamen.
+mediasides geeft aan hoe de media in de stacks geplaatst moet worden:
| aanduiding | actie |
|---|---|
| ez | enkelzijdig |
| dzbl | dubbelzijdig, blanco |
| dzzb | dubbelzijdig, zelfde beeld |
| dzab | dubbelzijdig, ander beeld |
+production geeft aan waar de media geproduceerd gaat worden (optioneel, default is digitaal):
| 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 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.
| @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 |
Optioneel. Een kolom links van de @file kolom met de naam/vestigingnummer van een winkel DNA uit de Huig Media Manager.
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.
Optioneel: Filiaalnaam zoals aangegeven in de DNA module binnen Huig Media Manager.
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.
| @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 |
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.
Wanneer de stacks verwerkt moeten gaan worden met flutter_pdf_imposition_generator zorg er dan voor:
stacks<spatie> en bestandsnamen die beginnen met STACK_.mediasides aanduiding staat in kapitalen met underscores (_EZ_)._70x40_), zie TrimBox::toDimensionsInMm of PdfBox::toDimensionsInMm.production plaats in lowercase letters staat (_digitaal), of afwezig is.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.
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.
vergaren directory creation if not exists.json) to /Metadata-xmp block about what each stack contains (digitaal+offset, grootformaat (nog) niet).DaExtraBonItemsData.DaWinkelExemplarenData.Keurslager-specific labels.@merge annotations.@merge annotation, used to add extra pdf files at the end of the stacks.DA specific renaming of stack files to match the etiketten.pdf order.DA-specific labels.etiketten.pdf and picklist.pdf.Select folders to process to Select spreadsheets to process.verdelingen folder when writing optimized tsv files.pkg_pdflib_templates for unified pdf topvel handling.etiketten.pdf (if generated).etiketten.pdf.vergaarlijst.txt and etiketten.pdf.vergaarlijst, causing confusion.vergaarlijst sorting.pkg_spreadsheet that tries to fix utf-8 vs latin1 file encodings.MediaProduction and MediaSizes from @file annotation.@path annotation.MediaProduction enum support (offset, digitaal, grootformaat).EZ/DZ to MediaSides comparing.productionType in the @file marker (does nothing at the moment, but parsing of the MediaSides enum is fixed by this).topvel would be generated (all columns at zero).get_it dependency.pkg_simple_runner changes.GrizzlyIO from pkg_spreadsheet, text separators set from double-quote to escape so reading of cells with quotes does not throw anymore.async constructs.provider dependency.gui file.