Word docs from Movable Type: I have to say that Microsoft is doing some great things with the new underlying XML format in Office 2003 and up. Using that functionality, the guys at Movable Type’s Pronet published a simple template that outputs Word ML, and thus creates what’s essentially a Word document directly from Movable Type.
Bloggers who are used to updating their status by posting to their Movable Type blogs can use a template like this to easily reformat their posts into a weekly report in Word that can be emailed around or simply posted to a web server for easy access.
I plugged the template in, and generated this Word document (60KB PDF; opens in a new window — it’s actually a PDF generated from Word 2003, since you have to have at least that version to view it). I would have had to screw a bit with the template tags to get it to come out exactly like the Web version (we use a special plugin for line breaks, for instance), but even at the defaults, there you have a Word document of the last five posts to this blog.
The implications of WordML in general are fantastic. In the business I support, we were always trying to come up with a modular way to create large documents — piecing them together from smaller documents. After trying a million different things in Word, we finally defaulted to two dozen Word files and just doing “Insert > File” until we had amassed the file we wanted.
With Word ML, we could maintain the pieces in in an actual content management system (this is screaming out for eZ publish), then output them in whatever order we needed, to be opened and printed from Word. I can’t wait to start playing with this.
(Also, wouldn’t this obviate the need for a PDF rendering library, assuming you were using a Windows server? If you need a PDF version of content, output what you need in WordML, then instantiate Word and print to PDF via VBA. And how long before someone just comes up with a WordML-to-PDF executable that lets you skip instantiating Word altogether? Extra points if they make it for *nix…)