Use these two commands to create folders or directories :
- Use makemissingdir=yes to enable directories to be made.
- In the outfile command, indicate the name to use with a variable. This can be a built-in or a variable created in the ICF. In the following example, the customer name is used to create a folder to place the PDF file in.
Yes, if there is no name you can use:
trigger name=t_image, value=’CRC1MQPFJO’, dot=2920, scan=1012, source=image, mode=fapa;
For PostScript and in other cases where the graphic does not have a name, you can trigger on the location. If the graphic is inline and not named like an AFP page segment, use:
trigger name=t_image, dot=2920, scan=1008, source=image, mode=fapa;
Mapping to True Type fonts avoids having to acquire AFM and PFB files. You can use the True Types provided by Crawford, or your own fonts.
Set the command TTFONTPATH= to the folder where the fonts are. Do not use the TTFONTLIB command for this.
In the configuration file, set the path to the usual symbols folder, and set
- CALARFONTINTERPRETER=T1 for correct character processing
Specify the font type as ttf. For example:
PSFONT name=Courier-Bold,SYMBOLSET=stdenc,filename=tt3010m_,style=0,weight=2,spacing=FIXED,location=soft, subfonttype=ttf;
SOURCEFONT familyname=’COURIER LATIN1′, pfont=Courier-Bold, symbolset=T1001143, weight=2, style=0, pointsize=-1, widths=source;
If you are using sourcefont=family mapping to any type of output font, check the debug file under the Font Manager to ensure the input fonts have weight and style being output. If the fonts do not output this information, the software only outputs to the regular weight font.
Adding a formdef to the configuration file is optional but recommended. F1all is the default, and is portrait and has no offsets from the page origin.
If the formdef is placed inline, the default used by the print system is not be used. The command that calls a formdef is:
To point to where this is, use the command
Afpformdefpath= and identify the folder where it is. For example:
You may use any formdef you chose. If the Afpformdef= command is not set, the print system uses the defaults.
This section lists common error messages, their cause, and how to resolve them
propfcat: error while loading shared libraries: libprohlapi64.so: cannot open shared object file: No such file or directory
A library that the program, propfcat in this case, relies on is not in the “path” or finable.
There is a shared library named libprhlapi64.so distributed with PROPFCAT. Any .so shipped with the program must be in the same folder as the executables. PROAFP uses a .so named LIBPROBGUM.SO. If this error occurs when the .so files are in the correct location, use the EXPORT command –
Replacing /qa/prj/prometa/bin with your library.
ProAFP000804E: Unable to push page on stack, stack is full with 1999 entries
This message is usually caused by one of two things. Either:
- Documents that are longer than the default size of 2000 pages.
To resolve this, add maxsize=xxxxx to the subdocument command, and set it to the longest document size.
- A trigger for a subdocument is not firing and the software keeps adding to the open document and does not close, exceeding 2000.
To resolve this, adjust the trigger to fire correctly.
ProPS009500E: A fatal error occurred: Error occurred before errordict set up. Check your init files
This message is caused by PROPDF NORMAL mode or PROPS failing to find the libraries it needs to execute. In your configuration file, the Propsconfigpath= must be set to the folder named PSRES you installed in CTIPRO. This folder contains subroutines required by Normal mode and PROPS. The folder name is PSRES in CTIRPO but can be renamed, for example, to hold a version number. If this folder’s contents are not found, or cannot be read, this message is issued and the job stops.
**ERROR** Page log is using xxxx TLDL buffers, exceeding maximum allowed of xxxx
Each page is written to an internal format that you can see in the debug file. Each element of the page is one buffer and one entry in the debug report on a page, under the TLDL lines of the bug report. A very complex page may exceed the default value allowed. You can increase the default value by using the MAXPAGEBUFFERS=nnn command in the configuration file:
How do I fix a memory error message?
Memory errors can have many causes. Some general cases:
- If you are using an ICF that has a subdocument, run the job without the ICF. If it works, then likely the subdocument trigger is not being found, and at some point the pages are all being written to the last created subdocument. The command maxsize= can be added to SUBDOCUMENT to increase the allowed pages in a subdocument if it exceeds the default of 2000.
- PROPS or PROPDF using Normal mode may have font memory issues. Use the PROPSVIRTUALALLOC= command in the configuration files. See the reference guide for your product for more information.
- If your input has very large graphics and requires a lot of resources, write the inline resources to directories instead of memory. Converting to 64 bit may also help.
- For AFP driver jobs, you can specify where the new output file is built, instead of using memory, setting the command imagetempdir= to point to a folder on a drive with a lot of room.
The PRO Index User Guide provides instructions for building simple bookmarks.
The configuration command pdfoutlinedata= is used to create bookmarks. The default setting is SIMPLE but many SYSTEM.INI have advanced.
If you set pdfoutlinedata= to COMPLEX and PDFOUTLINEMETHOD=BOOKMARKS, you can create more complicated bookmarks.
This example creates a simple bookmark entry using the contents of the field F_BALANCE if that field contains a value.
index name=test1, field=(f_BALANCE);
Advanced indexing allows for more formatting of the bookmarks and more commands defining what type of index it is. This can be used to create both bookmarks and an index.
The following example creates an index entry in an external file and creates a bookmark entry with the text “Account” followed by the account number.
; index to external file
;index to bookmark
INDEX NAME=Acctnumber,WRITETRIGGER=t_ACCOUNT,METHOD=bookmarks,outformat=pdf,FORMAT=’Account %f_ACCOUNT%’;
The PDFA/1B format includes all resources so these type of files can be platform-independent. By default, the transform creates Type 3 fonts inline. You must also do the following:
- Add PDFOUTPUTTYPE=PDFA-1B in addition to having outputdriver=pdf
- Point to the color profile folder in the CTIPRO installation:
There are several possible reasons the PDF output is larger than the input:
- There may be a large number of rasterized fonts (Type 3 in the PDF). If you have many small PDF files, this will cause the PDFs output to be large. The statistics LOG shows you the number of fonts.
- If you are mapping to the built-in Base 14 fonts, ensure that pdfsubsetfonts= is set to YES
- Ensure that there are no filters set to NONE in the INI, for example pdftextfilter=none
- If you are creating PDFA/1B, ensure that all fonts and color tables be inline
- Graphic compression in AFPDS is not as good as PDF compression. If you have a substantial number of IOCA graphics, the output could be compressed further using PDF methods. This may not resolve the issue, as the AFP compression may be very good all ready.
- If rasterformat= is set to CMYK or RGB, the color increases file sizes. Determine whether you need color in the output.
- There may be a large number of inline and unnamed graphics that be being converted. Determine whether they are the same graphic being embedded many times, and whether the graphic could be reused instead of being converted and embedded multiple times.
A debug file shows the external page segments and inline graphics. You can compare this to the graphics in the output. Set the graphics to be reused if required; see the reference guide for the product you are using for more information.
Yes. There are USERPARMn (where n is a number) commands that can be placed in the configuration or passed in the command line.
• In an INI, use USERPARM1=’TODAY’
• In a command line, use Proafp –cconf.ini –USERPARM1=’TODAY’
They can be referred as a variable. For example:
FIELD NAME=2D_ORDERNUMBER, MODE=FAPA, TRIGGER=everypage, FUNCTION=RIGHT, PARM=(%USERPARM1% , 6 , ‘0’ );
You cannot format the data for the text, but you can use a replacement for a string.
For example, you can change the font in address fields when the address data is replaced after postal address cleansing.
Capture the fields to change the font for:
Suppress the fields by using ADDOBJECT TYPE=SUPPRESS to create a block over the area, then add the data back, using AFP fonts.:
The transform converts to the output type.
Check the debug file above the PAGELOG ID line for the page to ensure the text is being written.
There are multiple ways to reduce the output file size, but they are dependent on the number of pages, number of fonts or number of images. Depending on the composition of the input data and the sizes of the output file, the benefits can vary.
- Mapping input fonts to Base 14 fonts can reduce the file size and file appearance. Small files may not see a large reduction in size, as Type 3 font conversion subsets the fonts already.
- Set PDFOBJSTREAMSUPPORT-=yes to enable object stream support for PDF 1.5 and higher. When using this command, also set:
- PDFVERSIONNUMER=5 or higher
- Set T1REMOVESUBRS=YES to specify that glyphs within the T1 font are written without subroutines being used
- Set PDFTRIMZEROS =-YES to specify that output is generated trimming trailing zeros off vector and color commands
- Set PDFTEXTFILTER = to one of the following to specify that the PDF filter used when encoding the text portions of PDF documents:
- FLATEDECODE encodes the text using the Flate encoding method. This is the default
- RUNLENGTHDECODE encodes the text using a byte-oriented run-length encoding algorithm
- CITTDECODE encodes the text using a byte-oriented encoding algorithm, the CCITT facsimile standard
- Set PDFCACHETYPE3DATA=yes to save some Type3 font data in a job-level cache to avoid repeated compositions of the same data, including glyph streams, widths arrays, and to- Unicode
- Set PDFSAVECONVERTEDIMAGES=yes to save permanent image data for PDF output
- PDFIMAGEFILTER specifies the filter that is used for PDF encoding of images. The default is
- RunLengthDecode specifies that the transform encodes the PDF images using a byte-oriented run-length encoding algorithm.
- CCITTDecode specifies that the transform encodes the PDF images using a byte-oriented encoding algorithm; the CCITT facsimile standard
- FlateDecode specifies that the transform encodes the PDF images using the Flate encoding method
- IMAGEJPEGQUALITY specifies the image quality of a JPEG image. The higher the number, the better the quality and larger size in bytes. Values are 1 to 100.
- MAXIMAGERESOLUTION specifies the maximal image resolution for the output driver. A negative value does not restrict image resolution; the default is -1. This parameter is applicable to images only.
You can report on variables multiple ways:
- In stdout, you can report to the monitor a value per page. For example, to report the page number and what the acct_num variable holds at that time, run:
- In the ICF you can write simple index commands that report on a variable. The trigger you use to fire the index determines when it is written out. For example, the following trigger fires on every page.; another trigger fires only for a set value:
TRIGGER NAME=EveryPage, MODE=FAPA, WHEN=(job,page,top,+1,1);
trigger name=t_BALANCE, mode=fapa, source=TLE, value=e’BALANCE’;
You can create an index that fires on every page:
Index name=test, writetrigger=EveryPage, format=’Page %DOCUMENTPAGENUMBER%, account is %acct_num%’;
Or one that fires only when the trigger is found:
Index name=test,writetrigger=t_BALANCE, format=’Page %DOCUMENTPAGENUMBER%, account is %acct_num%’;
Using the build in variable %DOCUMENTPAGENUMBER% lets you see the pages involved. %SUBDOCUMENTNUMBER% returns the subdocument number involved.
Index name=test,writetrigger=t_BALANCE, format=’Page %DOCUMENTPAGENUMBER%, account is %acct_num% and I am in subdocument %SUBDOCUMENTNUMBER%’;
We create customer SFTP sites for secure transfer of data and to place resources such as program upgrades. When you receive the login name and password, there are three ways to access the site:
- Using an SSH shell or GUI client, connect to sftp.crawfordtech.com on port 22, using the login details
- From the command line or GUI client, connect to crawfordtech.com on port 21, using the login details
- Using a web browser, connect to https://sftp.crawfordtech.com:443 using the login details
If you can ping the site from a DOS prompt—ping sftp.crawfordtech.com or pingftp.crawfordtech.com—then the site is accessible. If you do not get a reply, email email@example.com with the name and password you are using, and they can check the server status for you. There may be security restrictions need to be worked around.
There is a rotation option you can use, as shown below. If you are creating an HRI, the FORMAT commanf can contain the same information in the format command as passed to the barcode routine.
ADDOBJECT name=Text0, type=text, rotation=0, xpos=1200, ypos=1500, Font=P08TAc, trigger=1of, format=a’ADDOBJECT-Type=TEXT-THIS IS MY TEST= 0′;
ADDOBJECT name=Text90, type=text, rotation=90, xpos=1200, ypos=1500, Font=P08TAc, trigger=1of, format=a’ADDOBJECT-Type=TEXT-THIS IS MY TEST= 90′;
ADDOBJECT name=Text180, type=text, rotation=180, xpos=1200, ypos=1500, Font=P08TAc, trigger=1of, format=a’ADDOBJECT-Type=TEXT-THIS IS MY TEST= 180′;
ADDOBJECT name=Text270, type=text, rotation=270, xpos=1200, ypos=1500, Font=P08TAc, trigger=1of, format=a’ADDOBJECT-Type=TEXT-THIS IS MY TEST= 270′,color=(1.05, 0.002, 0.5);
You must set the following commands:
- RECDELIM= The record delimiter of the data is set to the delimitation value and determines how each record is defined and separated from others. Some files have a prefix to each record with a length like RDW, and some are fixed length. If it is fixed length, add the command XEROXLRECL= and the record length.
- JDL= and JDE= set these to the names of the JDL and JDE started on the printer for these print jobs. They are in a JSL source file named the same as the JDL.
- Ignoremissingresources=yes This keeps the file processing with errors using defaults, so you can get a list of missing resources
- Resource locations for forms, images, fonts, logos and JSLs. To start testing, at a minimum you must set:
- Jslpath= this contains the source JSL used in the print file and started in the JDL command. It must also contain the ZZZRES.JSL provided in CTIPRO and Xerox defaults
- Fontspath= this contains any non-inline Xerox fonts. To start, set this to the Xerox fonts in the CTIPRO folder (…CTIPro\xrxres\xrxfnts) which provides some defaults. You can concatenate your library to this entry.
Why does Designer lets me select some text but not select other text?
If you can see the data for that text in the debug file, look above that area and you may see Dump of Form. Data in a form or overlay is not indexable unless you indicate you want it merged with the page data.
For AFP and Xerox add mergeformfields=yes and for PDF add ppiform=flat. When these are selected, the output file may be larger but the form or overlay data is now merged with the page and indexable.
To create PDFA/1B:
- Provide the outputtype in addition to the command outputdriver=PDF. For example:
- Provide ICC color tables for the colored data in your file. All resources formats, including color tables, must be inline in the PDF, to indicate the output color format. Crawford provides a sample set for general cases.
- Identify the tables in your INI file. The following example settings are provided as samples. If the colors are not correct in your output you may have to find more suitable ones.
COLORMANAGEMENTRESOURCEPATH= .. \CTIPro\colorprofiles
All font resources must be inline and must show as “embedded” when you look at File – Properties – Font in Acrobat Reader. There cannot be references to fonts resident on the device.