Proform FAQ


Questions in no apparent order...

  1. We are currently trying out an eval copy of PROFORM. It seems impressive. However, we are having some problems. We scanned a form we are currently using and we can't get PROFORM to overlay the information on the scanned form. We keep getting only the form, no data. How should the scanned form be saved (what format). Also, where, and in what format should the "[texthere]" be.

  2. I want to print passenger tickets/voucher using progress data and proform on laser printers. On each Letter size paper sheet, I want to print 4 tickets/vouchers. Each has the same size (width/lenght) but not the same content.

  3. I have a question in regards to how your software handles multiple line items that may or may not appear in the invoice detail. Does the form have to have multiple rows of the same fields defined to handle the line items or does your software "handle" this situation?

  4. FYI only the Barcode GIF on the Proform Sample Page can be found.

  5. We are having a problem with remote printing graphic images from SCO, when using Proform. It seems that our embedded bitmaps always contained garbage characters in the final form printout.

  6. Regarding Proform licensing interpretation. We have a corporate wide license for XXXXXXXX's XXXXX XXXXX system on SCO, with users at 5 separate locations. With that application, came the agreed upon use of Proform. My question, are we covered to use Proform at each of those 5 locations. In other words, do we have a multi-license to use Proform. If the answer is no, then what are the cost implications to get us to that state?

  7. We can't figure out how to print an "hpl" file since we upgraded to windows 95.

  8. We will need to deploy with Progress V8 running on Win 3.11 and Win95 clients. Is there an alternative to the dos copy statement to enable us to use the print manager?

  9. We would like to create the forms using Word 6. Is this possible and practical?

  10. Empty fields appeared in [square_brackets] on our form.

  11. I went through the set up of proform and fed it the answer to it's challenge and it did create a validation file BUT our accounting system with a PROGRESS database engine cannot use the program as it continues to send a challenge. Did I do something wrong?

  12. We are having trouble printing barcodes on postscript printers. In the file, on a PostScript printer, and using a PostScript viewer, you can see some characters like &f0S *t150R *r1A .... where the barcode is supposed to be, when !BARSET! is not used,

  13. Where did you get pcldump.exe ? Is there a newer copy available? This one has problems reading some of the escape codes from Word97.

  14. I have found the text box and the rectange and line to be the most usefull tools in word. Would you happen to have some notes from users that could help me?

  15. I am trying to recreate the hardest to make forms that we have in proform, both testing for abality and ease of creation/maintance. So far the biggest thing seems to be learning to use word97 to build these forms. Do you have any documents that I could look at to see how you built them? Word,Word-perfect, etc.. Whatever I can convert and see in word.

  16. If I use Office95 or Office97 to generate a template that will be used with Proforms, then variable substitution will never occur. This is because Proforms cannot find the variables in the document as a result of all the excess control characters that Windows95 inserts into the document. The bottom line is that Proforms seems to only be compatible with previous versions of Word (ie- 6.0). Do you have any suggestions?

  17. I'm trying to generate some barcodes, and all I see are some error codes in the log file. What do they mean?

  18. I need to create a print stream to send to the printer, or really to a fax program that acts like a printer, that is made of these: First page is a fill-in type page, like a cover sheet, The second page and on should just be the text from the program passed streight through, like using the overlay mode in proform.

  19. My question has to do with potentially blank lines - I don't want my form to line feed if a line is empty.

  20. How does proform search for the template file?

  21. I tried to use proform to overlay Logo onto existing output from Progress but got some garbage characters on the Logo. Tried to use the raw output mode but still does not solve the problem. Would appreciate if you could help.

  22. Re pricing. Do I understand that if I buy the Multi-user Small System licence ($1225 for SCO OS5) then I do not pay further licence fees when I supply Proform to my clients with my system?

  23. What about WINNT?

  24. I have a form that has 3 barcodes on it, which works ok, except that they are not all the same density, but the !BARSET! command will only change the whole page. I need to be able to make each one different compressions.

  25. Say, do you already have a way to cause proform to just ignore lines that don't have a comma in them. Now, it sends an error to stderror and then stops, which then causes errors from the print service and so on.

  26. We have a template (printed from a word doc using a laserjet 4 interface), which prints ok when sent directly to the printer or when anything is input, except when there are BARCODE commands in the input. The BARCODE command seems to mess up the graphic but the barcodes are fine.

  27. I am trying to work with your invoice sample in Word 97, but once I import it and try print to disk, I don't get any substitutions made.

  28. Could you elaborate more on setting up a graphic file to be included at run time? I want to include small product pictures on an invoice.


Questions with something resembling answers

  1. We are currently trying out an eval copy of PROFORM. It seems impressive. However, we are having some problems. We scanned a form we are currently using and we can't get PROFORM to overlay the information on the scanned form. We keep getting only the form, no data. How should the scanned form be saved (what format). Also, where, and in what format should the "[texthere]" be.

    Proform does not understand how to print a graphic image, such as a .tiff file or a .bmp file. I can tell you how I would do what you are suggesting creating the template with Word Perfect.

    a. Scan document to .tiff, .gif, or .wpg format.

    b. create a new wp document, include the graphics file, set the size to be the entire page, and set "don't wrap the text around the graphic" option.

    c. place the [texthere] in the upper left hand corner in the correct font for the data.

    d. print to disk and use the result.


  2. I want to print passenger tickets/voucher using progress data and proform on laser printers. On each Letter size paper sheet, I want to print 4 tickets/vouchers. Each has the same size (width/lenght) but not the same content.

    Why do you have to print on full size paper? I run all sorts of small stock through our printers? (just a question)

    What kind of paper are you using? Are we talking plain white paper which costs practically nothing? Or is this some special paper? My initial advice is to waste paper and print each on its own page.

    > Since I have 6 types of tickets/vouchers, I could define 6*4 = 32 page size > forms to cover all possibilities but in case of modification ...

    Or you could say that your page is made up of four different sections, each of which could contain any of 6 different forms. Each form could be designed separately, then printed to disk 4 times with 4 different sets of print margins to force it into the correct section of the form. Your progress program then needs to select each file in sequence.

    The extra trick to doing this is you would have to go into each print file and remove any codes which do a printer reset (1b45) or page feed. Then you would need to create a file which only does a page feed. Let's call it DONE.hpl. (check http://www.mnopltd.com/profdiag.htm for tools which can help you do this. In the case of PCL you can zap the characters to hex 00.)

    For instance, you have Tickets A, B, C, D, E, F. These can print in locations 1, 2, 3, 4. Your progress program generates data which looks like this:

    !FILE! A1.hpl

    data

    ..

    !PAGE!

    !FILE! C2.hpl

    data

    ..

    !PAGE!

    !FILE! D3.hpl

    data

    ..

    !PAGE!

    !FILE! F4.hpl

    data

    ..

    !PAGE!

    !FILE! DONE.hpl

    !PAGE!

    This means that if you must change a ticket format you have only one file to change, although you have to print it 4 times with different margins. If you are really clever with your word processor, you may be able to include the same ticket format file in 4 different master documents each with different margins.

    > My idea is to combine 4 separate forms in a single page size form at print time.

    See above. Your problem is that each form has fields printed at a specific pixel position on the page.


  3. I have a question in regards to how your software handles multiple line items that may or may not appear in the invoice detail. Does the form have to have multiple rows of the same fields defined to handle the line items or does your software "handle" this situation?

    The form does have to have multiple rows. Originally, the application had to fill in each one, even if that was blanks, eg

    item12,

    cost12,

    That is what you see the sample purchase order code doing.

    We added a command line flag in later versions which instructed Proform to not write out anything if there was no value found for a field name. This had some benefit for allowing programs to be less careful.


  4. FYI only the Barcode GIF on the Proform Sample Page can be found. Yes, I believe that is right. It was a real booger trying to figure out how to convert PCL into .GIF images, and we got lazy.
  5. We are having a problem with remote printing graphic images from SCO, when using Proform. It seems that our embedded bitmaps always contained garbage characters in the final form printout.

    We determined that the problem wasn't Proform, because we did a straight "lp" command using our template and the problem was still there. You suggested to try the "-o raw" option. Unfortunately, it didn't seem to make a difference. So, I'm wondering if this problem is proprietary to SCO. Would you have any other suggestions? :)

    Depending on your printer interface script, the -oraw may not have any effect. Examine the script, located in /usr/spool/lp/admins/lp/interfaces and follow the logic. You are looking for a command like:

    stty -opost 0<&1 1>/dev/null 2>&1

    The -opost is turning off output postprocessing, which is what seems to be hozing your output.


  6. Regarding Proform licensing interpretation. We have a corporate wide license for XXXXXXXX's XXXXX XXXXX system on SCO, with users at 5 separate locations. With that application, came the agreed upon use of Proform. My question, are we covered to use Proform at each of those 5 locations. In other words, do we have a multi-license to use Proform. If the answer is no, then what are the cost implications to get us to that state.

    You have the right to use Proform as it is built into XXXXX XXXXX. You only have the right to DEVELOP Proform applications in one location. In other words, don't make 20 copies of the manual, nor tell 20 different developers to call me and cry on my shoulder.


  7. We can't figure out how to print an "hpl" file since we upgraded to windows 95.

    A .hpl file is merely a PCL printstream which has been printed to disk. Select the windows print driver you want to use, and connect its output to a file.


  8. We will need to deploy with Progress V8 running on Win 3.11 and Win95 clients. Is there an alternative to the dos copy statement to enable us to use the print manager?

    Not presently. That leaves two unpleasant issues regarding the use of Proform on Windoze:

    - As a DOS executable it brings up a window.

    - Printing involves DOS functionality and hence print redirection.

    We have been lazy about the coding necessary to:

    - Make Proform run iconified as a native Windows Application.

    - Make Proform deal with Windows printer selection and I/O.

    This is based on our perception that this task could be more involved than the original creation of Proform itself. This is a sad commentary on Microsoft API calls. So, there is some back-burner work going on to make that happen.


  9. We would like to create the forms using Word 6. Is this possible and practical?

    If you pay attention to using printer resident fonts like Univers it should work ok.


  10. Empty fields appeared in [square_brackets] on our form.

    The normal behavior is that field references not found are left as is. This is done since the [] can appear in legitimate Postscript which has nothing to do with our fillins and should be left alone. You are expected to provide blank values for fields you want blank, eg:

    addr3,

    addr4,

    Now, for people too lazy to do that AND who won't be affected by the postscript issue there is a -s option to change Proform's default behavior. Specify

    proform template.name -s

    and it will eat any [] fields for which it has no values.


  11. I went through the set up of proform and fed it the answer to it's challenge and it did create a validation file BUT our accounting system with a PROGRESS database engine cannot use the program as it continues to send a challenge. Did I do something wrong?

    Something is amiss. Perhaps we are executing a different copy of Proform within your application? A PATH issue? Try this from the command line:

    # type proform

    proform is /usr/local/bin/proform

    # proform dog

    Could not open template file dog; errno 2

    Above is normal output. Either we are validated properly, or not. Then try the same two commands from within your Progress Application.

    Proform expects a validation file to exist in the directory from which it was loaded, and that file has to be readable by it. (meaning the user)

    Assuming the validation was run as user "root" did root have some funky umask which left the file unreadable by anyone else?

    The other possibility is did you copy Proform somewhere else?


  12. We are having trouble printing barcodes on postscript printers. In the file, on a PostScript printer, and using a PostScript viewer, you can see some characters like &f0S *t150R *r1A .... where the barcode is supposed to be, when !BARSET! is not used,

    Which is PCL style graphics glop for data.

    and /CMBarMag 1.0 def~/CMSpcMag when !BARSET! 0 3 0 is used.

    Which is Postscript style glop for graphics data.

    My recollections of fighting with postscript barcode generation was that depending on how you formatted the field you might end up with a situation wherein your [field-name] was actually being printed out by being a literal argument in some demented Postscript macro, conceptually like this:

    200 1000 printme("[mybarcode]")

    so that our attempt to replace that with postscript code was unsuccessful since it resulted in printing the literal value of the postscript code we generated. The resolution involved going into the actual postscript file and tweaking that field reference, which is totally dependent on the driver used.

    You could make your life much simpler and quicker using PCL.


  13. Where did you get pcldump.exe ? Is there a newer copy available? This one has problems reading some of the escape codes from Word97.

    I believe I scored that off of HP's WWW page. (I know that doesn't narrow it down much.)


  14. I have found the text box and the rectange and line to be the most usefull tools in word. Would you happen to have some notes from users that could help me?

    For the most demanding forms, folks are using ECpage if they are cheap and Jetform Design if they are not.


  15. I am trying to recreate the hardest to make forms that we have in proform, both testing for abality and ease of creation/maintance. So far the biggest thing seems to be learning to use word97 to build these forms. Do you have any documents that I could look at to see how you built them? Word,Word-perfect, etc.. Whatever I can convert and see in word.

    The demo should include .wpf (word perfect) files for all the samples. Look in the subdirectories like hp4.


  16. If I use Office95 or Office97 to generate a template that will be used with Proforms, then variable substitution will never occur. This is because Proforms cannot find the variables in the document as a result of all the excess control characters that Windows95 inserts into the document. The bottom line is that Proforms seems to only be compatible with previous versions of Word (ie- 6.0). Do you have any suggestions?

    I suggest that you take a look at the Proform Diagnostic page on our WWW site below, download the hex file viewer, and do some experimentation with your file.

    We suspect that the bottom line will be that while other packages create
    templates which print fields like this:
            glopity-glopety [my-field] glopity-glopety [my-field]
    the version AND FONTS you are picking create templates which look like
            glopity-glopety [ glopity-glopety m glopity-glopety y
    

    In other words, the word processor is deciding to position each and every character. This might be the font, this might be KERNING options which are different from the printer standard. You might be able to either fiddle with it and get it to fly, or even contact Microsoft and talk to someone that understands printer drivers.


  17. I'm trying to generate some barcodes, and all I see are some error codes in the log file. What do they mean?

    -1: Bar Type is not between 1 and 15
    -2: Length of the string is zero, or greater than 30
    -3: Length of the text is zero, or greater than 30
    -4: Printnum is greater than the number of printer types
    -5: Offset is greater than 250
    -6: Height is greater than 20 (2 inches) or less than 1
    -7: Checksum is not 0 thru 2
    -8: Number of overstrike passes is not between 1 and 6
    -9: Incorrect qty or type of chars for that bar code type
    


  18. I need to create a print stream to send to the printer, or really to a fax program that acts like a printer, that is made of these: First page is a fill-in type page, like a cover sheet, The second page and on should just be the text from the program passed streight through, like using the overlay mode in proform. The catch seems to be that I can only choose overlay or fill-in mode, and not a combination of both, but If I run proform twice, I get 2 print streams to work with, and I don't really know how to combine those. So, have I confused ya, or do you happen to have any ideas?

    This might be too simple.   How about
    
            1st run "proform foo.hpl > /tmp/tempfile"
            2nd run "proform -l fum.hpl >> /tmp/tempfile"
            then "cat /tmp/tempfile | lp"
    
    You may want to deal with temp file names, may them unique, whatever.
    


  19. My question has to do with potentially blank lines - I don't want my form to line feed if a line is empty. I am in the process of evaluating Proform. I have written a PO "template" file in Word and have it loaded on my Unix box.

    Philosophically, Proform is for problems where the graphical elements of the form are fixed, and the textual elements (the data) varies.

    
     The PO has a "notes" field that can have anywhere between 0 and 18 lines,
     I don't want for my form to advance 18 lines (for the worse case) if there
     are only 4 lines or so to print.   The form would waste a lot of empty space.
     The same situation could potentially happen with the PO detail records, 
     because, they too have a notes field similar to the PO header note field.
    
    

    So, It looks like: PO Header Item one Description Description Description Item Two Description Description Item Three Description And you might have 18 lines of description for an Item? Do you know any way that I can suppress the potentially blank lines, maybe something I could pass into the variables that says, in effect, "don't line feed"?

    There is no concept of "line feed" in a PCL form. All fields have a vertical and horizontal cursor position. Before every field there is a "move-to" command specifying position.

    Without this ability I see no other way of printing the detail of my report other than sending completely formatted entire lines. For example: (All Header stuff) [1-detail] [2-detail] [3-detail] ... [55-detail] (All footer stuff)

    You need to state what you need to accomplish. One simple approach is to use the Letterhead option, set the font to 16.6 Letter Gothic, and use your existing PO code. The salient question is how many different fonts you want to use. Proportional fonts look nicer, but then you will get bit on justification of numbers.

    Also, the PO can consist of multiple pages. Do I have to layout all potential pages, including a redefinition of my form header based on the maximum size PO my software may encounter? Can I reference the same field arguments within the same document?

    Uhhh, You can readily have a Beginning page format, a body format, and a trailer page format, and instruct Proform to switch templates with the "!FILE!" directive. All your Progress app would need to know is how many line item fields are on each template. Again, we expect the graphics, lines, boxes, cursor positions to be constant. Now, if you were really ambitious you could elect to doctor your form template to force the vertical cursor positions to be [] fields and make Proform change them. Of course at that point I debate how much value Proform is providing you. You would have to keep track of pixel positions yourself.


  20. How does proform search for the template file? Must we allways specify an absolute path? Ex: proform is in /v/proform, and PATH includes /v/proform. Then I can run proform invoice.pcl and it finds proform but not the template. I must say proform /v/proform/invoice.pcl to get proform to find the form. Is there a way to search the path? The path may be different on each system.

    Try: PROFORMPATH=/v/proform export PROFORMPATH before running it. The algorithm is: first try the name as is. if not found, slap $PROFORMPATH on the front and try that.


  21. I tried to use proform to overlay Logo onto existing output from Progress but got some garbage characters on the Logo. Tried to use the raw output mode but still does not solve the problem. Would appreciate if you could help. I am running Progress Version 8.2 in HP.UX 10.01. Attached is the printer script file that I modified to include the raw output mode when -oraw is selected.

    Try something like this: stty 9600 cs8 -parenb ixon clocal cread -opost 0<&1 Unless you do an stty and turn off opost, it don't matter what escape codes you send to the printer.


  22. Re pricing. Do I understand that if I buy the Multi-user Small System licence ($1225 for SCO OS5) then I do not pay further licence fees when I supply Proform to my clients with my system?

    Correct, assuming it is embedded in your application and you do not provide documentation on Proform to your clients.


  23. What about WINNT?

    Presently we have a DOS .exe file, which seems to work ok on Win, Win95, and NT. It does require that you have printer networking setup to redirect LPT ports for dos.


  24. I have a form that has 3 barcodes on it, which works ok, except that they are not all the same density, but the !BARSET! command will only change the whole page. I need to be able to make each one different compressions.

    Hmm. It would be a non-trivial rewrite to change the pixels per bar and store that on a per field basis.

    HOWEVER. What you might consider doing is running separate invokations of Proform just to create the other barcode, and store that in a temporary file. Then use the !INCLUDE! to insert that temporary file containing the other barcode PCL into your output stream. See page 13 of the docs for details on that.

    [Later note: this was implemented in 1.39.1.11]


  25. Say, do you already have a way to cause proform to just ignore lines that don't have a comma in them. Now, it sends an error to stderror and then stops, which then causes errors from the print service and so on. This is very not user friendly. Can I make proform just skip lines that don't make sence and continue on? What do ya think?

    The -S option makes it skip fields for which it has no replacement value. For instance, if there is a field named [price10] in the template, and you have not supplied a value, normally it would spit the field back out verbatim. With the -S it will suppress it.

    It you elect to use the -S, beware that some Postscript files may actually use [something], so the -S might wonk that file.


  26. We have a template (printed from a word doc using a laserjet 4 interface), which prints ok when sent directly to the printer or when anything is input, except when there are BARCODE commands in the input. The BARCODE command seems to mess up the graphic but the barcodes are fine. Without the BARCODE commands in the input, the output is fine. The output should be a label with a logo taking the top half of the page. What is hapining?

    Hmmm. Our laser is a Brother HL-4, which is essentially a LJIII, so your output.bi and your template.bi print elcrapo on my printer.

    When I run the output.bi through pcldump, I see that you are defaulting to 600 DPI graphics for your logo.

    00053 [1b]E -> Reset^M 00055 [1b]*t600R -> Raster graphics resolution: 600^M 0005c [1b]&u600D -> !BAD ESCAPE SEQUENCE!^M The barcode generation code is going to switch the printer to 150 or 300 DPI depending on your defaults. 0089c [1b]&f0S -> Push/pop cursor position: push^M 008a1 [1b]*t150R -> Raster graphics resolution: 150^M 008a8 [1b]*r1A -> Start raster graphics: current cursor position^M I have seen cases where this causes a logo on screen to be MUCH bigger than intended. The obvious remedy is to place a field after the barcodes, into which you stuff a command to reset the graphics back. Proform supports the following special characters: case 'e': /* Escape */ case 'f': /* Form Feed */ case 'n': /* Line Feed */ case 'r': /* Carriage Return */ case 't': /* Tab */ So the following Proform Input might do it: fixme,\e*t600R


  27. I am trying to work with your invoice sample in Word 97, but once I import it and try print to disk, I don't get any substitutions made.

    Try running this simple script on your file: strings $* | grep '\[*\]' | pg You should see the fields, after a bunch of glop: dM]Lq$0 dM]Lq$ ++]q+ ]qr%!632 ]q+++ *p1438X[toname] *p2638XDATE: [date] *p3838XTERMS: [terms] *p1438X[toaddr1] *p1438X[toaddr2] *p2638XATTN: [attn] *p3838XPO #: [ponum] *p150X [q1] *p1050X[descr1] *p4050X[expr1] *p150X [q2] *p1050X[descr2] *p4050X[expr2] *p4050X[frt] *p4050X[tot] )s4101t3b1s24v1P[comment] We have noticed that Word tends to try and make some "helpful" suggestions regarding the translation of fonts from WP to Word. In importing our samples, it decides to make all the fonts CONDENSED SPACING. This results in it repositioning each character in a string, so the word INVOICE becomes: 070b9 I^M 070ba [1b]*p-2X -> Horizontal cursor position (dots): -2^M 070c0 N^M 070c1 [1b]*p-2X -> Horizontal cursor position (dots): -2^M 070c7 V^M 070c8 [1b]*p-2X -> Horizontal cursor position (dots): -2^M 070ce O^M 070cf [1b]*p-2X -> Horizontal cursor position (dots): -2^M 070d5 I^M 070d6 [1b]*p-2X -> Horizontal cursor position (dots): -2^M 070dc C^M 070dd [1b]*p-2X -> Horizontal cursor position (dots): -2^M 070e3 E^M 070e4 [1b]*p-2X -> Horizontal cursor position (dots): -2^M The solution is to block over the field markers in question, Click Format->Font->Character Spacing, Select Spacing: Normal, turn off kerning, then Apply it.


  28. Could you elaborate more on setting up a graphic file to be included at run time? I want to include small product pictures on an invoice.

    Starting with the "cardking.wpg" file as a sample, I loaded it into Paintshop Pro, and set the page setup to make the image .95" big. I printed it to disk using our HL-4 driver. When I dumped the file with pcldump, I saw this: 00000 [1b]E -> Reset 00002 [1b]&l0S -> Simplex/duplex print: simplex 00007 [1b]&l0L -> Perforation skip: disable 0000c [1b]*r0F -> Raster graphics presentation: orientaion 00011 [1b]&l0O -> Logical page orientation: portrait 00016 [1b]&l1H -> Paper source: upper tray 0001b [1b]&l2a -> Page size: Letter 00020 4d -> Line spacing: 4 00022 1e -> Top margin (lines): 1 00024 42F -> Text length (lines): 42 00027 [1b]*t300R -> Raster graphics resolution: 300 0002e [1b]&l1X -> Number of copies: 1 00033 [1b]&l0S -> Simplex/duplex print: simplex 00038 [1b]*b0M -> Set compression mode: unencoded 0003d [0d] 0003e [1b]*p1443Y -> Vertical cursor position (dots): 1443 00046 [1b]*p1056X -> Horizontal cursor position (dots): 1056 0004e [1b]*r1A -> Start raster graphics: current cursor position 00053 [1b]*b2M -> Set compression mode: TIFF 00058 [1b]*b8W -> Transfer raster data (bytes): 8 00065 [1b]*b8W -> Transfer raster data (bytes): 8 . . . 0231b [1b]*b12W -> Transfer raster data (bytes): 12 0232d [1b]*b10W -> Transfer raster data (bytes): 10 0233d [1b]*b10W -> Transfer raster data (bytes): 10 0234d [1b]*rB -> End raster graphics: 02351 [0c] 02352 [1b]E -> Reset I can see that I don't want any of the commands in bytes 0 through 26. I also don't want the cursor positioning in bytes 2e through 4d. And down at the end, I don't want the formfeed or the reset. So, I can use FM or Hexedit.exe on this file and replace those offending commands with the null 0x00 character: File: cardking.prn Byte: 4e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 20 00 00 00 00 00 00 00 1b 2a 74 33 30 30 52 00 00 ........*t300R.. 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 l1X.&l0S.*b0M... 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1b 2a ...............* 50 72 31 41 1b 2a 62 32 4d 1b 2a 62 38 57 ff 00 00 r1A.*b2M.*b8W... 60 7f e2 ff 00 c0 1b 2a 62 38 57 02 00 03 80 e2 00 ......*b8W...... 70 00 38 1b 2a 62 38 57 02 00 03 80 e2 00 00 38 1b .8.*b8W.......8. 80 2a 62 37 57 01 00 0c e1 00 00 06 1b 2a 62 37 57 *b7W........*b7W 90 01 00 30 e1 00 00 01 1b 2a 62 37 57 01 00 30 e1 ..0.....*b7W..0. a0 00 00 01 1b 2a 62 37 57 01 00 40 e0 00 00 c0 1b ....*b7W..@..... b0 2a 62 37 57 01 00 40 e0 00 00 c0 1b 2a 62 37 57 *b7W..@.....*b7W c0 01 00 40 e0 00 00 c0 1b 2a 62 37 57 01 01 80 e0 ..@.....*b7W.... d0 00 00 20 1b 2a 62 37 57 01 01 80 e0 00 00 20 1b .. .*b7W...... . e0 2a 62 37 57 01 01 80 e0 00 00 20 1b 2a 62 37 57 *b7W...... .*b7W f0 01 01 80 e0 00 00 20 1b 2a 62 37 57 01 01 80 e0 ...... .*b7W.... 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef ^f/pgdn=forward ^h/f1=hex ^x/f3=find hex ^u/f5=undo ^g/f7 =goto ^b/pgup=backward ^a/f2=ascii ^t/f4=find ascii ^p/f6=print ^d/f10=done File: cardking.prn Byte: 2354 00 64 93 6d 82 60 00 3f ff ff 1b 2a 62 31 32 57 01 d.m.`.?...*b12W. 10 01 c0 fa 00 05 03 ff f0 01 9f 80 1b 2a 62 31 32 ............*b12 20 57 01 01 c0 fa 00 05 03 ff f0 01 9f 80 1b 2a 62 W.............*b 30 31 30 57 f6 00 02 0f fd e0 f1 00 00 78 1b 2a 62 10W.........x.*b 40 31 30 57 f6 00 02 0f fd e0 f1 00 00 78 1b 2a 72 10W.........x.*r 50 42 00 00 00 B... 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef The resultant file can be used as an insert according to the notes on page 13 of our reference manual.


    3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3