Page 1 of 1

Questions from a newbie

Posted: Fri Jun 01, 2007 12:11 am
by stevehaley
Hi I am evaluating PDF-XCHANGE to convert Access reports into PDFS and merge them. I have been looking at the Printer Driver API & the Tools SDK and have a few questions:-

1) Is there any other documentation other than the supplied CHM files

2) there has been reference to install instructions with relation to pdfsaver on this forum but I can see no trace of them after installing the sdk.

3) Is there any sort of manual in pdf form that can be printed out?

4) The Drv_Api.chm makes reference to a dpf help file "Using PDFXCDS30.pdf" but can see no sign of it.

5) What is exactly is PDFSaver and DS Lookup?
At what point in the printing process is PDFSaver loaded and unloaded?
Where is the documentation for pdfsaver?

6) Due to problems with the COM object & events during docmd in access (I am surprised this has been left in the access97 example) I have been looking at the messaging interface. While I have sucesfully managed to hook the messages from the driver I am somewhat confused by the apparent difference between your VB examples and the help file.
The VB example puts all parameters in the root of
HKCU\Software\Tracker Software\PDF-XChange 3.0\Drivers\Control
while the help files says you should create a key underneath drivers\control being the hex code of the id returned by the message PDFXC3_StartDoc and put all options underneath that. I assume that if the driver doesnt find a directory matching the print driver ID under Drivers\Control it uses the settings in drivers\control?

As I am serially spooling a large no of reports I suspect that I have to adopt the second method.?

It is also implied that these keys are left behind so I presume that my code will have to clean up behind itself?

7) The second part of the process will be to create a front Index file and then merge the index the index & all report pdfs into one file and programatically add bookmarks to the resultant file. Finally I would like to add thumbnails. I assume all this is possible with the tools library?
a) With respect to merging the files I assume the process is to open up the index file pdf then indeviually add each of the pages in the other pdfs to it using PXCp_InsertPagesTo?
b) What is not clear in any of the examples that I can read & understand (Not good at C or c#) is how I can create thumbnails.
c) Is it possible to add page numbers to the created pdf files?

8) The help buttons on both PDFSaver and on the about tab of the printer properties do not work.

9) Not sure why but the supplied VB examples would not run until I put a copy of all the dlls in the system32 directory. would assume no path created during install.

10) Is your Driver serial or multi threaded - ie if I print 30 reports how many pdf creations will be potentially running simultaneously?

11) There is mention of a version 4 in places on your web site but would appear to be already overdue. If I buy the SDK now will I get a free upgrade? I did try to call your sales line both yesterday and today but each time the call went unanswered - not impressed...

12) It would be really helpful if the entire name of the printer driver could be changed. (Yours is the only one I have come across that is fixed or partially fixed). As would the ability to add text to the printer about tab to clarify where the driver originated from, and what it is used for.

13) Is there any way to hide the printer from the general list of printers available

14) Do you have any pre-built classes available for VB for the printer api and the toolkit api?

As a general comment while your product appears to be rich in features and functionality (more so than most of the competition) your documentation is by far the worse I have come accross in the review so far and I have already been through 6 potential solutions. While the specifics are all there there is little overview and the examples should be included in the help files where they are easily viewable and searchable. Even an overview document explaining what each component is and does along with what each of the help files contains would be a help.
In addition it would be helpful if your VB printer driver example using the messaging interface included the hook to receive and process the messages coming back from the pdf creation process. This was not easy to recreate from scratch

thanks in advance

Posted: Fri Jun 01, 2007 10:50 am
by John - Tracker Supp
Hi Steve,

That's way too many questions in a single post to make a clear and concise answer that's easy to firstly construct and secondly to follow - so I will edit and firstly reply to those that are simple and then post again with the more complex answers that need thought or preparation subsequently.

1: No - sorry there is not.

2: Sorry I do not understand your question - please expand.

3: No - currently CHM only.

4: This has now been replaced by the ActiveX and this is redundant information - will have this updated - apologies.

5: PDFsaver3.exe is a component of the Driver conversion method is not accessible to you in any practical form - its functionality is required but transparent to you as a developer.

6: See next reply

7: Ditto

8: They certainly function in the end user release/install correctly - it would appear that they have been removed from the Developer's installation in the interests of reducing file size/distribution o'head - will check and correct as appropriate ASAP.

9: We state clearly in numerous places - including the installation closing screens that your .EXE must reside with the DLL's as we do not modify the Environment Variables/System path - this is intentional as many developer's object to this practice. Only the driver examples do not require your application to reside with our Library dll's for obvious reasons.

10:Spooling from a specific printer is always single threaded in Windows - many prints task may be sent to a printer simultaneously - but only one is printed - the others are queued.

PDF creation however is multi threaded

V4 however will offer 'Pseudo' multi threaded spooling as for each task it will be possible to temporarily create an additional printer for that job.

11: Upgrades are currently provided for a minimum of 12 months after purchase free of charge.

12: I appreciate your preference for this - but this is both technically and practically from our perspective undesirable at this time - so you have the opportunity to append to the existing named driver - but not replace entirely

13: No.

14: No

Your other comments are noted.

Posted: Fri Jun 01, 2007 11:23 am
by John - Tracker Supp
With regards the balance of your comments/questions :

6: On checking the VB examples - they store the parameters under :

Software\Tracker Software\PDF-XChange 3.0\Drivers\Control\VBSettings
but not into the root of
Software\Tracker Software\PDF-XChange 3.0\Drivers\Control

Having said that - the method described in the documentation works equally well

7: There is a VB example showing how to merge files : XCPro35_vb.exe this also shows the watermark feature which would be the appropriate manner in which to add page numbers to an existing file.

You need to see the help file XCPRO35Help.CHM for generally modifying/adding content to existing PDF files as the XCPR035.DLL is the library used for the purpose.

With regards thumbnails - you cannot create thumbnails - but you can add images as thumbnails that you have created elsewhere - there is a section in the help file detailng this - called : "Thumbnails manipulation"

Further - later Versions of Acrobat Reader and our own PDF-XChange Viewer both auto-create 'Thumbnail' like previews of pages - so unless you specifically need these for other purposes - is it necessary ?


Posted: Fri Jun 01, 2007 8:36 pm
by stevehaley
Thanks for the quick response - sorry about the long post

5) Re PDFSaver there are some notes in the SDK that you cannot hide the progress bar if PDFaver is already running - HAving looked at it more closely it would appear that this program is loaded the first time it is needed then by default left running - Is this correct?

There is a settng in PDFSaver for it to unload after so many minutes - is this configurable in the install package or can it be modified later?

6) Sorry you are right the example is Software\Tracker Software\PDF-XChange 3.0\Drivers\Control\VBSettings but it also appears to work one level up..

However my 2 questions remain
a) is it better to use the ID key as per the documentation if serially prnting a large no of jobs?

b) Do yo have to clean up the key afterwards?

7) Thanks
Thumbnails not esential - would have been nice to have but hadnt realised these could be created on the fly in viewers these days so not a problem.
Will look at the watermarks function

9) noted

10) Not sure I understand your reply could you please elaborate. When you say PDF Creation is multithreaded are you saying that the PDF creation is effective 2 step with a serial printer driver creating some sort of temporary file which are then turned into pdfs? Thus it is possible that if the printer process is faster than the pdf creation process you could have more than one PDF file being created simultaneously?


Posted: Sat Jun 02, 2007 7:36 am
by John - Tracker Supp
Thanks for the quick response - sorry about the long post
No problem - but I would suggest you break posts down in future into more manageable individual posts - if possible.

In answer to your follow up :

5: You can set PDFSaver3.exe to auto unload - please see the help file : DRV_API.CHM - topic : "Silently installing PDF-XChange SDK API Drivers"

a) There is no preferred method - either is equally good.

b) Yes.

Further by default the driver creates for each job its own key under the base key:
Software\Tracker Software\PDF-XChange 3.0\Drivers\Control

again this is described in the help file DRV_API.CHM

10: The Driver creates a temp file serially and PDFsaver3 then is responsible for the PDF creation which is multi threaded

I would recommend (strongly) that the if you are creating multiple large files you ensure that the Printer 'Property' (note this is not a printer preference) :

'Print Spooled Documents First' is set on - this will assist in both speed and the possibility that there could be pages that fail to print on very large jobs. See the attached screen shot.

Printer properties are accessible using the Printer 'Devmode' structure and your VB manual will detail on how to access and modify these from within your code - it is a standard printer property rather than a PDF-XChange specific one.