Click here to Skip to main content
15,921,174 members
Articles / Programming Languages / Visual Basic
Article

Document conversion with OpenOffice

Rate me:
Please Sign up or sign in to vote.
3.27/5 (10 votes)
28 Aug 20052 min read 114.8K   1.2K   35   25
Convert documents to HTML and PDF using OpenOffice.

Sample Image - oo2html.png

Summary

This is a document conversion application. It converts docs from OpenOffice format to HTML and PDF. It could easily be modified to open any OpenOffice supported document. See the OpenOffice website for a list of supported formats.

Introduction

As project manager for a dev team, I needed a way to keep all design docs current on the intranet. We save all our project documentation in the CM system. So, I built a little app that scans the CM directory for OpenOffice files (either doc or spreadsheet), converts them to HTML and PDF, then copies them to the web server with an updated index.html file.

The code is quite simplistic, but solves a problem that people might run into regularly. So, I wanted to set it free.

This example works with both OpenOffice 1.1.4 and 1.9 beta.

Using the code

The code is quite easy, once you figure out all the tricks. I am just using the script interface for OpenOffice to open a file, then save in another format.

I noticed that there was some similar code for VB, so I figured it should probably work for VB.NET, and it did! I have no idea if C# has the same CreateObject functionality.

VB
Dim objServiceManager As Object
Try
    objServiceManager = CreateObject("com.sun.star.ServiceManager")
Catch ex As Exception
    Throw New Exception("OpenOffice is not installed" & vbCrLf & ex.ToString())
End Try

The ServiceManager is used to a create a desktop. The desktop is used to open a document. Then the document is saved with a filter, which is similar to using the "Save as" feature in OpenOffice. I specify "HTML (StarWriter)" to save OpenOffice format to HTML. Pretty easy, huh?

Per the introduction, my app also copies the docs to the web server. So, it requires "from" and "to" arguments. The example in the picture above would be:

oo2html "c:\test\" "C:\Program Files (x86)\xampp\htdocs\test"

Points of Interest

As mentioned above, this app could be modified to do any conversion that is possible with OpenOffice. For example, you could open all *.doc files instead of *.sxw, then output them to HTML. Or, it could open HTML files and output to doc. You get the picture.

History

My original version was more robust to solve my particular problem. It updated the CM Tree, and only copied files with a certain naming convention, among other things. I have trimmed it down considerably, in hopes of making it more straightforward.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralUpdate Pin
ggraham41220-Jun-08 8:11
ggraham41220-Jun-08 8:11 
Question"Can't Create ActiveX Object" - OpenOffice Pin
Ailton Silva3-Oct-07 9:31
Ailton Silva3-Oct-07 9:31 
QuestionProblem when using open office in web application Pin
RathiSarov10-Oct-06 11:04
RathiSarov10-Oct-06 11:04 
AnswerRe: Problem when using open office in web application Pin
Member 323966118-Mar-09 20:16
Member 323966118-Mar-09 20:16 
AnswerRe: Problem when using open office in web application Pin
JC.KaNNaN17-Feb-10 22:58
JC.KaNNaN17-Feb-10 22:58 
Hi rathi..

please send sample code for converting document to pdf formats
Yours,
KaNNaN

-----------------------------------------------------------------
"Success is When Ur Signature Becomes An Autograph"


GeneralProblem using similiar code in ASP.NET Pin
Vyas, Ashutosh7-Sep-06 0:44
professionalVyas, Ashutosh7-Sep-06 0:44 
GeneralRe: Problem using similiar code in ASP.NET Pin
Member 323966118-Mar-09 20:17
Member 323966118-Mar-09 20:17 
GeneralHelp on create OpenOffice file Pin
mpx2009-Aug-06 23:22
mpx2009-Aug-06 23:22 
GeneralIs it possable not to install full openoffice Pin
Luke Niland4-Aug-06 4:12
Luke Niland4-Aug-06 4:12 
GeneralRe: Is it possable not to install full openoffice Pin
duwke4-Aug-06 4:17
duwke4-Aug-06 4:17 
GeneralRe: Is it possable not to install full openoffice Pin
Kacee Giger14-Nov-06 10:06
Kacee Giger14-Nov-06 10:06 
GeneralRe: Is it possable not to install full openoffice Pin
Luke Niland16-Nov-06 7:13
Luke Niland16-Nov-06 7:13 
AnswerRe: Is it possable not to install full openoffice Pin
toastpooter7-Jun-07 6:21
toastpooter7-Jun-07 6:21 
GeneralConvert from Doc to PDF Pin
intranet_man24-Apr-06 5:58
intranet_man24-Apr-06 5:58 
GeneralRe: Convert from Doc to PDF Pin
duwke24-Apr-06 6:29
duwke24-Apr-06 6:29 
GeneralRe: Convert from Doc to PDF Pin
intranet_man24-Apr-06 6:43
intranet_man24-Apr-06 6:43 
GeneralRe: Convert from Doc to PDF Pin
duwke24-Apr-06 6:47
duwke24-Apr-06 6:47 
GeneralRe: Convert from Doc to PDF Pin
intranet_man24-Apr-06 7:12
intranet_man24-Apr-06 7:12 
GeneralMail Merge Pin
richardsawyer2-Oct-05 1:11
richardsawyer2-Oct-05 1:11 
GeneralAttachment Pin
Quinton Viljoen30-Aug-05 19:42
Quinton Viljoen30-Aug-05 19:42 
GeneralRe: Attachment Pin
duwke30-Aug-05 19:53
duwke30-Aug-05 19:53 
GeneralRe: Attachment Pin
Quinton Viljoen30-Aug-05 20:17
Quinton Viljoen30-Aug-05 20:17 
GeneralRe: Attachment Pin
dgsconseil31-Aug-05 0:39
dgsconseil31-Aug-05 0:39 
GeneralRe: Attachment Pin
duwke31-Aug-05 3:04
duwke31-Aug-05 3:04 
GeneralRe: Attachment Pin
Quinton Viljoen31-Aug-05 3:17
Quinton Viljoen31-Aug-05 3:17 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.