- Create Index files
- Extract data from PDF and print files
- Remove barcodes (or print related objects)
- Convert to PDF or PDF/A
- Digital bursting
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.
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.
Carol is certified in ‘Crucial Conversations’ and offers employee training to create alignment by fostering open dialogue around high-stakes, emotional and high-risk subject matters. Carol is passionate about working with entrepreneurs and driving employees to think and act as leaders. Carol works closely with CrawfordTech’s CEO/President, Ernie Crawford, towards the goal of making Crawford Technologies one of the best companies in the world to work for.
Carol has been a volunteer victim advocate for Larimer County’s Sheriff’s department for more than 10 years and is passionate about making a difference in every life she touches.
Darcie has led several M&A transactions for the companies she has represented, from both the seller and the buyer side. She has extensive experience architecting and continuously improving business and financial systems, strategies and processes within newly-established and rapidly growing companies, ensuring smooth operations and accurate and relevant metrics that help drive the company forward. Darcie oversees all finance and administration functions at Crawford Tech.
Darcie has been a mentor with Big Brothers Big Sisters of Toronto since 2014
- Extract actionable data from your print files and PDFs
- Mine valuable data into XML, CSV, JSON, and user defined data formats
- Leverage document data to personalize marketing offers and messaging
- Redact sensitive data
- Digitally encrypt files for storage and transfer
- Add encryption at the file and page level
- Add digital signatures to PDF output for additional security
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.
Doug’s sole aim in professional life is to have fun with teammates while delivering measurable results to those wishing to improve their accessible footprint for people of all abilities.
Over the past 20 years, Ernie has grown Crawford Technologies from a basement startup into a leading international technology company with offices in Toronto, New York, Boston, Fort Collins and London. Crawford Technologies has been listed as one of Canada’s fastest-growing companies for the past five years by Canadian Business PROFIT Magazine, has been on Deloitte’s North American Technology Fast 500™ and has been recognized by Branham300 as a top Canadian technology company.
Today, Ernie’s vision and expertise are the driving force behind Crawford Technologies.
Early in his career, Ernie built successful marketing and support organizations within Xerox Canada. He has consulted with many prominent companies in the industry including IBM and Xerox.
Ernie is an avid skier and the father of two beautiful daughters.
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.
Prior to joining CrawfordTech, Harvey was Chief Technology Officer at Datawatch Corporation as well as its Vice President of Product Management & Development. His responsibilities at Datawatch included managing the technical infrastructure as well as the day-to-day operations of the worldwide development staff.
Harvey has more than 30 years of product development, product management, sales and commercial operations experience in the document management, content management and business process markets. He served as Chief Technology Officer of Lason, Inc., an international business process outsourcing firm, where he established an electronic content management service as an application service provider (ASP) and was instrumental in growing that business from inception to $20 million. He also served as Senior Vice President of Virtual Image Technologies, Inc., a regional document management service company and as Senior Vice President of business development at 360Services, Inc.
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 firstname.lastname@example.org 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.
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 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.
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.
- To prevent inadvertent omissions almost all fields are required. If a section is not applicable to the product, please enter “N/A” or similar nomenclature of your choosing.
- Paragraph fields include a Rich Text Editor for more flexibility in formatting. There is no need to show your artistic chops though, they’re only set up this way to make things like emphasis and lists more obvious. The fictional Signed PDF Accelerator example entry, for example, uses only bold text and bullet lists.
- To conserve space, the Product Details and Product Images/Diagrams are formatted as repeater fields. You can add up to 10 detail sections and 5 images or diagrams.
- The Industries checkboxes are not required. If all boxes are left unchecked it will be assumed the product is not specific to any particular industry.
- There are no fields corresponding to the Customer Stories, What our clients are saying and Product Resources sections of the template. This content will be displayed dynamically based on other information the site has.
- There is no way to save drafts so it’s probably best to have the content ready to be pasted in beforehand. And don’t forget to click Update! If you navigate away from the page before doing so I can’t be held responsible for where all your hard work went.
- Most of all HAVE FUN! Just kidding, this isn’t fun.
- Add, delete or change barcodes
- Replace OMR marks with high integrity barcodes
- Generate Inserter control files (i.e. MRDF) for piece-level tracking
- Add selective inserter controls
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’ );
As a seasoned sales executive with more than 15 years of experience, Jeff has developed interactive business relationships with senior executives across vertical markets, including financial services, healthcare, insurance, retail, and telecommunications. Before joining Crawford Technologies Jeff excelled as a business developer for document composition, e-presentment, and archiving companies.
Kevin has worked hands-on with every aspect of the life cycle of documents – from composition to printing, insertion, archiving and final tracking through the USPS. Kevin now manages the professional services group at Crawford Technologies, ensuring that his team provides first-class services and solutions that guide customers to quickly implement and utilize CrawfordTech’s products and services to their fullest potential.
Most recently, Mark was the North American Vice President of Sales for M-Files, a SaaS provider of enterprise content management software and VP of Sales for Axcient, a SaaS provider of recovery solutions (acquired by K1 Investment Management). Mark holds a B.A. in International Business and a M.S. in Management Science.
- File creation for multi-channel distribution
- Create accessible WCAG and PDF/UA output
- Create responsive mobile-ready documents
- Split files into individual documents for viewing
- Add digital capabilities
- Remove e-only documents
He has strong industry knowledge and relationships with large enterprises and Business Process Outsource (BPO) markets. His expertise includes Customer Communication Management (CCM) platforms, Customer Experience (CX), Workflow Orchestration, Omnichannel, e-Presentment, and Payments.
- Address validation & standardization
- Move Update/NCOA processing
- CASS/PAVE processing
- Postal Barcode addition
- Postal Sorting
- Householding & Commingling
- Print file conversion
- Convert paper tray pulls to overlays
- Add pages
- Suppress pages
- Add Slitter or Burster marks
- Add Dynamic Perforation control
- Add paper tray feeds
- 1-up to N-up & Imposition
- Optimize poor performing files
- Segment large files
- Combine small files
- Define, extract and merge data from external files
- Move Address block & barcodes
- Normalize print files
- Create Index Records
- Read & Add TLEs or PPDs
- Split files by envelope size / geography
- Page order resequencing
- Add Printserts
Roger was also responsible for the sales team’s growth and retention which included facilitation of sales enablement. Roger previously held sales and sales management roles at Oracle, Microsoft, and Software AG.
With more than 22 years of experience in operations management, software development, technical team management and product management, Ron brings a wealth of expertise to CrawfordTech. Ron’s experience in building a successful services organization focused on technical computer control strategies, process improvement, and international operational management consulting services has been instrumental in building CrawfordTech’s high-availability and high-security data center. Ron’s computer science background, combined with more than 15 years of experience building industrial process control systems has been instrumental in the success of CrawfordTech’s DAS Services Business Unit.
Prior to joining the CrawfordTech team, Scott was Vice President of Strategy and Channels at NEPS LLC and previously served as Vice President of Worldwide Business Development and Worldwide Channels at GMC Software AG. Scott has held key positions with the pioneering software companies in COLD, EBPP/ESP and report mining markets.
Scott currently serves on the Board of Directors of Xplor International. Scott is recognized as a global subject-matter expert on customer communications management.
Tim is responsible for CrawfordTech’s customer support, professional services, IT infrastructure and quality assurance groups. His leadership in customer support and professional services has allowed CrawfordTech to build strong relationships with its ever-expanding customer base resulting in year over year improvements in CrawfordTech’s NPS® rating, which is currently +68
- Address validation & standardization
- Move Update/NCOA processing
- CASS/PAVE processing
- Postal Barcode addition
- Postal Sorting
- Householding & Commingling
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.