Does anyone know if it's possible to generate powerpoint ppts within ColdFusion? I can't rely on the approach of installing a copy of office and generate one through COM and I can't use ooxml since my client is still in the office 2003 era. Any suggestion is much appreciated.
You can try using Apache POI, specifically their Powerpoint support. Looks to be still in beta though:
http://poi.apache.org/slideshow/index.html
I've used POI to extra from Word docs before and it was rather easy in ColdFusion.
ColdFusion doesn't have built in PPT creation, but you may be able to make something work with OpenOffice.
Look into CFPresentation (CF8), it allows you to create web-based presentations - not actually PPT format, but displayed in the same way via Flash player.
Have you considered using PDF instead? For all intents and purposes except perhaps some animation, PDFs do well replacing PPTs. And CF has tons of PDF creation and manipulation features!
I know it's not a good answer, but ColdFusion 9 can turn a cfpresentation into a PowerPoint file, and creating a cfpresentation is pretty damned trivial...
However, this of course requires a server that's still in beta, and a large cash outlay once it's released if you're running your own server.
Dan
Related
I need to manipulate .docx documents using C/Visual C++. Any samples i found is c# samples.
How to do so?
What I've found is that Microsoft wants you to either use .NET or use their Office Automation API to invoke Word to perform the manipulations for you. Depending on how low you want to go with these manipulations, you might be able to get by with the Office Automation API. If not, you may have to get your hands dirty with the Open Office XML format that's behind the .docx file format.
Here's Microsoft's skimpy documentation on Office Automation
And here's an article that goes into it a bit more, although it may be out of date.
I just thought that one big issue with Office Automation is that you need to have Word to do anything with it. Of course, this all depends on what exactly you need to to.
Try http://libopc.codeplex.com/
Larger context: we're working on an Intranet portal's search engine, which needs to be able to search within ALL office types: doc, docx, xls,xlsx, ppt, and pptx. Having the search algo already in place, we've implemented the indexer using Office automation; however, client is concerned, that this is 1, error-prone, and 2, not recommended by Microsoft (and also -not covered in their license).
I've read the previous answers in this regard on SO, however it would require us to integrate an extremely large amount of distinct libraries to cover all the edges, which we don't have the resource to do so.
Hence, we're looking for a simple web service, to which we can submit any of these documents, and would return a simple, plain text (or html, or even PDF -we've got parsers for both) output.
Are there any such services (free, or paid), that covers all of the file formats above?
Many thanks.
I would suggest to try Apache Tika - it's free and open source. It allows to extract text contents from MS Office file formats (and from other popular formats, too). There is a server application included which you can run on your own server.
I'm note sure about the service, however if you can managed and deploy three .NET assemblies for DOC/DOCX, XLS/XLSX, and PPT/PPTX. Then you may try Aspose components -- Aspose.Words, Aspose.Cells, and Aspose.Slides respectively. These DLLs don't require MS Office to be installed on your server and they work fine on any Windows OS and on 32-bit/64-bit environments. You may also see the documentation. These components provide many advanced features to deal with document elements as well. Please see if this might help in your scenario.
Disclosure: I work as developer evangelist at Aspose.
So I wanna make a PDF reader using C++ as a hobby project. The problem is I am not finding much of head start so if anyone has worked on similar project please guide me, a few web links would be great! I will be using windows environment and Visual studio.
If you want to simply "host" an existing PDF reader (such as Acrobat or Foxit) in your own window, then you'll want to look in to ActiveX.
Alternately, if you want to do your own PDF decoding, then the best place to start would be find a soft couch and cozy up with the PDF format specification, and in particular, ISO 32000-1. It's a real page-turner.
http://www.adobe.com/devnet/pdf/pdf_reference.html
Adobe's publication about the details of the PDF file format.
There are PDF components as well, if you want to go that route, but the majority of them are either not free, or already have a UI of their own. Just tossing a PDF component into a form doesn't strike me as much of a hobby project. :)
You might find this article on parsing Reg files using Boost Spirit a useful starter. I've used Spirit before for parsing complex data but I think you're biting off a mighty big challenge!
If you want to look at existing parsers, try PoDoFo in C++ or the lexing side of Panda, in C.
Is anyone aware of a good, general purpose file preview component for MFC/C++ desktop applications?
Specifically, I'm looking for a component that I could embed in my application that would allow a broad range of file types (text files, multimedia, etc.) to be previewed without the need for original applications (such as MS Word, etc.) to be installed.
I could only find one, via Google:
http://www.file-viewer-sdk.com/
Unfortunately, these folks want $60k for unlimited redistribution, which is outside of our budget.
Anyone have any recommendations? If not a component, is anyone using another general-purpose strategy that works well for them?
You can write your own shell preview host once you know the interfaces.
You might want to check out Autovue, originally made by Cimmetry since acquired by Oracle
.
Our product makes limited use of their SDK to do some document conversions (Mostly RTF->PS) and that works well enough for us.
What solutions are there? I know only solutions for replacing Bookmarks in Word (.doc) files with Apache POI?
Are there also possibilities to change images, layouts, text-styles in .doc and .ppt documents?
I think about replacement of areas in Word and PowerPoint documents for bulk processing.
Platform: MS-Office 2003
What are your platform limitations?
Obviously Apache POI will get you at least part of the way there.
Microsoft's own COM API's are fairly powerful and are documented here. I would recommend using them if a) you are not running in a server (many users, multithreaded) environment; b) you can have a proper version of powerpoint installed on the production machine; and c) you can code against a COM object model.
It's a bit pricey, but Aspose.Slides is a very powerful library for manipulating PowerPoint files
If you include using other Office suits as an option, here's a list of possible solutions:
Apache POI-HSLF
PowerPoint 2007 APIs
OpenOffice.org UNO
Using POI you can't edit .pptx file format, but you don't depend on the apps installed on the system. Other two options, on the contrary, make use of other apps, but they are definitely better for dealing with presentations. OpenOffice has better compability with older formats, by the way. Also if you use UNO, you'll have a great choice of languages, UNO exists for Java, C++, Python and other languages.
My experience is not directly with Power Point, but I've actually rolled my own WordML (XML) generator. It a) removed all dependencies on Word, b) was very fast c) and let me build up documents from scratch.
But it was a lot of work to create. And I was only creating a write only implementation.
I'm not as familiar with Power Point, so this is conjecture, but you may be able to roll your own by reading XML (Power Point 2003??) and/or cracking the Office Open XML file (zipped XML), then using XPath to manipulate the data, and then saving everything back to disk.
This won't work on older OLE Compound Document based Power Point files though.
I've done something like that before: programmatically accessed and manipulated PowerPoint presentations. Back when I did it, it was all in C++ using COM, but similar principles apply to C#/VB .NET apps, since they do COM interop very easily.
What you're looking for is called the Office Document Model. Basically, Office applications expose their documents programmatically, as trees of objects that define their contents. These objects are accessible via an API, and you can manipulate them, add new ones, and do whatever other processing you want. It's exceedingly powerful; you can use it to manipulate pretty much all aspects of a document. But you'll need an installation of Office and Visual Studio to be able to use it.
Some links:
Intro: http://msdn.microsoft.com/en-us/library/d58327k6.aspx
Hope this helps!
Apparently new users can only include one link per posting. How lame! :)
Here's the other link I meant to include:
Example of manipulating PowerPoint documents programmatically: http://msdn.microsoft.com/en-us/library/cc668192.aspx