I need to modify my script to output both categorized HTML and a full list HTML. (I modified it to categorize the parts so that the individual HTML files would be smaller, because the big one was crashing some browsers.) Once I do that, I'll give OpenOffice a try for the PDF generation.

For consistent scale parts, I'm using settings that Chris Dee and I together worked out for the parts tracker. (I did the initial work, and he tweaked it to make things work better.) The parts are first divided into three categories: baseplates, panels, and everything else.

Baseplates are straightforward: the first word of their name is "baseplate". (You have to parse "~Moved to" lines to find the final name, otherwise "~Moved to" baseplates won't get recognized as baseplates.) Baseplates get rendered at half the scale of everything else.

Panels are identified by a short list of filename patterns, and get rendered from the opposite side so that you can see their printing, which would otherwise be on the back.

For the command line, I use the following options for all three categories:

LDraw.org Forums are hosted by P-Sky Software powered by Phorum.LDraw.org Forum template designed by Scriptmonkeys, modified by LDraw.orgLEGO® is a registered trademark of the LEGO Group, which does not sponsor, endorse, or authorize this site.
Visit the official Lego website at http://www.lego.com.LDraw is a completely unofficial, community run free CAD system which represents official parts produced by the LEGO company.