SANFACE Software: the developer of txt2pdf

txt2pdf PRO

Developed by SANFACE Software
Version 11.1 25 April 2017

What is txt2pdf PRO?

txt2pdf PRO 11.x is a very important release in the evolution of txt2pdf 10.x PRO and is the PRO version of txt2pdf 11.x.  We distribute txt2pdf PRO only in executable binaries, but under special circumstances, source code can be provided.  This binary-only outlook makes it easier to install, and simpler to use.  You don't need Perl, nor any of the Perl modules or libraries.  There are also new exciting features in the PRO version that are not available in the regular version.  Your old textual reports will become very pleasing graphical PDF reports.  Your applications can simply harness and integrate the power of txt2pdf PRO.

Why do you need txt2pdf PRO?

txt2pdf PRO offers you all the features of txt2pdf 11.x plus these important features:

  • compress to make compressed pdf and compress_level to set the compression level new
  • optimize to make an optimize pdf code new
  • Form Feed (^L) support
  • -skip1ff option to skip the first form feed
  • the possibility to set the top and left margins
  • Using inside the text, at the begin of a new page (e.g. after the form feed) the marker #!landscape# you can force the single page to become landscape.
  • inside layers (background and foreground) you can use the same txt2pdf features plus
    #!image#;;;;;;;;#!/image# to add RGB jpeg images
    #!link#;;;;#!/link# to add links
  • outline feature to set in outline.txt the rules for bookmarks new
  • Setting mainframe : 1 you can simply convert textual mainframe reports. At the moment this feature support in the first column 0, 1, -, +. If you need other support contact us. new
  • You can use colours, fonts, links, etc with your personal or standard tags
  • begin1 to change the background of the first page and bgdesignlast to change the background of the last page
  • the possibility to set the position (x,y) of the annotation icon in the first page.
  • possibity to ask an executable with outside the libraries (to support multitasking). new

Getting txt2pdf PRO and License

txt2pdf PRO is a PERL tool.
We distribute only 6 executable versions: Windows, Linux, Solaris, HP-UX, AIX, Mac OS X.

You can freely redistribute txt2pdf PRO tool in its unregistered archive format (zip or tar.gz)  You may request other UNIX executables (Linux like Slackware and Caldera, Linux on mips, OSF/1 (Tru64), FreeBSD, BSD/OS, OpenBSD, IRIX) or the original PERL code. 
In the event that we send you the original perl code:
You can't modify directly it.
You can't resell txt2pdf or a modify version of it without SANFACE Software authorization.
You can't copy part of it to include in your source without SANFACE Software authorization.

We trust you.

Registration

The registration fee is for every server license
$1100 (US) for 1 CPU computer + $50 for every phisical core
e.g. the price for a server 2 quad cpus (processors): 2 x 4 = 8 cores is
$1100 + 7 x $50 = $1450
$1500 (US) for 1 CPU virtual computer + $50 for every virtual core
Pay attention: if you have a virtual server with 5 virtual machine that runs 5 txt2pdf PRO process, you need 5 txt2pdf PRO licenses (virtual).

You can buy our software at ShareIt.  To purchase txt2pdf PRO if you need less than 5 licences use:
txt2pdf PRO less than 5 license (remember to select the total number of physical cores. e.g. if you need 2 server licenses: one a 4 quad processor server and one a 4 bi processor server you have to add the additional cores: 4x4 - 1 + 4x2 - 1 = 15 + 7 = 22

For virtual servers
txt2pdf PRO less than 5 license (remember to select the total number of physical cores. e.g. if you need 2 server licenses: one a 4 quad processor server and one a 4 bi processor server you have to add the additional cores: 4x4 - 1 + 4x2 - 1 = 15 + 7 = 22

UPGRADE POLICY

You can upgrade txt2pdf PRO 8.x, 9.x and 10.x to the new version with the discount of the amount you previously paid + a fix fee for every license:

  • $350 for 10.x
  • $450 for 9.x
  • $600 for 8.x

For example, if you paid $1050 for your 10.x copy of txt2pdf PRO and the new version costs $1100, you will pay $1100 - $1050 + $350 = $400.
If you registered a previous release (1.x, 2.x, 3.x, 4.x, 5.x, 6.x, 7.x) you have to buy a new license.
Contact us via email at sanface@sanface.com for more information on how to upgrade your version.

VOLUME DISCOUNT (contact us)

5-10   $1050 each (no CPU server difference)
11-100   $950 each (no CPU server difference)
For virtual servers
5-10   $1450 each (no CPU server difference)
11-100 $1350 each (no CPU server difference)

RESELLER DISCOUNT

Contact directly us! We're looking for resellers and partnerships.

NO LIMIT LICENCE

You've one or more products with a lot of installations and you want to put txt2pdf inside your every tool. This is the licence you're looking for.  Its costs: $50000 + 20 % every year. Obviously you'll receive every update freely.

Installing txt2pdf PRO

Here we'll describe only the new features of the PRO version. If you don't know about the txt2pdf 11.x features, please read this.

Inside txt2pdf.cfg or your configuration files these are the new fields: topmargin, leftmargin, bgdesign1, bgdesignlast, bgdesign1no, fgdesign1, colour, fontmark, link, outline, npagex, npagey, compress, compress_level, rotate, optimize, annotationtext, annotationx, annotationy, inputmod, outputmod, mainframe.

The layer features are:

  • bgdesign background layer in every PDF page
  • bgdesign1 background layer only in the first page
  • bgdesignlast background layer only in the last page
  • bgdesign1no background layer in every page without the first (and the last if begingdesignlast exists)
  • fgdesign foreground layer in every page
  • fgdesign1 foreground layer only in the first page

Inside the layers (bgdesign, bgdesign1, begindesignlast, bgdesign1no, fgdesign, fgdesign1) you can use directly the PDF syntax to design and to write, you can import JPEG image, you can use links.

These are a few examples to explain how you can write or design directly with PDF syntax:
If you want to put on every generated page a bold big diagonal DRAFT, you can use the foreground file with
REMBER to put the text instruction inside BT and ET

      BT
      /F3 55 Tf
      .5 .5 -.5 .5 150 455 Tm
      (DRAFT) Tj
      ET

/F3 means use the bold Courier font, 55 is the point size.
The meaning of the first line is: use the bold Courier font with point size 55.
The meaning of the second line is: start form point (150,455) and write diagonal.
The meaning of the third line is: write DRAFT.
With defaultfont you can set the font you want to use to convert the text, with usedfonts you can set the list of fonts you want to use also in background and with the fontmark feature.
The default defaultfont value is F1 (normal Courier). The default value of usedfonts is defaultfont 
These the 14 PDF default fonts:

  • /F1 normal Courier
  • /F2 italic Courier
  • /F3 bold Courier
  • /F4 bolditalic Courier
  • /F5 normal Helvetica
  • /F6 italic Helvetica
  • /F7 bold Helvetica
  • /F8 bolditalic Helvetica
  • /F9 normal Times
  • /F10 italic Times
  • /F11 bold Times
  • /F12 bolditalic Times
  • /F13 Symbol
  • /F14 ZapfDingbats

these 8 japanese fonts (you have to install Adobe Japanese fonts):

  • /F20 HeiseiMin-W3-90ms-RKSJ-H
  • /F21 HeiseiMin-W3-90ms-RKSJ-H italic
  • /F22 HeiseiMin-W3-90ms-RKSJ-H bold
  • /F23 HeiseiMin-W3-90ms-RKSJ-H bolditalic
  • /F24 HeiseiKakuGo-W5-90ms-RKSJ-H
  • /F25 HeiseiKakuGo-W5-90ms-RKSJ-H italic
  • /F26 HeiseiKakuGo-W5-90ms-RKSJ-H bold
  • /F27 HeiseiKakuGo-W5-90ms-RKSJ-H bolditalic

4 traditional chinese font (you have to install Adobe traditional Chinese fonts):

  • /F30 PMingLiU ETen-B5-H
  • /F30 PMingLiU ETen-B5-H italic
  • /F30 PMingLiU ETen-B5-H bold
  • /F30 PMingLiU ETen-B5-H bolditalic

4 simplified chinese font (you have to install Adobe simplified Chinese fonts):

  • /F35 STSong GB-EUC-H
  • /F35 STSong GB-EUC-H italic
  • /F35 STSong GB-EUC-H bold
  • /F35 STSong GB-EUC-H bolditalic

these 4 korean fonts (you have to install Adobe Korean fonts):

  • /F40 HYSMyeongJoStd KSCms-UHC-H
  • /F41 HYSMyeongJoStd KSCms-UHC-H italic
  • /F41 HYSMyeongJoStd KSCms-UHC-H bold
  • /F41 HYSMyeongJoStd KSCms-UHC-H bolditalic

or the embedded true type fonts you have selected. We suggest you to start them from /F50. It's not simple to configure embedded true type font. We suggest you to test the examples you can find in ETTtests directory (barcode,Cyrillic,linedraw,music) and contact us to costomize different true type fonts.
If you want to design, for instance, a gray background with a black border line, you can use the background file with

      .9 g
      0 G
      3 w
      25 25 545 792 re
      B

The meaning of the first line is: inside the rectangle use gray (0 is black, 1 is white)
The meaning of the second line is: the line is black
The meaning of the third line is: the width of the line is 3
The meaning of the fourth line is: the rectangle is (25,25) (545,792)
The meaning of the fifth line is: design

You can find the information about the PDF syntax you can use in the layers directly in The PDF Reference Manual Version 1.3  (518 pages, ~5 Mb) in the Chapter 8 (Page Descriptions).

To use JPEG images inside layers you need to use this syntax:
#!image#image.jpg;image_width;image_high;z1;z2;z3;z4;x_position;y_position#!/image#
The first field is exact path where txt2pdf PRO can find the image (you can use also relative path)
These are a few examples:
./filename.jpeg
Z:/my_network_directory/file.jpg
The second and the third fields are the exactly width and high dimension of the image (to find it simply you can open the jpeg inside Netscape. It'll display like title the dimension)
4th, 5th, 6th, 7th fields are very powerful and complex. You can use it to scale, rotate the image.
At the beginning we suggest you to use
z1=image_width, z2=0, z3=0, z4=image_width
to scale correct an image to divide or multiple z1 and z4 for the same integer
You can find the information about the PDF transformation syntax in The PDF Reference Manual Version 1.3  (518 pages, ~5 Mb) in the Chapter 3.9.
8th and 9th fields are the x and y position on the page (0,0 the bottom left corner)
To introduce a link this is the syntax
#!link#url_field;x1;y1;x2;y2#!/link#
where the first field is the url
2nd, 3th fields are the left bottom point of the rectangle of the link
4th, 5th fields are the right up point of the rectangle of the link
This is a simple example of an image with a link up
   #!image#./stamp150.jpg;113;150;113;0;0;150;470;390#!/image#
   #!link#http://www.sanface.com;470;390;583;540#!/link#

Remember when you use the background layers this is the order that every object is displayed:

  1. Images with the order you introduce.
    e.g. if two images have a common area the second image you put in the background layer will cover the common area of the first image
  2. text and designs with the order you introduce over all the images

If you want to put some text or designs under the images you can use text and designs inside the tags
#!bgdesign#
...
#!/bgdesign#
e.g. to make a red background under every images you can use a coloured rectangle with the border of the same colour and the same dimension of the paper

   #!bgdesign#
   1 0 0 rg
   1 0 0 RG
   0 0 792 612 re
   B 
   0 G
   0 g
   #!/bgdesign#

Inside the backgound layers you can use also #!year# #!mon# #!mday# #!hour# #!min# #!sec# #!yday# #!wday# #!isdst# to use the computer clock to set year, month ... (you can read the perl manual in the part perlfun: localtime).

If you've created your layers probably you need to move all your text to put it correctly on the page. You can use topmargin and leftmargin to set the starting point of the text in every page.
With annotationtext you can introduce the text you want to put in the annotation on the first page of your document. With annotationx and annotationy you can set the position of the annotation
If you set outline to 1 (default is 0) the final pdf code will be optimezed.
Every Form Feed is automatic converted into a new PDF page
How to configure colour, fontmark, link and outline files.
This is the NEW syntax you need to use inside the file you've defined with the colour variable
string1;string2;string3;number:number:number
(We've added the first 2 field. If you don't use the first 2 fields you've the same effect of the old syntax)
where number is > 0 < 1 (the PDF rgb syntax) or is > 0 < 255 (standard rgb system)
string3 is every string you want to mark with the selected colour
e.g. ;;TOTAL FEDERAL GST ACTIVE;160:40:200
With txt2pdf PRO you can change phrases with all the colour you want.
We use this line to mark blue every link. Obviously you can change it with your perferred colour
;;http://[^ \n]*;0:0:1
;;ftp://[^ \n]*;0:0:1
;;mailto:[^ \n]*;0:0:1
;;mime:[^ \n]*;0:0:1
;;https://[^ \n]*;0:0:1
;;file:[^ \n]*;0:0:1
;;ldap:[^ \n]*;0:0:1
;;news:[^ \n]*;0:0:1
You can use the PERL regular expression
e.g. ;;^Total federal.*active$;.7;.8;.2
You can use the first two fields to set your tags and to delete them and to change the colour to the string inside the third field (remember you can use this syntax only in the same line).
e.g. <blu>;</blu>;#!btag#.*#!etag#;0:0:1
means: the start tag is <blu> , the end tag is </blu> delete the tags an use the 0,0,1 colour (blue) to every word (.*) inside <blu> (#!btag#) and </blu> (#!etag)
X11 and PostScript RGB map
This is the NEW syntax you need to use inside the file you've defined with the fontmark variable
string1;string2;string3;font;pointsize
(We've added the first 2 field. If you don't use the first 2 fields you've the same effect of the old syntax)
where font is one from /F1 to /F14, and pointsize is a number (the dimension of the font)
e.g. ;;TOTAL GRAHAM PIES OLD;/F7;14
This means: change the default font to the bold Helvetica font with point size 14 in every string "TOTAL GRAHAM PIES OLD"
With txt2pdf PRO you can change phrases using the default 14 fonts with every point size.
You can use the PERL regular expression.
You can use the first to fields to set your tags and to delete them and to change the font to the string inside the third field (remember you can use this syntax only in the same line).
e.g. <b>;</b>;#!btag#.*#!etag#;/F5;14
means: the start tag is <b>, the end tag is </b> delete the tags an use the /F5 font with pointsize 14 to every word (.*) inside <b>(#!btag#) and </b>(#!etag#)
This is the syntax you need to use inside the file you've defined with the outline variable
string;page_number string is the text you'll see in the bookmark to jump to the page page_number
This is the syntax you need to use inside the file you've defined with the link variable

  • string;number means: transform the string into a link to the 'number' page
  • string;URL means: transform the string into a link to the URL
  • string;mime:... means: transform the string to a start point to execute the correct program to read the file
    e.g. CIAO:mime:ciao.doc pushing on ciao link will be started Word that will read ciao.doc (this works very good on Windows)
  • string;string2 means: transform the string into a link to the page of the first occurrence of string2

You can use the same syntax also with the link mark inside the layouts.
With npagex and npagey you can set the position on the page of the page number
You can use compress inside the configuration file or if you prefer -compress option.
With compress_level you can set the compression level. Valid values are 1 through 9, (1 Z_BEST_SPEED, 9 Z_BEST_COMPRESSION). 6 Z_DEFAULT_COMPRESSION.
With inputmod you can set a file where txt2pdf PRO will execute the commands in every line on the input text. Using this feature you can create ad hoc filters. e.g. we have made a mainframe.pl filter to convert textual mainframe reports into textual unix (it convert 1 in the first column into form feed, 0 in the first column into \n, ...)
In our example the inputmod file is
perl mainframe.pl #!input#
With outputmod you can set a file where txt2pdf PRO will execute the commands in every line on the input text. Using this feature you can execute external command on the pdf outputs. e.g. you can move the pdfs in a web directory or send them via email or to a fax or ...
Setting mainframe to one you can convert textual mainframe reports. txt2pdf supports in the first column 0, 1, +.
+ in the first column means write the line over the previous line (don't insert a new line). You can use + to make underline and bold.
This is an underline example
 undeline
+________
This is a bold example
 BOLD
+BOLD

Syntax

txt2pdf [-options] files

these are the new options:

-compress   to generate compressed PDF's
-skip1ff    to skip the first form feed

list: with list you can use metacharacters and relative and absolute path name

Form Feed

txt2pdf PRO substitutes every form feed with the exact number of EOL (end of line \n).
This means that if you have set line number to equal 80, if txt2pdf finds the form feed in the line 41, it will substitute the form feed with 40 \n.
The simplest way is to substitute the form feed with the syntax of a new PDF page, but with this way it is very complex to know, like designing the rectangle of links (in PDF a link is a rectangle area on the page around the word or words).
We've chosen the first method.

Our txt2pdf PRO executables are generated by perl2exe tool