On 31.07.2019 20:26, Potgieter, Carlo wrote:
> On 31.07.2019 14:49, Mark Thomas wrote:
>> On 31/07/2019 13:03, Potgieter, Carlo wrote:
>>> On 31/07/2019 12:48, Potgieter, Carlo wrote:
>>>> I was hoping to obtain some assistance. We have used a library to convert 
>>>> MS Office documents (docx and pptx) to PDF.
>>>> This works perfectly in the development environment and also when running 
>>>> Tomcat in a console window.
>>>> The moment we run Tomcat as a service this specific component gives and 
>>>> error. Unfortunately the error is non-specific so we cannot troubleshoot 
>>>> the origin.
>>>> My question is, what would be the difference in running Tomcat as a 
>>>> Service as oppose to running it in Console that might cause this problem?
>>> Tomcat runs as a different user with different access permissions, 
>>> particularly to network shares.
>>> You probably want to set up a Tomcat specific user with the appropriate 
>>> permissions.
>>> Mark
>>> Thank you Mark for the quick response.
>>> My first thought was permissions also, however I have attempted to run it 
>>> with local, domain and system user, however the same result.
>>> Both local and domain user was part of the local admin group. Is there 
>>> anything else I can check?
>> Are you sure the DDL is being loaded? That normally needs explicit
>> configuration to point the JVM at the right path.
>> Look at the docs for for
>> org.apache.catalina.startup.VersionLoggerListener and configure it to
>> dump everything. Then compare the console start with the service start.
> What is also different when Tomcat runs as a Service or in a console, is 
> where the JVM that runs tomcat, picks up its environment and command-line 
> switches.
> If you are not familiar with this matter, this may help :
> verbose explanation :
> https://secure-web.cisco.com/16LxnNI0vUhSt5WCJq8xkkulFgI8kkE6jU6nNTTWH
> 8Edc36MeIASjeU6nUbSA_zE1ivz6c5TGLRI5-1Pf6_zuQkUOEaw8utUuFpuUnCrCLIeiS7
> dhXxvll2giIW3fHOBe1_gpGzPiGufx1vE50Dzs9UUSm5Rc1iB9G9UILBUZ6dhLaGa3vAEU
> t8bmVvfaGcwlM8tmxid6q8PydRkxPkVHu_02IIO1w4c2yyYp4O9vhwKqUq1OeApnpAj1c0
> e2G-t0fT-lxYS5ofL92-i2ZpXEQk9bpTnCXLs0bT0wnFZYQsrFJZ8GQQckDdY-8eBWc946
> XK9enjcTwIMehHfk013zuw/https%3A%2F%2Fcwiki.apache.org%2Fconfluence%2Fd
> isplay%2FTOMCAT%2FWindows#Windows-Q11
> Official page :
> https://secure-web.cisco.com/1BYhcwXb2ofGRuNXu8K-JZBV4sFyWUkMe0XaNSYXc
> ey93JyiAhWVVK1zM0iJzrwal62xEQvv7bWZTbZIMuGTP_S_2qZdoXT4tLt78CPHzpOJND9
> 6h28X7R95_fnapxZO1zDvqNUPkrh23BUmyvnfKvqfef2panME2Z0l8GOvPAP4lZdyaSwgc
> D0L2TM7oClsAQ4TPAeM8hVEtWCsJsoeQjwh7m4IHyvpPDfPDJ28gRGkBoLQWETM9alb7RH
> jMtvclQ7-lMp3IYS9kOzQBDVHACmGkdIqgx-XAWNBjM6Wce6IoYmAeiwIgYmPZ0oClxsov
> Fcb1-dH06wAs3t938YQVvw/https%3A%2F%2Ftomcat.apache.org%2Ftomcat-8.5-do
> c%2Fwindows-service-howto.html
> (Perhaps the application expects some value to be set somewhere..)
> Also, above you mention "Unfortunately the error is non-specific..", but 
> maybe you want to copy the error message here, so that someone else can have 
> a look at it ?
> Maybe it triggers some recognition by another user having had the same issue 
> with that library.
> Quickly answering both posts from Mark and Andrei:
> Mark: Yes, the DLL is being loaded. There is error handling in place should 
> it be unsuccessful in accessing any of the components.
> I also compared the output of the VersionLoggerListners:
> When running as a service and executing the Tomcat8.exe from cmd the 
> information is the same, however the functionality only works when the .exe 
> is run from cmd.
> When using the Startup.bat script to start the server there are three less 
> entries and one extra:
> Entries not included:
> 31-Jul-2019 19:34:37.398 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: exit
> 31-Jul-2019 19:34:37.399 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Xms128m
> 31-Jul-2019 19:34:37.399 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Xmx256m
> Entry included but not in the other two:
> 31-Jul-2019 19:37:11.434 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Djdk.tls.ephemeralDHKeySize=2048
> Again using this method to run the server allows the functionality to work.
> Andre: From what I could see, everything is loaded the same as all of them 
> uses the sae JVM. Unless I missed something...which is entirely possible.
> The zeonpadpdf we are using consists of 3 components, 2 .jar's and 1
> .dll. zeonpadpdf.jar, jacob-1.18.jar, jacob-1.18-x64.dll The error we are 
> receiving states: "Conversion error" and is generated from the zeonpadpdf.jar 
> which handles the conversion from .docx to pdf.
> This is also the error in the stack trace which doesn't provide much more 
> information.
> Based on what I could find in the zeonpadpdf.jar this is generic error 
> message.
> Hope that gives some more context.

1) I remember (from some time ago) that in the Services control panel, there 
was an option when defining a Service, like "Allow this service to interact 
with the desktop".
If you find it, you may want to set it, and then just redo your test.
That is based on the fact that when you run a Service, normally that task does 
not have a console, while when you run a program in a console window (of 
course) it does.
That may make the difference if somewhere along the line, one of the components 
that you use requires something like .. a console.
Note that setting this may result in some console popping up unexpectedly on 
your server machine while a conversion is running. But at least you'll find out 
if this is the problem.

2) this is a bit more delicate, and I'm doing some guessing.
As I understand from some browsing for "jacob" and "zeonpadpdf", these things 
work in fact by leveraging at the end some Microsoft Office components 
pre-installed on the machine on which you run your Tomcat application.
And if you want to do do this in Tomcat, then maybe the application in question 
will be used through a web interface, for several users.
I also remember - from some experience a while ago - that somewhere in the 
Microsoft Office API interface description, it mentions that Microsoft Office 
components are not meant to be used in such a context, and that in any case, 
should you want to use this on a server, special Microsoft licensing conditions 
may apply.
The current conditions may have changed.
But what I'm saying is that if this is anything else than some exploratory 
project, you may want to be careful as to what you're getting into (even if you 
do not intend to charge anyone for the result).
Disclaimer : I have no professional or commercial links with Microsoft.

There exist other software packages which convert .docx documents to PDF, some 
of them open-source, others with a commercial license, but which do not use any 
MS Office components.
One commercial entity of which I know that they do extensive PDF-related things 
can be found here : https://www.pdf-tools.com/pdf20/en/home/
You may want to consult them, letting them know exactly what you have in mind.
2d disclaimer : I don't work for them either, but I am a (satisfied) customer.

1) I have enabled the "Allow this service to interact with the desktop" in the 
service to no avail. It still provided the same error.

2) Regarding the Microsoft API usage, I was not aware that different licencing 
conditions may apply. In all instances we are using a standard enterprise 
installation of office on the local dev, testing and production environments. 
This is something which I tried to avoid, however with this framework was 
unavoidable. (Ideal would have been to have it utilise the office installation 
client side however it does not make provision for this which I can understand)
The users are accessing this through a web interface. The process is quite 
simple, they browse for the document (either Word or PowerPoint) and then 
upload. Then there is an option to preview the document which then generates 
the PDF version. It is at this point that it fails.

I am enquiring as to pricing etc on your suggestion above. It seems that it 
could also fulfil our requirement, however need to understand this commercially 

From what I can see and due to the generic error message, there is very little 
we can do in terms of pinpointing where it is failing. I will have to start 
digging for alternatives.

PS: I wrote the above a bit earlier and whilst digging for an alternative 
installed an SDK of another converter. Once installed, our components also 
works, so I am thinking this issue most likely relates to how the .dll is 
registered and whether there might be additional configuration required on 
The new SDK also uses the Jacob.jar and Jacob.dll

Thank you for the assistance!

To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

*Disclaimer:* This email is subject to important restrictions, qualifications 
and disclaimers ("the Disclaimer") that must be accessed and read by visiting 
our website and viewing the webpage at the following address: 
http://www.deloitte.com/za/disclaimer. The Disclaimer forms part of the content 
of this email. If you cannot access the Disclaimer, please obtain a copy 
thereof from us by sending an email to zaitserviced...@deloitte.co.za. Deloitte 
refers to a Deloitte member firm, one of its related entities, or Deloitte 
Touche Tohmatsu Limited (“DTTL”). Each Deloitte member firm is a separate legal 
entity and a member of DTTL. DTTL does not provide services to clients. Please 
see www.deloitte.com/about to learn more.

To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to