Question:


When the HTML file is in a local folder (e.g. C:\), the rendering works as expected and an output file is produced.


When deployed to an environment where the HTML file is on a NAS folder using a UNC path (e.g. \\servername\sharedflder) the rendering throws an exception.


PdfGenerationException: PDF Generation failed Status: NavigationError/nFailed to load url:


The service account definitely has access to the folder where the HTML file is located because the .NET code that wraps the WebGrabber call successfully interacts with the file system and behaves as expected (e.g. when the above PDF generation fails, the files are moved to a failure folder which is working as expected).


Resolution:


When you run a conversion using the native engine it is run under the system account where WebGrabber is installed. It is possible your WebGrabber machine does not have access to the NAS where the HTML is stored. You can test this using wireshark and a simple test using an HTML file on your NAS.


Explanation:

Here is what I think is happening-


Your Windows service uses WebGrabber to perform conversions and your service runs under a domain account that has access to your NAS where your HTML files are located.

WebGrabber also install a service, P3Rest.exe, and this service runs under the local system account.


This service is what runs the native conversion engine and so it runs as the local system account on the machine that WebGrabber is installed on.

I tested this and using Wireshark and an HTML file on our own NAS. I get an access denied when I try to convert it using the native converter.


I then set the permissions on my NAS drive to give my local machine access and the conversion worked.