I got the following code snippet from this forum for printing PDF documents from a NAV form:
CREATE(objShell, TRUE);
_FileName := 'any file.pdf';
Dir := 'c:\';
objFolder := objShell.NameSpace(Dir);
objFolderItems := objFolder.Items;
objFolderItem := objFolderItems.Item(_FileName);
objVerbs := objFolderItem.Verbs;
i := -1;
REPEAT
i += 1;
IF i < objVerbs.Count THEN objVerb := objVerbs.Item(i);
UNTIL (STRPOS(UPPERCASE(objVerb.Name), 'PRINT') > 0) OR (i >= objVerbs.Count);
IF i <= objVerbs.Count THEN BEGIN
objVerb.DoIt;
END ELSE
ERROR('Could not print file.');
This works great in Classic but does not work in RTC from a page. (NOTE: I added the TRUE parameter in the CREATE statement for use with NST.) The error I get is: "Automation variable has not been instantiated." When I add CREATE statements for the other Automation variables (not needed in Classic) I get the following error: "Unable to create an instance of Automation Server System._ComObject...."
Has anyone been able to either use this code or found a way to print PDF files from a page?
Answers
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
CREATE(objShell, TRUE,TRUE);
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n