Printing Jobs
Normally for conversion of documents using Print2HTML5 Automation API you need to provide a document file on disk and then invoke ConvertFile or ConvertDir methods of Server object specifying the path to the document file. However, there is another approach called "printing jobs". Using this approach you may "capture" any print job sent to the Print2HTML5 Printer and convert job output into an HTML5 file. This method offers some advantages:
- There is no need even to have a file on disk in order convert a print job output to a Print2HTML5 document. You may capture any print job sent to the Print2HTML5 Printer without any connection with a file. For example, if you designed an application that can send some output to a printer, you may easily convert this output to HTML5 format;
- You may convert documents of any types besides those that have an application registered for printing of this kind of files in the operating system provided that you can send this file to the Print2HTML5 Printer programmatically;
- You may convert documents with more conversion options provided that you can send this file to the Print2HTML5 Printer programmatically and can control those options.
The drawback of printing jobs is you have to know how to send a document to the printer or create a print job with which you do not have to bother yourself if you use ConvertFile or ConvertDir methods. For documents there may be an API allowing you to print them, for example, MS Office has Automation API for accessing and printing of MS Office documents. Print jobs may be created by your application when you send any output from it to a printer.
Using Printing Jobs
The capturing of a print job into a Print2HTML5 document is accomplished in three steps:
- Start a job by calling StartJob method of
Server object. The method needs the base output document file name as
the first parameter:
P2H.StartJob "C:\outdocs\doc1"
- Send a document to the Print2HTML5 Printer. You need to use special API for printing the documents or creating print jobs as mentioned above. The first print job sent to the Print2HTML5 Printer after StartJob method call will be captured and converted to a Print2HTML5 document file specified as the first parameter of this method. Even a print job initiated manually will be captured.
- Complete the job by invoking EndJob method of
Server object:
P2H.EndJob
If you called StartJob method and switched Print2HTML5 to capture mode but later decided not to send a document to the printer, you may cancel this mode using CancelJob method. This method reverts the Print2HTML5 Printer to normal mode of operation without capturing print jobs. It is safe to call this method even if StartJob method was not called before so you may call this method for safety in order to be sure that printer is in normal non-capturing operation mode before calling, for example, ConverttFile method.
Example
The following example demonstrates using printing jobs. It starts a job, sends a PowerPoint document to the Print2HTML5 Printer using PowerPoint Automation API setting some printing options and finally completes the job. After this code execution is completed, an output HTML5 document should be created from the printed PowerPoint document at the location specified in the StartJob method call, i.e. HTML5 file will be written to "c:\outdocs\doc1.html" file and "C:\outdocs\doc1_files" folder.
Set P2H = CreateObject("Print2HTML5.Server") P2H.StartJob "c:\outdocs\doc1" Set PowerPoint = CreateObject("PowerPoint.Application") ' Launch MS PowerPoint PowerPoint.Visible = true Set Presentation = PowerPoint.Presentations.Open("c:\docs\doc1.ppt", true) ' Open a presentation Presentation.PrintOptions.ActivePrinter = "Print2HTML5 5 Printer" ' Set active printer Presentation.PrintOptions.FitToPage = true ' Make slides fill the full page area Presentation.PrintOptions.PrintInBackground=False ' Turn off background printing Presentation.PrintOut ' Send the document to the printer Presentation.Close ' Close the presentation PowerPoint.Quit ' Close MS PowerPoint P2H.EndJob |