Ga naar inhoud
  • 0

Berekenen van paginanummers


hans erik

Vraag

Ik zoek nog een gouden tip over het berekenen van paginanummers.

Mijn systeem genereert een PDF van meerdere pagina's op A4 uit een set records. Elk record bevat een tekstveld, dat kan variëren van 1 regel tot een flinke lap tekst. Met sliding... en hide/show field ontstaan geen lege witte blokken, maar de controle over page breaks is minimaal. Subsummaries om page breaks te forceren heb ik wel in gedachte, maar dat lost niet het probleem op, nl. detecteren en corrigeren van regels die onderaan een pagina blijven hangen (orphans).

Startpunt is om elke record in de gevonden reeks te voorzien van het nummer van de pagina waarop het afgedrukt wordt en tot dusver heb ik de volgende methode bedacht:

1. sorteren en dan een loop:

2. preview mode >go to page (last) > get(pagenumber) in $variabele > browse mode > Go to record (last) > set field (pagenumber ; $variabele) > omit record 

en vervolgens bovenstaande procedure (2.) herhalen net zo lang tot je geen records meer over hebt.

Je werkt als het ware van achter naar voren met een steeds kleiner wordende set.

Werkt, maar:

1. het is tijdrovend bij veel records;

2. het werkt niet on Server (want preview mode is niet Server compatible, wat ik overigens raar vind omdat je wel een PDF kunt aanmaken).

Weet iemand iets wat beter / sneller / ook werkt?

Het probleem is namelijk dat je orphans daarna kunt corrigeren, maar telkens bovenstaande procedure moet herhalen omdat elke orphan die naar de volgende pagina verhuist, de berekende paginering in principe weer overhoop gooit. Alles na de orphan schuift weer op...

NB Wel teleurstellend dat Filemaker Inc hier sinds versie 6 feitelijk niets aan verbeterd heeft, maar dat terzijde.

Link naar reactie

2 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Het probleem is, dat het document (de PDF) is opgebouwd uit (sub)koppen en tekst (en nog wat andere dingen, maar dat is niet belangrijk hier). Op één pagina komen één of meer subkoppen en bijbehorende tekstblokken. Je wilt geen halflege pagina's, maar een pagina mag ook niet eindigen met een subkop (orphan). 

Als je de paginanummers weet, kun je de orphans corrigeren door het paginanummer te wijzigen (als je gebruikt maakt van een subsummary voor de paginering) of door een lege alinea (¶) toe te voegen aan het record vóór de orphan. Die schuift dan net door naar de volgende pagina. Je hebt de paginanummers dus nodig om de orphans op te sporen.

Ik heb al wel bedacht dat je het proces kunt versnellen door eerst pagina 1 en 2 te doen, dan 2 en 3, enzovoorts. Stel je hebt 150 records, met gemiddeld 15 records per pagina. Dan pak je eerst regel 1 tm 20. Stel dat daarna p.1 eindigt met regel 12, dan pak je daarna 13 tm 35, en zo schuif je door het document.

Ik had gehoopt op een hidden feature ergens in de subsummaries maar het is me niet gegund geloof ik.

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...