Tuesday, July 26, 2005

Page Numbering in Freehand MX (Windows)

Freehand isn't designed for creating very long multi-page documents. It is primarily a drawing rather than a layout programme. Nevertheless many people are so comfortable working with it that they do try to use it to create longer documents. As one of these fools myself, I was horrified to discover that Freehand does not as yet support page numbering. There is an Xtra for the Mac which looks pretty good, but PC users must make do with a pretty embarrassing and not very useful workaround .

I rashly decided to whip together an xtra myself, thinking this would take me only a couple of hours. Twenty-four hours later, here is the result: Page Number.xtra

There is a readme.txt in the .zip file. here is some of what it says:


1) Put the Xtra in your freehand Xtras folder.
2) Restart Freehand if it is already launched.
3) Put EXACTLY the following text on each page where you want the page numbers to appear:
- This bit of text <_pnum_>, will be replaced by the appropriate number when you run the Xtra. If you type "Page _PNUM_." somewhere, this should be converted to "Page 1." on the first page of your document etc. Look at the example file 'example.fh8' if you're not sure what to do.
4) Before printing, or exporting, run the xtra - its under 'Other' on the Xtras menu. - Maybe this is called something different in non-English versions.
5) Note that:
* the action performed by the Xtra should be undoable.
* the Xtra will unfortunately not work with Master pages - so you will have to release any child pages before running it.
* I haven't tested it that much (only in Freehand MX), so save your work first.


A couple of notes about developing Freehand Xtras.
1) If you don't want to read the whole PDF manual delivered with Macromedia's XDK , do read the stuff about commands, in particular, the following sentence:
"Any and all modifications to the current document must be constructed as one or more commands."
- My failure to read this cost me many a perplexed hour. If you don't embed your document-altering code within a command, NOTHING will happen.
2) This is an API with a sense of humour, Hidden away in the vast API doc I found this function :

void FHIMtxCreateWorldPeace(
PIMoaFhMtx This,
MoaBoolParam andHarmony)
This call is not yet implemented, but have you hugged your mother today?
This A pointer to the IMoaFhMtx object.
andHarmony Pass in TRUE if harmony should be applied to the resulting peace, FALSE if you
don't care for harmony.
Returns contentment.


Post a Comment

<< Home