What's New in Pcl2pdf V6.9? Since v5.0...
Pcl2pdf V6.9
Support for user specified temporary file directory using -TEMP:"..." switch
Implemented new -IFF switch to suppress blank page generation on form feed when no data on page
Implemented 24-bit RGB PCL colour support, in conjunction with LBM Systems' AXIAR Imaging, with opacity and transparency and within macros
New -PC switch for print copies, -PS and -PE for print range start and end and -PM for PDF Print Settings
Implemented “IBM DOS” style line and box drawing character support
Implemented Euro character in HP 9N and 13U symbol sets
Implemented right and centre justified text printing using HP-GL/2 LO command
Implemented “white text” printing
Implemented PCL raster graphics “mode 5” adaptive compression
Implemented various PCL code fixes and enhancements
Improved PCL duplex paper handling support
Improved PCL “offset registration” support, including for 90 degree rotated portrait pages
Improved HP-GL/2 support
Developed using Microsoft Visual Studio 2010
Pcl2pdf V6.0 concentrates on 128 bit encryption support, power, performance and stability features
Support for PDF 128 bit encryption. 128 bit encryption is used in many products, including PDF and web browsers, and is now considered to be the minimum acceptable level of encryption security required for serious, professional use. For PDF documents 128 bit encryption also provides more document related options with regard to permitting or disallowing certain form field fill-in and document content extraction operations. More power and control for the author to specify. Use the new Pcl2pdf V6.0 -EF:X switch to specify the maximum level of restriction
Support for custom page sizes using -CUSTOM -CPW:# and -CPH:# switches. For print files that do not use any PCL page size commands Pcl2pdf V6.0 can generate custom PDF page sizes using paper size values defined by the -CPW:# and -CPH:# switches. This new functionality is enabled by the -CUSTOM switch. Custom page sizes are useful for documents representing cheque or bank statements
Support for different PDF document file versions using -PDF:"..." switch. Previous versions of Pcl2pdf up to and including V5.5 generated PDF documents defined as version 1.2. Pcl2pdf V6.0 now defines the output PDF documents as version 1.4. Use this switch to specify a different PDF version to be written into the document output. Some third party readers and applications expect a given PDF document file version so using this switch can be helpful
Continued code fixes relating to: Character spacing and kerning, top offset registration, unit of measure switching, shaded bitmapped soft fonts with PDF data compression and more
Previously new with Pcl2pdf V5.5
Support for PDF initial view settings using -IV:".." switch. Pcl2pdf can apply settings to the output PDF document to control the initial appearance of the document in Adobe® Acrobat®. Such settings include hiding the menu, tool bar, scrolls bars, navigation controls, resizing the windows, displaying pages in columns, hiding or showing document outlines or thumbnails. Some options are mutually exclusive and not intended for use together. Ultimately their usage is dependent on the viewer's ability to implement them. There will be implementation differences between full and Reader® versions of Adobe® Acrobat® as well as documents embedded within browser windows
Support for the pre-compilation of PCL forms overlay macros using -FX:".." switch. Pcl2pdf can now pre-compile PCL forms overlay macros at runtime into PDF "XObjects". For some PCL print files of the traditional form plus data report format this may provide significant conversion performance increases and reduction in output PDF file sizes. Such types of PCL print files typically include the background form once as a PCL macro and call it to be printed on each subsequent page. Up until V5.0 Pcl2pdf was forced to render the form on every page of the PDF document output. Now Pcl2pdf V5.5 can often generate a single PDF XObject for the form and then call it to be rendered by the viewer on each page of the output
Significant power, performance and stability improvements
Temporary file usage has been significantly reduced during conversion increasing overall performance and also reliability
The former -R:# "RAM" buffer switch has been removed as the functionality provided has been replaced
The conversion performance for long PCL print files has been significantly improved. This should be noticeable on files of more than a few '000 pages.
PCL forms overlay macro pre-compilation implemented offering significant conversion performance increases and reduction in output PDF file sizes
Support for basic conversion timing information using -TIME switch. Information is provided in terms of pages converted per minute based on the elapsed clock and cpu time
Basic support for the HP 11U PC-8 Danish/Norwegian, 19U Windows 3.1 Latin 1 symbol sets added
The formerly undocumented -RUF command line switch has been removed as the functionality provided has been replaced
Internal memory leak fixed reducing and stabilising memory footprint on Windows servers. Resource usage reduced also
Non-overlapped, synchronous processing added to the Pcl2pdf 32 bit Windows DLL and ActiveX OCX components providing additional stability for web server based installations
Support for piping in PCL print data from the stdin console added. Pcl2pdf can now accept PCL print data piped in from the stdin console. This can be particularly useful for Unix developers wishing to script the conversion process and avoid unnecessary temporary files. Example console command line usages are:
C> type test.pcl | PCL2PDF con test.pdf -pages (Windows)
cat test.pcl | ./PCL2PDF con test.pdf -pages (Unix)
The pseudo filename "con" instructs Pcl2pdf to read the PCL print data from stdin instead of a disk based file. Note that Pcl2pdf cannot write the output PDF document data to stdout due to the highly structured and cross referenced nature of the PDF file format specification.
Support for non-overlapped, synchronous processing added to the Pcl2pdf 32 bit Windows DLL and ActiveX OCX components. Generally the Pcl2pdf 32 bit Windows DLL and ActiveX OCX components are not thread safe and so not recommended for use in multiple instance environments without careful implementation. The DLL itself is not multithreaded. A lock is now available though with the DLL to ensure no overlapped processing when conditions make this necessary, for example in web server based installations. This lock is implemented by way of a Windows "Mutex". This can force synchronous access to the PCL to PDF conversion routine. When enabled the DLL will wait a specified number of seconds if access is blocked (the convertor is already busy) returning codes 5 or 6 if access to the conversion routine cannot then be obtained. It is understood that the mutex will synchronise access across processes and threads, not just across threads within a single process. Note that by default the Pcl2pdf 32 bit Windows DLL and ActiveX OCX components will continue to function the same way as with Pcl2pdf V5.0; using no mutex or timeout. The Pcl2pdf ActiveX OCX control calls down to the DLL and a method is provided to enable this functionality. To enable the mutex you must additionally call the method UseMutexWithTimeout passing the timeout value (in milliseconds). This value corresponds to that used by the Windows WaitForSingleObject function. Calling the OCX UseMutexWithTimeout function enables the use of the mutex. Once called you cannot disable use of the mutex without instantiating the Pcl2pdf object again. Calling the method ResetDefaults subsequently will not affect it either. An example Visual Basic usage is:
Dim oPCl2PDF As Object
oPCl2PDF = CreateObject("PCL2PDFDEVLIB.Pcl2pdfDevLibCtrl.1")
oPCl2PDF.UseMutexWithTimeout(5000) ' 5 seconds timeout
Err = oPCl2PDF.ConvertPcl2Pdf(InPCL,outPDF)
If the Pcl2pdf mutex times out or fails ConvertPcl2Pdf will return 5 or 6, normally 5. You can check this return value from your application and decide what action to take
Support for user specified temporary file directory using -TEMP:"..." switch
Implemented new -IFF switch to suppress blank page generation on form feed when no data on page
Implemented 24-bit RGB PCL colour support, in conjunction with LBM Systems' AXIAR Imaging, with opacity and transparency and within macros
New -PC switch for print copies, -PS and -PE for print range start and end and -PM for PDF Print Settings
Implemented “IBM DOS” style line and box drawing character support
Implemented Euro character in HP 9N and 13U symbol sets
Implemented right and centre justified text printing using HP-GL/2 LO command
Implemented “white text” printing
Implemented PCL raster graphics “mode 5” adaptive compression
Implemented various PCL code fixes and enhancements
Improved PCL duplex paper handling support
Improved PCL “offset registration” support, including for 90 degree rotated portrait pages
Improved HP-GL/2 support
Developed using Microsoft Visual Studio 2010
Pcl2pdf V6.0 concentrates on 128 bit encryption support, power, performance and stability features
Support for PDF 128 bit encryption. 128 bit encryption is used in many products, including PDF and web browsers, and is now considered to be the minimum acceptable level of encryption security required for serious, professional use. For PDF documents 128 bit encryption also provides more document related options with regard to permitting or disallowing certain form field fill-in and document content extraction operations. More power and control for the author to specify. Use the new Pcl2pdf V6.0 -EF:X switch to specify the maximum level of restriction
Support for custom page sizes using -CUSTOM -CPW:# and -CPH:# switches. For print files that do not use any PCL page size commands Pcl2pdf V6.0 can generate custom PDF page sizes using paper size values defined by the -CPW:# and -CPH:# switches. This new functionality is enabled by the -CUSTOM switch. Custom page sizes are useful for documents representing cheque or bank statements
Support for different PDF document file versions using -PDF:"..." switch. Previous versions of Pcl2pdf up to and including V5.5 generated PDF documents defined as version 1.2. Pcl2pdf V6.0 now defines the output PDF documents as version 1.4. Use this switch to specify a different PDF version to be written into the document output. Some third party readers and applications expect a given PDF document file version so using this switch can be helpful
Continued code fixes relating to: Character spacing and kerning, top offset registration, unit of measure switching, shaded bitmapped soft fonts with PDF data compression and more
Previously new with Pcl2pdf V5.5
Support for PDF initial view settings using -IV:".." switch. Pcl2pdf can apply settings to the output PDF document to control the initial appearance of the document in Adobe® Acrobat®. Such settings include hiding the menu, tool bar, scrolls bars, navigation controls, resizing the windows, displaying pages in columns, hiding or showing document outlines or thumbnails. Some options are mutually exclusive and not intended for use together. Ultimately their usage is dependent on the viewer's ability to implement them. There will be implementation differences between full and Reader® versions of Adobe® Acrobat® as well as documents embedded within browser windows
Support for the pre-compilation of PCL forms overlay macros using -FX:".." switch. Pcl2pdf can now pre-compile PCL forms overlay macros at runtime into PDF "XObjects". For some PCL print files of the traditional form plus data report format this may provide significant conversion performance increases and reduction in output PDF file sizes. Such types of PCL print files typically include the background form once as a PCL macro and call it to be printed on each subsequent page. Up until V5.0 Pcl2pdf was forced to render the form on every page of the PDF document output. Now Pcl2pdf V5.5 can often generate a single PDF XObject for the form and then call it to be rendered by the viewer on each page of the output
Significant power, performance and stability improvements
Temporary file usage has been significantly reduced during conversion increasing overall performance and also reliability
The former -R:# "RAM" buffer switch has been removed as the functionality provided has been replaced
The conversion performance for long PCL print files has been significantly improved. This should be noticeable on files of more than a few '000 pages.
PCL forms overlay macro pre-compilation implemented offering significant conversion performance increases and reduction in output PDF file sizes
Support for basic conversion timing information using -TIME switch. Information is provided in terms of pages converted per minute based on the elapsed clock and cpu time
Basic support for the HP 11U PC-8 Danish/Norwegian, 19U Windows 3.1 Latin 1 symbol sets added
The formerly undocumented -RUF command line switch has been removed as the functionality provided has been replaced
Internal memory leak fixed reducing and stabilising memory footprint on Windows servers. Resource usage reduced also
Non-overlapped, synchronous processing added to the Pcl2pdf 32 bit Windows DLL and ActiveX OCX components providing additional stability for web server based installations
Support for piping in PCL print data from the stdin console added. Pcl2pdf can now accept PCL print data piped in from the stdin console. This can be particularly useful for Unix developers wishing to script the conversion process and avoid unnecessary temporary files. Example console command line usages are:
C> type test.pcl | PCL2PDF con test.pdf -pages (Windows)
cat test.pcl | ./PCL2PDF con test.pdf -pages (Unix)
The pseudo filename "con" instructs Pcl2pdf to read the PCL print data from stdin instead of a disk based file. Note that Pcl2pdf cannot write the output PDF document data to stdout due to the highly structured and cross referenced nature of the PDF file format specification.
Support for non-overlapped, synchronous processing added to the Pcl2pdf 32 bit Windows DLL and ActiveX OCX components. Generally the Pcl2pdf 32 bit Windows DLL and ActiveX OCX components are not thread safe and so not recommended for use in multiple instance environments without careful implementation. The DLL itself is not multithreaded. A lock is now available though with the DLL to ensure no overlapped processing when conditions make this necessary, for example in web server based installations. This lock is implemented by way of a Windows "Mutex". This can force synchronous access to the PCL to PDF conversion routine. When enabled the DLL will wait a specified number of seconds if access is blocked (the convertor is already busy) returning codes 5 or 6 if access to the conversion routine cannot then be obtained. It is understood that the mutex will synchronise access across processes and threads, not just across threads within a single process. Note that by default the Pcl2pdf 32 bit Windows DLL and ActiveX OCX components will continue to function the same way as with Pcl2pdf V5.0; using no mutex or timeout. The Pcl2pdf ActiveX OCX control calls down to the DLL and a method is provided to enable this functionality. To enable the mutex you must additionally call the method UseMutexWithTimeout passing the timeout value (in milliseconds). This value corresponds to that used by the Windows WaitForSingleObject function. Calling the OCX UseMutexWithTimeout function enables the use of the mutex. Once called you cannot disable use of the mutex without instantiating the Pcl2pdf object again. Calling the method ResetDefaults subsequently will not affect it either. An example Visual Basic usage is:
Dim oPCl2PDF As Object
oPCl2PDF = CreateObject("PCL2PDFDEVLIB.Pcl2pdfDevLibCtrl.1")
oPCl2PDF.UseMutexWithTimeout(5000) ' 5 seconds timeout
Err = oPCl2PDF.ConvertPcl2Pdf(InPCL,outPDF)
If the Pcl2pdf mutex times out or fails ConvertPcl2Pdf will return 5 or 6, normally 5. You can check this return value from your application and decide what action to take