Published 2025-07-23
Port of java appOptimalPageFillPdf application, a dart command-line application.


Run the command dart pub global activate --source path . in the work_dart/dart_pdf_optimal_page_fill/ folder to run the source version.
Run the dart pub global activate dart_pdf_optimal_page_fill --hosted-url http://pub.dev.huighaverlag.nl to install the hosted executable.
Execute with dart_pdf_optimal_page_fill.
Remove with dart pub global deactivate dart_pdf_optimal_page_fill.
`Optimal Page Fill' is een Dart applicatie welke vanuit een lijst van PDF bestanden één of meerdere printvorm(en) kan genereren waarbij de in de lijst vermelde bestanden zo optimaal mogelijk over de uitvoer pagina's verdeeld worden.
stdin.trimbox.poster_ABC[10].pdf zal resulteren in 10 geplaatste copieën, of een aantal voorafgegaan met een divisie: poster_ABC-10.pdf zal ook resulteren in 10 geplaatste copieën.*.properties tekst bestand voor latere referentie, of om de run nogmaals te kunnen herhalen met de zelfde waardes.block overview log bestanden.*.properties file vanuit je bestandsmanager (Finder, Dolphin, etc.) naar het Input veld om de configuratie te laden.height) op 0 (nul) als het materiaal van een rol betreft. Er zullen dan automagisch pagina's van maximaal 3 meter hoog gemaakt worden.Allow rotation aan staat, dan zal voor de laatste pagina van een run de combinatie met en zonder Prefer rotation uitgeprobeerd worden, waarna automagisch de instelling gekozen wordt die de minste verticale ruimte in beslag zal nemen.No padding at left/right maakt links en rechts een minimale padding van 5mm en zet de verticale registratie punten uit. Hierdoor krijg je bijv. bij een ingestelde padding van 12mm, 14mm extra ruimte in het horizontale bereik.Materiaal verbruik overzicht is het materiaal gebruik berekend na vermenigvuldiging met het aantal keer printen van een bestand.Prefer width over height kan de sortering worden beïnvloed waardoor de layout plaats vind op hoogte of breedte van de pagina's.Aggressive node merge worden vrije verticale nodes samengevoegd middels een ruime tolerantie.Gutter en Bleed beide op 0 (nul) worden er geen rechthoeken in de SVG snijfile gezet maar aaneensluitende lijnen.Gutter op 0 (nul) staat en Bleed op een waarde groter dan 0, worden de PDF's koud tegen elkaar gezet, maar krijgen PDF's op de buitenrand van het drukvel toch nog een bleed toegewezen. Voorwaarde is wel dat alle te plaatsen PDF's hetzelfde trimbox formaat moeten hebben.Cut-marks on outside of sheet zet snijtekens in de buiten-padding voor het geval de snijplotter niet gebruikt gaat worden. Allow rotation, Prefer rotation, Optimize last page en Aggressive node merging zullen worden uitgezet om te voorkomen dat er onmogelijke snijbewerkingen kunnen worden gegenereerd.Handle stroke only verwerkt alleen paden met een 'stroke'. Overgeslagen worden paden met 'stroke-and-fill' en 'fill'. Wanneer de optie niet aangevinkt staat, worden alle paden verwerkt ongeacht hun stroke/fill.Handle strokes outside bleed-box wanneer geselecteerd, worden alle paden die volledig buiten de bleed-box liggen verwerkt. Voordat deze optie was toegevoegd werden alle paden verwerkt ongeacht of ze binnen of buiten de bleed-box lagen. Nu moet dit expliciet worden aangevinkt.Show cut-layer in PDF toegevoegd om de Snij-file layer in de output PDF file(s) aan of uit te zetten.overviews-blocks is nu opgesplitst in twee mappen (overviews-blocks-extra). Eén met en één zonder de lijst van pagina plaatsingen (kan soms schelen met printen van de overzichten).SpotColorReader::patchX now takes a horizontal offset of the mediabox into account.Add waste cuts to SVG optie toegevoegd welke in de 'waste' rondom de pagina, op de plek van de registratie stippen, het materiaal insnijd om het makkelijker te kunnen opbreken voor de afval container.Barcode at bottom-right only, titel zegt het al.\newpage
De input bestandsnamen kunnen de volgende markeringen bevatten:
| markering | afhandeling |
| :-------- | :------------------------------------ |
| EZ | pagina's worden enkelzijdig verwerkt |
| DZ | pagina's worden dubbelzijdig verwerkt |
| FIXED | pagina's worden niet geroteerd |
| [n] of -n | pagina verdubbeling |
De EZ, DZ en FIXED markeringen zijn case-sensitive (het moeten hoofdletters zijn), en moeten worden afgebakend met underscores (_).
De pagina verdubbeling moet aan het einde van de bestandsnaam staan.
505636-2 mm geschuimd wit PVC_foamtape_EZ_GF_7323-10.pdf,
enkelzijdig, verdubbeling van 10.
505636-2 mm geschuimd wit PVC_foamtape_EZ_GF_7323_[2].pdf,
enkelzijdig, verdubbeling van 2.
Eiki-koffie-7.pdf,
enkelzijdig, verdubbeling van 7.
Eiki-koffie-bonen.pdf,
enkelzijdig, verdubbeling van 1.
507621-3 mm geschuimd wit PVC_buigen_DZ_FIXED_VOORRAAD_GF_47723-50.pdf,
dubbelzijdig, pagina's niet roteren, verdubbeling van 50.
\newpage
Er zijn twee applicatie binaries (Java jar bestanden) beschikbaar. Het verschil zit in de gebruikte PDFLIB versie, dit in verband met de beschikbare licenties daarvan:
| jar | pdflib |
| :-- | -----: |
| appOptimalPageFillPdf-osx.jar | 8.0.2 |
| appOptimalPageFillPdf-linux.jar | 9.0.2 |
De juiste PDFLIB software versie moet vooraf geïnstalleerd zijn.
Naast de applicatie jar staat een XML-bestand: appOptimalPageFillPdf.config.xml. In dit bestand kan gedetaileerde applicatie logging worden ingesteld en tevens de locatie van de gebruikte MuPDF of ImageMagick applicaties. De MuPDF of ImageMagick applicaties worden gebruikt om previews en thumbnails van PDF bestanden te maken.
De MuPDF of ImageMagick software moet vooraf geïnstalleerd zijn.
Noot: oudere versies van MuPDF hebben in plaats van mutool, de applicatie mudraw, vandaar de twee aparte configuratie blokken.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<!-- logging -->
<entry key="debug:com.hh.util.logging.LogManager">false</entry>
<entry key="debug:com.hh.util.configuration.Configuration">false</entry>
<!-- imagemagick linux -->
<entry key="ImageMagick.linux.Path">/usr/bin/</entry>
<entry key="ImageMagick.linux.Executable">convert</entry>
<entry key="ImageMagick.linux.Environment">
MAGICK_HOME=/usr/bin
DYLD_LIBRARY_PATH=/usr/bin
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin</entry>
<!-- imagemagick mac -->
<entry key="ImageMagick.mac.Path">/opt/local/bin/</entry>
<entry key="ImageMagick.mac.Executable">convert</entry>
<entry key="ImageMagick.mac.Environment">
MAGICK_HOME=/opt/local/bin
DYLD_LIBRARY_PATH=/opt/local/bin
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin</entry>
<!-- mutool linux -->
<entry key="MuTool.linux.Path">/usr/bin/</entry>
<entry key="MuTool.linux.Executable">mutool</entry>
<entry key="MuTool.linux.Environment">
MAGICK_HOME=/usr/bin
DYLD_LIBRARY_PATH=/usr/bin
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin</entry>
<!-- mutool mac -->
<entry key="MuTool.mac.Path">/opt/local/bin/</entry>
<entry key="MuTool.mac.Executable">mutool</entry>
<entry key="MuTool.mac.Environment">
MAGICK_HOME=/opt/local/bin
DYLD_LIBRARY_PATH=/opt/local/bin
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin</entry>
<!-- mudraw linux -->
<entry key="MuDraw.linux.Path">/usr/bin/</entry>
<entry key="MuDraw.linux.Executable">mudraw</entry>
<entry key="MuDraw.linux.Environment">
MAGICK_HOME=/usr/bin
DYLD_LIBRARY_PATH=/usr/bin
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin</entry>
<!-- mudraw mac -->
<entry key="MuDraw.mac.Path">/opt/local/bin/</entry>
<entry key="MuDraw.mac.Executable">mudraw</entry>
<entry key="MuDraw.mac.Environment">
MAGICK_HOME=/opt/local/bin
DYLD_LIBRARY_PATH=/opt/local/bin
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin</entry>
</properties>
Installeren kan voor Linux als volgt:
sudo apt-get install imagemagick mupdf mupdf-tools
en op OSX via brew:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" \
< /dev/null 2> /dev/null brew install imagemagick mupdf-tools
Als je het juiste pad te weten wil komen waar de MuPDF of ImageMagick binaries staan, dan kun je in een console typen:
which mutool
which convert
\newpage
Deze applicatie gebruikt het font Arial.ttf en moet zijn geïnstalleerd in de (verborgen) folder .fonts (in de home folder van de gebruiker die dit programma opstart).
Materiaal formaten kunnen worden ingevuld in het bestand appOptimalPageFillPdf.materials.
Houd de volgende formattering aan: naam, breedtexhoogte.
4A0, 1682x2378
2A0, 1189x1682
A0, 841x1189
ROL, 2500x2500, 2490x2490
ROL, 1620x3020, 1580x3000
2100x1600 POSTERMAT, 2080x1580
2150x1600 DISPLAYSCREEN, 2130x1580
100x1200 EEGOLF, 1580x1180
1400x1000 PVC, 1380x980
1560x3050 VIKUPOR, 1540x3030
2440x1220 FOAM, 2420x1200
1020x720 xL, 1000x700
A9, 37x52
A10, 26x37
De status (state) van de applicatie (ingevulde velden, venster grootte en locatie) wordt in twee bestanden opgeslagen in de home folder van de gebruiker:
appOptimalPageFillPdf.consoleappOptimalPageFillPdf.dialogDeze bestanden kunnen eventueel verwijderd worden door de gebruiker zodat alle instellingen een reset krijgen.
\newpage
Omdat Optimal Page Fill een command-line applicatie is, wordt deze in een terminal venster opgestart:
java -jar appOptimalPageFillPdf-linux.jar
of
java -classpath target/appOptimalPageFillPdf-linux.jar \
com.hh.optimalpagefillpdf.OptimalPageFillPdf
Na het uitvoeren van de applicatie wordt er een status waarde geretourneerd welke in een shell-script kan worden gebruikt om de afsluitstatus te bepalen.
# de `echo` zal de waarde `1` afdrukken
java -jar appOptimalPageFillPdf-linux.jar \
--help
echo $?
| waarde | status |
| ------ | ----------------- |
| 0 | NORMAL |
| 1 | HELP |
| 2 | PDFLIB_ERROR |
| 3 | INVALID_PARAMETER |
| 4 | INVALID_DATA |
| 5 | INVALID_CONFIG |
\newpage
Wanneer de applicatie zonder argumenten of met de optie --help wordt opgestart zal een uitleg-tekst geprint worden:
Default timezone: Europe/Amsterdam
Default locale: en_US
Default charset: UTF-8
OptimalPageFillPdf, Build 2023-12-05 - 14:31:28, Revision 23271.
Copyright 2017-2023 HuigHaverlag BV. All Rights Reserved.
input: can not read from stdin
usage: java -jar appOptimalPageFillPdf-linux.jar <options>
--addwastecuts add waste cuts to svg for easy
disposal
--aggressivenodemerging use a wide tolerance when merging
empty nodes vertically
-b,--bleed <arg> printing that goes beyond the block
edge (mm)
--barcode output a unique barcode
--barcodebottomrightonly barcode at bottom-right only
-c,--configuration <file> configuration file
--cutmarksoutside cut-marks on outside of sheet
-d,--density <arg> thumbnail density (dpi)
--development development mode
--dryrun do not generate pdf files
--duplication allow file duplication when a
filename ends with [n].pdf
--ezdz allow single- and double-sided page
detection
-f,--finishing <spot-color> finishing
-g,--gutter <arg> spacing between blocks (mm)
--gui show graphical user interface
-h,--height <arg> target paper height (mm)
--handlestrokeonly handle only path strokes (not fill)
--handlestrokesoutsidebleedbox handle strokes that are outside of
the bleed box
--help show application help
-i,--input <file> text file with pdf filenames
-j,--jobdescription <text> job description
-m,--marker <file> page orientation marker (pdf)
--material <text> material description
--nopaddingleftright no padding at left/right
-o,--output <folder> output folder
--optimizelastpage optimize the last page for minimal
material usage
-p,--padding <arg> padding around the output layout (mm)
--preferrotation prefer rotated blocks
--preferwidthoverheight when sorting nodes, prefer width over
height
--previews generate previews
--printduplication allow print duplication for similar
output pages
--registration output any cut file registration
marks (dots)
--registrationhorizontal output horizontal cut file
registration marks (dots)
--registrationvertical output vertical cut file registration
marks (dots)
--rotation allow block rotation
-t,--tolerance <arg> tolerance used when matching block
dimensions (%)
--verbose verbose logging
-w,--width <arg> target paper width (mm)
--withsnijlaag output snij-laag into output pdf
files
Spot-colors:
0: Trimbox
1: Thru-cut
2: EOT
3: Crease
4: Route
5: Kisscut
6: Vcut
7: Nothing
Spot-color aliases:
0: Pot
1: Router
2: Stans
3: Ril
Exit levels:
0: NORMAL
1: HELP
2: PDFLIB_ERROR
3: INVALID_PARAMETER
4: INVALID_DATA
5: INVALID_CONFIG
\newpage
--addwastecutsOptioneel. Waste-cuts layer in de uitvoer SVG file(s) aan- of uitzetten welke het mogelijk maakt om in de 'waste' rondom de pagina, op de plek van de registratie stippen, het materiaal in te snijden om het makkelijker te kunnen opbreken voor de afval container.
Standaard waarde: geen (geen waste-cuts layer).
# gebruik --addwastecuts
java -jar appOptimalPageFillPdf-linux.jar \
--addwastecuts
\newpage
--aggressivenodemergingOptioneel. Aggressief verticale vrije nodes samenvoegen.
Standaard waarde: false.
# gebruik --aggressivenodemerging
java -jar appOptimalPageFillPdf-linux.jar \
--aggressivenodemerging
\newpage
-b,--bleed <arg>Optioneel. Afloop van de geplaatste PDF elementen.
Standaard waarde: 3 (millimeter).
# gebruik -b
java -jar appOptimalPageFillPdf-linux.jar \
-b 5
# gebruik --bleed
java -jar appOptimalPageFillPdf-linux.jar \
--bleed 5
\newpage
--barcodeOptioneel. De mogelijkheid tot plaatsen van een unieke barcode per uitvoer vorm.
Standaard waarde: geen (geen barcode toevoegen).
# gebruik --barcode
java -jar appOptimalPageFillPdf-linux.jar \
--barcode
\newpage
-c,--configuration <file>Optioneel. Pad naar een door het programma bewaard configuratie bestand (*.properties). Wanneer opgegeven, wordt dit bestand geladen als standaard programma parameters. Eventuele extra argumenten op de command-line zullen de waardes uit dit configuratie bestand overschrijven.
Standaard waarde: geen (niets laden).
# gebruik -c
java -jar appOptimalPageFillPdf-linux.jar \
-c ./Test/vorige_run.properties
# gebruik --configuration
java -jar appOptimalPageFillPdf-linux.jar \
--configuration ./Test/vorige_run.properties
\newpage
--cutmarksoutsideOptioneel. Snijtekens in de buiten-padding voor het geval de snijplotter niet gebruikt gaat worden.
Allow rotation, Prefer rotation, Optimize last page en Aggressive node merging zullen worden uitgezet om te voorkomen dat er onmogelijke snijbewerkingen kunnen worden gegenereerd.
Standaard waarde: geen (geen snijlijnen).
# gebruik --cutmarksoutside
java -jar appOptimalPageFillPdf-linux.jar \
--cutmarksoutside
\newpage
-d,--density <arg>Optioneel. De density (DPI) waarde waarmee van de uitvoer vormen voorvertoningen gemaakt worden.
Standaard waarde: 72 (DPI).
# gebruik -d
java -jar appOptimalPageFillPdf-linux.jar \
-d 96
# gebruik --density
java -jar appOptimalPageFillPdf-linux.jar \
--density 96
\newpage
--developmentOptioneel. 'Development mode'. Voor ontwikkelaars. Er zullen uitgebreide voorvertoningen worden gegenereerd.
Standaard waarde: geen (geen uitgebreide voorvertoningen).
# gebruik --development
java -jar appOptimalPageFillPdf-linux.jar \
--development
\newpage
--dryrunOptioneel. 'Dry-run mode'. Genereer geen uitvoer PDF, SVG en preview bestanden. Bestaande bestanden worden echter wel verwijderd. Layout previews en blok-overzichten worden wel aangemaakt.
Standaard waarde: geen (geen dry-run, alle uitvoer bestanden worden gemaakt).
# gebruik --dryrun
java -jar appOptimalPageFillPdf-linux.jar \
--dryrun
\newpage
--duplicationOptioneel. Verdubbeling-detectie inschakelen. Aan het einde van de bestandsnaam van een PDF kan een verdubbelingsfactor worden aangegeven d.v.m. een aantal tussen rechte haken: poster_ABC[10].pdf zal resulteren in 10 geplaatste copieën, of een aantal voorafgegaan met een divisie: poster_ABC-10.pdf zal ook resulteren in 10 geplaatste copieën.
Standaard waarde: geen (verdubbeling-detectie uitgeschakeld).
# gebruik --duplication
java -jar appOptimalPageFillPdf-linux.jar \
--duplication
\newpage
--ezdzOptioneel. Enkelzijdig/dubbelzijdig-detectie inschakelen. Wanneer ezdz niet is ingeschakeld mag een PDF niet meer dan twee pagina's bevatten. Wanneer ingeschakeld wordt een bestand met EZ of DZ in de naam overeenkomend behandeld als enkel- of dubbelzijdig en mag dat bestand uit meer dan twee pagina's bestaan.
Standaard waarde: geen (ezdz-detectie uitgeschakeld).
# gebruik --ezdz
java -jar appOptimalPageFillPdf-linux.jar \
--ezdz
\newpage
-f,--finishing <spot-color>Optioneel. De finishing bepaald de te gebruiken spotcolor welke in elke SVG-file gezet wordt, waardoor de snij-plotter een bepaald snij-mes of afwerking selecteerd.
Standaard waarde: trimbox
Indien de waarde nothing gekozen is, dan zal er geen finishing rond de trimbox van de pagina gezet worden. All finishings worden dan veronderstelt in de PDF pagina aanwezig te zijn.
# gebruik -f
java -jar appOptimalPageFillPdf-linux.jar \
-f eot
# gebruik --finishing
java -jar appOptimalPageFillPdf-linux.jar \
--finishing eot
| | finishing |
| - | --------- |
| 0 | Trimbox |
| 1 | Thru-cut |
| 2 | EOT |
| 3 | Crease |
| 4 | Route |
| 5 | Kisscut |
| 6 | Vcut |
| 7 | Nothing |
\newpage
-g,--gutter <arg>Optioneel. De afstand tussen de geplaatste PDF pagina's op een uitvoer vorm.
Binnen deze vrijgehouden ruimte wordt de eventuele bleed (afloop) van geplaatste PDF elementen gezet.
Standaard waarde: 6 (millimeter).
# gebruik -g
java -jar appOptimalPageFillPdf-linux.jar \
-g 11
# gebruik --gutter
java -jar appOptimalPageFillPdf-linux.jar \
--gutter 11
\newpage
--guiOptioneel. Start grafische gebruikers interface. Eventuele extra argumenten op de command-line zullen in het dialoog venster worden ingevuld.
# gebruik --gui
java -jar appOptimalPageFillPdf-linux.jar \
--gui
Wanneer de grafische gebruikers interface gestart wordt op een OSX machine, dan sluit het dialoog venster zodra een run gestart wordt. Dit in verband met een bug in de OSX JNI interface. Het is aanbevolen om in dit geval de applicatie vanuit een terminal venster te starten, zodat de programma uitvoer op stdout en stderr te zien is.
\newpage
--handlestrokeonlyOptioneel. 'Handle stroke only'. Verwerk alleen snij-paden met een 'stroke', skip 'stroke-and-fill' en 'fill'.
Standaard waarde: geen (geen handlestrokeonly, alle snij-paden worden verwerkt).
# gebruik --handlestrokeonly
java -jar appOptimalPageFillPdf-linux.jar \
--handlestrokeonly
\newpage
--handlestrokesoutsidebleedboxOptioneel. 'Handle strokes outside the bleed box'. Verwerk snij-paden die buiten de bleed-box liggen.
Standaard waarde: geen (geen handlestrokesoutsidebleedbox, alleen snij-paden die volledig binnen de bleed-box liggen worden verwerkt).
# gebruik --handlestrokesoutsidebleedbox
java -jar appOptimalPageFillPdf-linux.jar \
--handlestrokesoutsidebleedbox
\newpage
-h,--height <arg>Optioneel. Hoogte van de uitvoer vorm in millimeters.
Standaard waarde: 297.
# gebruik -h
java -jar appOptimalPageFillPdf-linux.jar \
-h 700
# gebruik --height
java -jar appOptimalPageFillPdf-linux.jar \
--height 700
\newpage
--helpOptioneel. Laat applicatie help-tekst zien.
# gebruik niets
java -jar appOptimalPageFillPdf-linux.jar
# gebruik --help
java -jar appOptimalPageFillPdf-linux.jar \
--help
\newpage
-i,--input <file>Optioneel. Tekst bestand met te verwerken PDF bestandsnamen. Indien niet opgegeven, dan wordt een stream van bestandsnamen via stdin verwacht.
# gebruik -i
java -jar appOptimalPageFillPdf-linux.jar \
-i ./target/Test/files.txt
# gebruik --input
java -jar appOptimalPageFillPdf-linux.jar \
--input ./target/Test/files.txt
# lees van `stdin`
find /Users/Shared/Darwin/FileSystem/Klant/ -name "wk*.pdf" \
! -path "*.v*.pdf" \
! -path "*poster*.pdf" \
! -path "*banner*.pdf" \
| sort | java -jar target/appOptimalPageFillPdf-0.0.1-SNAPSHOT.jar
# combinatie van technieken
find /Users/Shared/Darwin/FileSystem/Klant/ -name "wk*.pdf" \
! -path "*.v*.pdf" \
! -path "*poster*.pdf" \
! -path "*banner*.pdf" \
| sort > ./target/Test/files.txt
java -jar target/appOptimalPageFillPdf-0.0.1-SNAPSHOT.jar \
--input ./target/Test/files.txt
Het voordeel van een fysiek invoer bestand is dat je later kunt terugvinden welke bestanden er exact verwerkt zijn.
Daar staat tegenover dat na het inlezen via stdin er geen tijdelijk bestand hoeft te worden opgeruimd indien deze applicatie onderdeel is van een groter geheel (een workflow bijvoorbeeld).
\newpage
-j,--jobdescription <text>Optioneel. Omschrijvende tekst voor deze programma run (een ordernummer bijvoorbeeld).
Gebruik bij spaties in de tekst dubbele aanhalingstekens.
Standaard waarde: niets (geen omschrijving).
# gebruik -j
java -jar appOptimalPageFillPdf-linux.jar \
-j 12376
# gebruik --jobdescription
java -jar appOptimalPageFillPdf-linux.jar \
--jobdescription "Dit is order 12376, deel 1"
\newpage
-m,--marker <file>Optioneel. Additioneel PDF element welke op elke rechter-onderhoek geplaatst wordt om de pagina oriëntatie (visueel) te kunnen bepalen.
Standaard waarde: geen (plaats niets).
# gebruik -m
java -jar appOptimalPageFillPdf-linux.jar \
-m ./data/Spot.pdf
# gebruik --marker
java -jar appOptimalPageFillPdf-linux.jar \
--marker ./data/Spot.pdf
\newpage
--material <text>Optioneel. Selecteer het te gebruiken materiaal. De parameter moet een exacte naam zijn uit appOptimalPageFillPdf.materials.
# gebruik --material
java -jar appOptimalPageFillPdf-linux.jar \
--material "4 POSTERMAT, 2100x1600, 2095x1595"
\newpage
--nopaddingleftrightOptioneel. Geen padding links en rechts.
Standaard waarde: aan (wel padding links en rechts).
# gebruik --nopaddingleftright
java -jar appOptimalPageFillPdf-linux.jar \
--nopaddingleftright
\newpage
-o,--output <folder>Optioneel. Geef de uitvoer folder aan. In deze folder worden de resulterende bestanden geschreven.
Standaard waarde: ./output.
# gebruik -o
java -jar appOptimalPageFillPdf-linux.jar \
-o ./target/Test
# gebruik --output
java -jar appOptimalPageFillPdf-linux.jar \
--output ./target/Test
\newpage
--optimizelastpageOptioneel. De laaste pagina optimaliseren zodat er zo min mogelijk materiaal gebruikt wordt. Door middel van het uittesten van alle rotatie variaties wordt de optimale layout bepaald.
Standaard waarde: uit (geen optimalisatie).
# gebruik --optimizelastpage
java -jar appOptimalPageFillPdf-linux.jar \
--optimizelastpage
\newpage
-p,--padding <arg>Optioneel. De afstand die vrijgehouden wordt tussen de inhoud en de verschillende randen van een uitvoer vorm.
In deze vrijgehouden ruimte worden, indien de optie registration is gebruikt, registratie stippen voor de snij-plotter geplaatst. Wanneer deze ruimte te klein is opgegeven (kleiner dan 5 mm) worden de registratie stippen niet geplaatst.
Standaard waarde: 12 (millimeter).
# gebruik -p
java -jar appOptimalPageFillPdf-linux.jar \
-p 22
# gebruik --padding
java -jar appOptimalPageFillPdf-linux.jar \
--padding 22
\newpage
--preferrotationOptioneel. Wanneer --preferrotation samen met --rotation is aangegeven, dan wordt de voorkeur gegeven aan geroteerde blokken.
Standaard waarde: geen (voorkeur is niet-geroteerde blokken).
# gebruik --preferrotation
java -jar appOptimalPageFillPdf-linux.jar \
--preferrotation
\newpage
--preferwidthoverheightOptioneel. Bij het sorteren van nodes gaat de breedte boven de hoogte.
Standaard waarde: geen (voorkeur is hoogte boven de breedte).
# gebruik --preferwidthoverheight
java -jar appOptimalPageFillPdf-linux.jar \
--preferwidthoverheight
\newpage
--previewsOptioneel. Genereer previews van de gegenereerde PDF bestanden..
Standaard waarde: geen (geen previews genereren).
# gebruik --previews
java -jar appOptimalPageFillPdf-linux.jar \
--previews
\newpage
--printduplicationOptioneel. Wanneer meerdere print pagina's de zelfde inhoud hebben, dan worden deze maar één maal gegenereerd. De bestandsnaam krijgt dan de aanduiding (n x printen).
Standaard waarde: geen (duplicaten detectie uitgeschakeld).
# gebruik --printduplication
java -jar appOptimalPageFillPdf-linux.jar \
--printduplication
\newpage
--registrationOptioneel. Plaats, in de met padding vrijgehouden ruimte, registratie-stippen voor de snij-plotter. Wanneer deze ruimte te klein is opgegeven (kleiner dan 5 mm) worden de registratie stippen niet geplaatst.
Standaard waarde: geen (geen registratie stippen).
# gebruik --registration
java -jar appOptimalPageFillPdf-linux.jar \
--registration
\newpage
--registrationhorizontalOptioneel. Plaats, in de met padding vrijgehouden ruimte, horizontale registratie-stippen voor de snij-plotter. Wanneer deze ruimte te klein is opgegeven (kleiner dan 5 mm) worden de registratie stippen niet geplaatst.
Standaard waarde: geen (geen horizontale registratie stippen).
# gebruik --registrationhorizontal
java -jar appOptimalPageFillPdf-linux.jar \
--registrationhorizontal
\newpage
--registrationverticalOptioneel. Plaats, in de met padding vrijgehouden ruimte, verticale registratie-stippen voor de snij-plotter. Wanneer deze ruimte te klein is opgegeven (kleiner dan 5 mm) worden de registratie stippen niet geplaatst.
Standaard waarde: geen (geen verticale registratie stippen).
# gebruik --registrationvertical
java -jar appOptimalPageFillPdf-linux.jar \
--registrationvertical
\newpage
--rotationOptioneel. De mogelijkheid tot het roteren van te plaatsen PDF bestanden inschakelen voor een optimale vulling.
Standaard waarde: geen (geen rotatie toestaan).
# gebruik --rotation
java -jar appOptimalPageFillPdf-linux.jar \
--rotation
\newpage
-t,--tolerance <arg>Optioneel. Tolerantie factor waarmee de beschikbare ruimte voor een PDF kan worden overschreden om toch een plaatsing te kunnen forceren. Eventueel buiten de beschikbare ruimte vallend beeld zal in de gutter of padding van de print-vorm terecht komen. De factor is een percentage van de beschikbare ruimte.
Standaard waarde: 0.0 (percentage, geen tolerantie).
# gebruik -t
java -jar appOptimalPageFillPdf-linux.jar \
-t 0.01
# gebruik --tolerance
java -jar appOptimalPageFillPdf-linux.jar \
--tolerance 0.01
\newpage
--verboseOptioneel. Uitgebreide berichtgeving (logging) inschakelen. Voor ontwikkelaars.
Standaard waarde: geen (geen uitgebreide berichtgeving).
# gebruik --verbose
java -jar appOptimalPageFillPdf-linux.jar \
--verbose
\newpage
--withsnijlaagOptioneel. Snij-laag layer in de uitvoer PDF file(s) aan- of uitzetten.
Standaard waarde: geen (geen snij-laag layer).
# gebruik --withsnijlaag
java -jar appOptimalPageFillPdf-linux.jar \
--withsnijlaag
\newpage
-w,--width <arg>Optioneel. Breedte van de uitvoer vorm in millimeters.
Standaard waarde: 210.
# gebruik -w
java -jar appOptimalPageFillPdf-linux.jar \
-w 1000
# gebruik --width
java -jar appOptimalPageFillPdf-linux.jar \
--width 1000
\newpage
java -jar target/appOptimalPageFillPdf-linux.jar \
--input ./target/Test/files.txt \
--output ./target/Test \
--marker ./data/Stip.pdf \
--jobdescription "Omschrijving van order 12376" \
--finishing trimbox \
--width 1000 \
--height 700 \
--padding 12 \
--gutter 6 \
--bleed 3 \
--tolerance 0.5 \
--density 96 \
--previews \
--rotation \
--registration \
--registrationhorizontal \
--registrationvertical \
--duplication \
--barcode \
--ezdz
files.txt\newpage

\newpage

\newpage

\newpage

\newpage

\newpage

\newpage

pkg_optimal_page_fill.pkg_pdfio and pkg_optimal_page_fill.screenshot.png.