In Winter/Spring 2015, PDFX underwent a major update. As you may know, PDFX is built on top of a third-party PDF toolkit. That toolkit had been updated several times since PDFX was first written in 2007, but there was never any particular need or benefit for PDFX to be updated to the new toolkits, so PDFX continued using the old version. In early 2015, a user needed the improved handling of digital signatures offered by the new version of the toolkit, so MicroSabio undertook the rather laborious update process. The old version is now called "PDFXv3" and the new version is know as "PDFXv5."
For a summary of features and capabilities that are new or different in PDFXv5, see the Release Notes for Version 5.
What version of A-Shell required to use PDFXv5?
6.1.1407. The conversions from PDFXv3 to PDFXv5, and related work in A-Shell and this documentation, were done in Winter/Spring 2015. You must be running A-Shell 1407 or greater in order to use the PDFXv5 driver.
Is the new version update upward compatible with the earlier version?
Yes, existing files should generate equivalent PDF files with the new driver as with the old. However as with any significant update, there may be some small configuration or other ancillary details that are not exactly the same. One in particular is a change in the default paper size – see the discussion of PAPERSIZE in Create A-Shell PDFX Printer for the simple workaround.
There are also some improvements in the way previously-marginal features have been implemented, which may suggest or require minor configuration changes to take advantage. See Hiding Progress Window, Watermarks, Bookmarks.
If I update A-Shell to version 6.1.1407 and beyond, am I required to use the PDFXv5 driver?
No. If PDFXv3 is meeting your needs and you don't wish to implement any of the V5 features, you can keep using PDFXv3 indefinitely. The disadvantage of not updating is that the supplier of the PDFXv3 driver support has stopped supporting it, so there’s not much we can do if and when you run into some problem with it. But you can always wait until then to update. Also, note that the two drivers can co-exist (see below).
Can I see old (PDFXv3) commands and their new (PDFXv5) equivalents?
Yes. In the tables that describe the various PDFX commands, there is a new column called "PDFXv3." For all the commands listed in the table, this new column contains the format of the old command or a note of explanation.
What about backwards compatibility?
The new version supports some features that didn’t exist in the old one. If you try to use those features with the older driver, they will be ignored (at best), or the directives will appear in the output as plain text.
Note that in addition to some new directives, many of the names of the existing directives have changed slightly. Old directive names will automatically be converted to work with the new driver, but the new names will not be recognized by the old driver. That may suggest that you’re better off sticking with the old names, but on the other hand, since there is no cost to install the updated driver, there isn’t any particularly strong reason to worry about remaining backward compatible. So we suggest going with the new directive names for new documents.
Can the old and new drivers co-exist?
Yes. Installing the new driver will not harm the old driver, and both will remain accessible. Note that although the drivers will have different names, they both start (and must start) with “PDF-XChange “. If you mainly select the printer via the Windows printer selection dialog, you just need to be able to distinguish between the old and new driver names visually. But if your programs print directly to the PDFX printer without user intervention, it is probably via a printer init file containing a DEVICE statement. A-Shell allows you to specify an abbreviated name in the DEVICE statement (e.g. DEVICE=PDF-X), as it will do a substring match against the available printer names. But that will be a problem with two printers both starting with PDF-X. So at a minimum, you’ll want to modify your printer init file DEVICE statements to include a complete name for the driver (e.g. DEVICE=PDF-XChange 3 or DEVICE=PDF-XChange Printer 2012) to that there is no ambiguity over which driver will be selected. In addition, if you want to be able select either driver from within your application, you’ll need to create two versions of the printer init files. See the main A-Shell reference for details on the printer init files, and also the next topic in this FAQ for more details about driver names.
Can the driver be renamed?
Yes, but…
• | Remember that most A-Shell programs specify the printer name indirectly via a printer init file which in turn specifies the actual name in the DEVICE statement. |
• | Changing it from the default name might just introduce confusion. |
• | The name must start with “PDF-XChange “. You can append something different after the space, such as “PDF-XChange 5” (which would have been a better name than “PDF-XChange Printer 2012”) |
One possible reason for renaming the printer would be if you are updating from v3 to v5 and your application references the old printer name in executable code (or generates printer init files on the fly), and you don’t want to have to change/recompile those programs. In this case, you could rename the old PDF-X driver, then rename the new one to match the old one. (As long as the name starts with “PDF-XChange “, A-Shell will determine which version it is from the driver itself and will interface accordingly.