ippdfglue
ippdfglue
This program stitches together PDF elements into a single page - elements such
as Ads, folios, rules and/or whole pages for Page Pairing.
It uses a parameter file in tables/form. This can be selected from the DF
FipHdr file and defaults to PDF_GLUE.FIP
Keywords for the parameter file are :
; comment line
newname: (new name for the output file) default: the same as input
supercede: yes/no Overwrite the output if it exists default: do not
outque: output queue for the new file. default: spool/2go or -o switch
doneque: done queue for the old file. default: none or the -d switch
dest: Destination (as in sys/USERS) default: none
extra-fiphdr: more fixed Fip Hdr fields to add to the file (before any new
matched additions)
default: none
duplicate-output: make extra copies of the output default: one single copy
only
eg duplicate-output:\PZ
Here the FipHdr field PZ is checked and if the contents are 2 or more, the
output is duplicated that many times
Otherwise a single output file only is created.
FipHdr field S3 holds the copy number - so it can be used to make a unique
filename later on.
script: script to run against the New file. default: none
log-line: extra logging information for the Fip log default: none
Logging is done at the end of each page
EN is filename
EP is path
S1 MAY be the size
S2 is the pagenumber of pages generated from this input file
S3 is the number of this particular copy when multiple
copies/duplicate-output are requested
alias-name:(FipSeq)
replacement string for each filename to include
PM: display name
PX: x pos
PY: y pos
PW: width
PL: length
PN: name
optional-ext:(FipSeq)
possible, option ext for the file
option-ext:.pdf
ie try both with and without
force-pdf-version: (0-14)
force thePDF version to be this
0 -> 9 for pdf 1.0 to pdf 1.9
10-14 for PDFx1 PDFx3 and PDFa
default-media-area: (FipSeq to define 4 values of 0, 0, width, depth)
Defaults for total area to be imaged - including white space around any
imagae/bleed area
default-image-area: (FipSeq to define 4 values of offset bottom x, offset
bottom y, width, depth)
default-bleed-area: (FipSeq to define 4 values of offset bottom x, offset
bottom y, width, depth)
Defaults for total area that can be imaged - the first 2 are the offset (pos)
from the bottom left corner of the media area.
These 2 are exactly the same thing.
default-page-area: (FipSeq to define 4 values of offset bottom x, offset
bottom y, width, depth)
default-ad-area: (FipSeq to define 4 values of offset bottom x, offset
bottom y, width, depth)
default-trim-area: (FipSeq to define 4 values of offset bottom x, offset
bottom y, width, depth)
Defaults for normal area that can be imaged - the first 2 are the offset
(pos) from the bottom left corner of the media area.
These 3 are exactly the same thing.
show-missing-ads: (yes/no)
Display the name of the missing ad in the box default: yes
missing-ad-comment: Replacement text/FipSeq for when the ad is missing
default is just the name: missing-ad-comment:\PM
To use the comment field missing-ad-comment:\PM - \PF
missing-colour: (C, Y, M, K)
define the colour of background for any missing ad
the 4 values are in the range 0-255
default is a tasty papayawhip : 0, 20, 100, 0
font-path: (path)
Copy your user fonts into a directory and add it then to the list of search
paths.
Otherwise, only the 14 standard fonts can be used.
This is ignored in the Windows version as all fonts MUST be put in the System
Fonts folder
use-standard-fonts: y/n
use the 14 standard fonts (TimesRoman, Helvetica, etc) - yes or no - default
is yes
turn this off if you are ONLY using custom fonts.
embed-fonts: y/n
NO - turn this off if you do NOT want to embed the fonts in the file (for
some reason !)
default is YES
default-font: (name of default font)
default-font-name: (name)
This should match exactly the PSname of the font
Default is the first system font
Default of defaults is 'Helvetica'
replace-folio-string:(FipSeq) (Replacement string in FipSeq)
There can be up to 10 replacements
pick-tray: (yes/no)
Pick tray by PDF size default: output device default
print-scaling: (yes/no)
Scale the output to fit default: output device default
set-resolution: (number from 72 to 2048 dpi)
set the output resolution default: 150 dpi
use-transparency: (yes/no)
transparency-colour: (hex value)
transparency-color: (hex value)
Set/configure transparency
default is (for PDF 1.4 on) transparency is ON and rgb_white (0xFFFFFF) is
the colour
add-pdf-comment: (CommentKey) = (FipSeq) [optsep (|) opt (2ndKey) = (FipSeq) ]
...
Add Comment to PDF page
The structure is Key = Value. Multiple key=value may be added using a '|' as
a separator.
add-pdf-comment:Author=\SA|Producer=Fip at pubo|Agfa-SpreadType=JUMP
Note that user-defined keys should be defined as 7 bit ASCII string and the
use of special characters like /, \, #, or character codes higher than 127
should be avoided. The value of document info entry should not contain binary
data.
compression-level: (0,1,2,3)
Set the Compression level (see dynapdf book !) default: 1
(0-none, 1-default, 2-fastest, 3-max)
Where sections of FipHdr fields are required or changes to the output style,
use keywords : fixed, partial, combie, optional, repeat, newdate and/or style.
(see The SysAdmin manual for more information).
They are normally specified :
fixed:QZ 1234543
partial:QT ST,3,2,U,<,>
combie:QY ep|na,(0000000)a
option:QE ep,11,7,s
repeat:QK XK,-,3
or repeat:QP PK,,4,#X
style:QS XN,%.03d
The FipHdr of the incoming file can also be used to change the
PDF_FIPHDR:(yes/no)
Add/Dont add the FipHdr to the output file default: add
PDF_OUTQUE:(FipSeq)
Output folder to override the -o Input switch default: /fip/spool/2go
which overrides the "output:..." parameter
PDF_DONEQUE:(FipSeq)
Done folder to override the -d Input switch default: none
which overrides the "doneque:..." parameter
Input Parameters are (all optional) :
Either
-1 : path/filename for single shot default: spooled
The input file is NOT deleted
If this does NOT start with a '/', it is assumed relative to the current
path.
Or
-i : input queue default: spool/2pdfglue
If this does NOT start with a '/', it is assumed under spool.
-B : show all valid BBoxes/Areas default: do not
Use this for debugging troublesome Bounding Boxes !
Generally it is ONLY used with the -1 single file option as it is NEVER
required for live working !
NOTE that Media and any other area set to the same are normally invisible as
it is outside the main printed area by definition
Fixed colours are used :
- Media - black
- Crop - purple
- Bleed - cobalt blue
- Trim - kermit green
- Art/Ad/Edit - orange
-d : done folder for the input file in FipSeq default: none
If this does NOT start with a '/', it is assumed under spool.
-f : display Fip markup and results default: spooled
The display is to the screen (ie NOT the log file), so just run manually in a
CMD or terminal on its own
-F : display Font names, calls and success in matching default: spooled
The display is to the screen (ie NOT the log file), so just run manually in a
CMD or terminal on its own
-L : do NOT log files in default: log
-N : Name of output file default: input filename with some extra dedup
numbers
This option overwrites the parameter 'newname'
-o : output queue default: spool/2go
If this does NOT start with a '/', it is assumed under spool.
-w : file wait for files arriving across a network. default: no wait
-z : default parameter file in tables/setup default: tables/form/PDF_GLUE.FIP
-v : print version number and exit
---NOTES---
Windows install
---------------
- add dynapdf DLLs to some folder in your PATH environment - but not /fip/bin !
Normally this will be /fip/3rdparty or (in extremis) c:\WINDOWS\
DataFile syntax
---------------
The data file is a series of single lines witha TYPE in the first field.
All fields are TAB separated.
All Lines MUST have an end of line added : '\n' or '\r\n'
PAGE - start page and add FipHdr (usually FipHdr info about the page)
syntax PAGE (tab) (FipHdr in FipSeq)
eg PAGE (\t)
PP:\PP#P0:\ZZ\ZM\ZG#PS:\PS#PE:\PE#PN:\PN#PV:\PV#PO:\PO#PQ:\PQ#PW:\PW#PJ:\PJ#PC:\PC#PZ:\PZ#PR:\PR#\n
FIPHDR - extra FipHdr info
syntax FIPHDR (tab) (FipHdr in FipSeq)
eg FIPHDR\t#PJ:\PJ#ZN:\ZN#ZW:\ZW#JN:\JN#JC:\JC#JR:\JR#\n
BANNER - some FipSeq for a Banner at the top of the page (usually above/below
the Trim area_
syntax BANNER (tab) (Markup)
eg BANNER\t<q:z><m:8><q:z><j:8><q:z><n: Region code.JR-\JR-
c/d.JW-\JW->\T3<q:z><j:8><q:z><f:HelvBold><p:7><x:-30>.<q:z><ws:20>PDF-Page
\\PN Publication \\PP Section \\PS Edition \\ZD-\\ZT-\\ZZ at \\$d-\\$m-\\$e\\$y
\\$h:\\$n:\\$b<q:z>.<q:r>\$o\n
MEDIAAREA - Complete printable/visable area : see also below for more on Areas
CROPAREA - Crop area
IMAGEAREA - Bleed or Image areas (these are equivalent)
BLEEDAREA - Bleed or Image areas (these are equivalent)
PAGEAREA - Page or Trim areas (these are equivalent) - usually page is to be
cropped to this
TRIMAREA - Page or Trim areas (these are equivalent) - usually page is to be
cropped to this
ADAREA - Ad or Editorial area
syntax (xx)AREA (tab) - (tab) (x pos) (tab) (y pos) (tab) (width) (tab)
(height)
eg MEDIAAREA\t-\t\C5\t\C6\t\C7\t\C8\n
MEDIAAREA - -75 -60 450 600\n
If different, always specify MEDIA first, then BLEED then TRIM
** NOTE the only mandatory one for PDF is the MEDIA area; so if you do NOT
specify any areas, ippdfglue will generate one for you.
FILE - Insert the contents of a PDF at this point
MISS - Blank the area and put a missing element message in the bottom left
corner
syntax FILE (tab) (filepathname) (tab) x (tab) y (tab) width (tab) height
eg MISS PDF_ADS/CLASSIFIED/03/2447727-470708063 478.35 234.99 281.34 198.43
MARKUP - Markup to generally add to a page eg with an
'adlist-insert-after-page'
FIPSGML - all 3 are exactly the same
FIPSMGL
syntax MARKUP (tab) (Markup in FipSmgl/FipSeq)
eg MARKUP <n: Region code.JR-\JR-
c/d.JW-\JW->\U0<font:GothamMedium><p:6><x:6>\Y1\Y2\$o\n
RULE - Draw a rule
syntax RULE (tab) - (tab) x (tab) y (tab) width (tab) height
eg RULE - 475.27 0.28 0.50 447.59
FOLIO - Place a folio file
NOFOLIO - do NOT place a folio file - but trigger a startofpage
syntax FOLIO (tab) - (tab) x (tab) y (tab) width (tab) height
eg NOFOLIO - 0.00 0.00 759.69 1020.47 0.00
COMMENT comment message to be added to the Fip ALL log
syntax COMMENT (tab) (log message in FipSeq)
As the comment can be in FipSeq, use this to log current FipHdr settings
eg COMMENT\tbx.\BX r8.\R8 r9.\R9 pw.LorR.\PW d6.\D6 d7.\D7 d8.\D8 d9.\D9
rx.\RX ry.\RY w6.\W6 w7.\W7 p3.\P3 p
4.\P4\n
Example :
PAGE
PP:MC-NOR#P0:20131003#PS:CLA#PE:#PN:71#PV:63#PO:11#PQ:63#PW:#PJ:#PC:#PZ:2#PR:COURIER
MEDIAAREA - -34 -42.5 827.69 1094.17
TRIMAREA - -34 -42.5 827.69 1094.17
ADAREA - 0 0 759.69 1020.47
BANNER <q:z><m:8><q:z><j:8><q:z><n: Region code.JR-N- c/d.JW-->
FIPHDR
#PJ:#ZN:October#ZW:Thursday#JN:63#JC:#JR:N#JT:#JU:#PC:#PO:11#FP:71#PN:71#PV:63#PQ:63#PX:1#PW:R#PG:FULL
FOLIO - 0.00 0.00 759.69 1020.47 0.00 /fip/customer/folios_rm/MC-DEF-DEF-R.fip
FILE PDF_Headings2PDF/4/025-6x6 2.13 1003.46 564.09 17.01
FILE PDF_ADS/CLASSIFIED/03/2447696-470718516 1.77 0.00 277.80 481.89
FILE PDF_ADS/CLASSIFIED/03/2447739-470723954 288.78 315.21 277.80 181.42
FILE PDF_ADS/CLASSIFIED/03/2448075-470870481 287.01 99.50 281.34 184.25
MISS PDF_Headings2PDF/4/600-3x6 288.78 293.10 277.80 17.01
MISS PDF_Headings2PDF/4/426-3x6 0.1
BBoxes
------
There are 4. Which are in order of size (decending) :
- MEDIAAREA - complete printable area with gutters - this will be the actual
dimensions of the whole PDF.
- CROPAREA - Crop (optional)
- BLEEDAREA - Bleed (optional)
- TRIMAREA - Ad/Ed text area plus Folios (can also be called the PAGEAREA)
(optional)
- ADAREA - basic Ad and/or editorial page - this is mainly for informational
purposes only and is not really used. (optional)
Lower levels MUST be wholly contained by those above
All take 4 variable x, y, wid ht - where x,y are the lower left corner
It is an excellent idea to have the x,y of the TRIMAREA as 0,0 so that all ads,
text elements, headings, fillers etc - all included files can be placed without
any maths to calculate the offset !! In this case, if gutters are required, use
a neg value for x,y in the MEDIAAREA (and possibly BLEEDAREA)
eg
MEDIAAREA - -34 -42.5 827.69 1094.17
BLEEDAREA - -34 -42.5 827.69 1094.17
PAGEAREA - 0 0 759.69 1020.47
ADAREA - 0 0 759.69 1020.47
Note that the width and height of the MediaArea is the whole surface area - any
miscalculations will expand/contract the overall PDF size.
Note that on a Linux, you can use 'pdfinfo' to check the actual Areas/Boxes :
pdfinfo -box Classfied_Apr20_p30.pdf
Folios
------
- There are a few builtins for folios for <z: (passthru)>
gsave - maps to a PDF save (ie same effect as EPS)
grestore - maps to a PDF restore (ie same effect as EPS)
- The maximum allowed nesting level of save/restore graphics state operators
in PDF is 28.
setcmykcolor - maps EPS setcmykcolour 0.00 to 1.00 to the same PDF colour for
CMYK : 0 to 255
setgray - maps EPS setgray to a PDF tint (0->1 is stretched to a tint of
255->0)
fip_pdf_circle - one parameter = radius in points
use <x: xlead> and <w: ws> to position exactly the bullseye beforehand
use setcmykcolor to set the colour beforehand
fip_pdf_chord - p1 and p2 - width and height of containing box, p3 and p4 -
starting and ending angle
use <x: xlead> and <w: ws> to position exactly the start point beforehand
use setcmykcolor to set the colour beforehand
rotate - Note that EPS is counter-clockwise but PDF is clockwise : so the neg
has the opposite effect !
use <x: xlead> and <w: ws> to position exactly the rotate point (esp for
QR and QC/QM)
Version Control
; 2u5 28sep13 ;a added embed-fonts: y/n and default-font-name ;c 7apr14 bugette
with zero chrs
;d 12apr14 rotate added
;e 14apr14 added MARKUP properly
;f-h 29apr14 added -N for default newname
;i-k 2may14 added -B to draw all the (valid) bounding boxes
;l 5aug14 default in BOX means zero NOT the last
;m 2sep15 added compress-level
;n-p 3nov15 added default black for Rules
;q 26jan16 reverted rules to 02m
;rs 15feb17 dyna v4
;tu 12mar19 added COMMENT to log ;u4-5 4jan24 fonts-use Unicode 1st/bugette
with MissingAds and added conversions
;01z 19apr11 folios/text version ;d-e added missingAd ;f 02jun11 rotated ad bug
;g letterspc ;h logging font errors
;i-k added -F, note/include pdf
;l for Folio, use name first and aliasName second
;m added default-font and bugette with WS - always need a new element
;n-o duplicate-output added
;p DrawCircle and DrawChord added
;q-t added replacement of pass thru ;u bug with fonts not resetting at start
of line
;v-w redid styles and passthrus and blocks and eles
;x 2apr13 added transparency
;yz 5aug13 added Comments and allow-std-fonts:y/n
;000q 10feb10 original version
;h rules better ;i added alias-name ;j-l added FipHdr, pdfVersion, pdfTitle
;m-p added text/folio etc
(copyright) 2025 and previous years FingerPost Ltd.