Converting an old COM automated process using PdfCreator 1.7.3

Hi Guys,
We have inerhited a pretty old software written in .Net leveraging an instance of PDF creator in order to generate some PDFs from word documents.
The software uses COM interface, and appear to look specificatelly to a precise version of PdfCreator, 1.7.3

Of course, this version i assume it's obsolete, i could find it somewhere and the software do runs as expected, but i would like to upgrade to latest PDFCreator version, and this led to an immediate crash on COM interface.

My request is to understand if some sort of documentation of the COM interface exist for PdfCreator, and also if current version do still support COM, as well as documentation on API changes to attempt it to work again after installing Latest PdfCreator from your repository.

So, how COM for 1.7.3 compare with COM for 5.3.2 (free), that appear to be the latest version available ?

Paolo Marani
RuleDesigner, Italy

Hi Paolo,

take a look at the various sample scripts contained in the following folder:
C:\Program Files\PDFCreator\Com Scripts\

Take a look also at these guides:

Migrating from PDFCreator 1.7 to 2.0
https://docs.pdfforge.org/pdfcreator/en/pdfcreator/com-interface/user-manual/basics/workflow-comparsion-v1-7-v2/

COM Interface
https://docs.pdfforge.org/pdfcreator/en/pdfcreator/com-interface/#com-interface

Use COM from .Net
Problems with COM from .Net
Avoid the problems with late binding
https://docs.pdfforge.org/pdfcreator/en/pdfcreator/com-interface/user-manual/how-to/use-com-from-dotnet/

Hope this help,
Gianni

Hi,
I have readed carefully all the instructions you provided me about the COM interface, and also all the examples distributed within the application.

I'm really confused. They seems like almost totally nonsense to me.

I've found no basic examples allowing me to perform the simplest task i can imagine... just convert a bunch of word documents to PDF!

They are all about managing of the Job Queue via COM, and that is fine, but how can i "feed" the queue with jobs ? All COM examples just perform a pretty uncommon print of the WindowsTestPage (very fancy example, but quite confusing when you need to learn some basic usage of the api).

I do not understand if i need to use the commandline interface nor a COM interface to automate an external application to print as PDF. No examples at all are provided. I understood that from .Net it is somewhat tricky because i need to use late-binding, but nonetheless i feel the documentation is not enough to deeply understand the product.

The 1.7.3 API were pretty strange and with wrong naming conventions, but understandable. I'm trying to port an old VBNET code written for 1.7.3 but i now have countless questions:

1- Old code create a COM object "PDFCreator.clsPDFCreator" usign which you can
initialize the engine with _PDFCreator.cStart("/NoProcessingAtStartup")
Do i need to do something equivalent on new codebase ?

2- Old code allowed to check if the file is printable using _PDFCreator.cIsPrintable(FileName)
What is the equivalent way with new codebase to do the same ?

3- Old code use "profile files" with _PDFCreator.cReadOptionsFromFile(OptionsFilename)
Do the new codebase have the concept of profile files, or do they relies on Names/Guids ?

4- Old code can handle BMP, PCX, EPS, PS file format, what about in new update?

5- Old code: _PDFCreator.cAddPrintjob(FileName) / _PDFCreator..cAddPrintFile(FileName)
How to add print jobs using new code via COM interface ?

6- Old code needed to switch def printer using _PDFCreator.cDefaultPrinter = "PDFCreator"
Do i need to do the same with new code ? Any example available ?

7- Old code had dozens of PDF settings as property fields,
New code only string parameter properties ?

I encourage you to provide a slightly more comprehensive examples on your distribution, the new version seem to me much more difficult to program at API level compared to the old one, i really expected a more straightforward update process from my old code.

Was able to sort out many ot the problems above.
Some options have been dropped, but main functions are still there.
The object for adding jobs to the queue and the object for managing the queue, are two separate COM objects, with no apparent connection each other, and need to be created both.