Jump to content
  • 0

Berekenen van paginanummers


hans erik

Question

Posted

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.

2 answers to this question

Recommended Posts

  • 0
Posted

Ik zou ook ongeveer aan deze aanpak denken. Met regels van gelijke hoogte is het gemakkelijker (en zou de routine ook korter zijn).

Maar... Welk probleem wil je oplossen met de opslag van paginanummers in records? Is toch ook wel hele dynamische / contextueel bepaalde informatie...

  • 0
Posted

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.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...