diff --git a/src/Tools/offlinedoc/buildpdf.py b/src/Tools/offlinedoc/buildpdf.py index 815483453..18e83f926 100755 --- a/src/Tools/offlinedoc/buildpdf.py +++ b/src/Tools/offlinedoc/buildpdf.py @@ -30,6 +30,306 @@ __url__ = "http://www.freecadweb.org" This script builds a pdf file from a local copy of the wiki """ +TOC="""Online_Help_Startpage +About_FreeCAD +Feature_list +Installing +Getting_started +Mouse_Model +Document_structure +Property_editor +Import_Export +Workbenches + +begin + +Part_Workbench +Part_Box +Part_Cone +Part_Cylinder +Part_Sphere +Part_Torus +Part_CreatePrimitives +Part_Plane +Part_Prism +Part_Wedge +Part_Helix +Part_Spiral +Part_Circle +Part_Ellipse +Part_Line +Part_Point +Part_RegularPolygon +Part_Booleans +# Part_Common +# Part_Cut +Part_Fuse +# Part_Shapebuilder +Part_Extrude +Part_Fillet +Part_Revolve +Part_SectionCross +Part_Chamfer +Part_Mirror +Part_RuledSurface +Part_Sweep +Part_Loft +Part_Offset +Part_Thickness +Part_RefineShape +Part_CheckGeometry + +begin + +PartDesign_Workbench +PartDesign_Pad +PartDesign_Pocket +PartDesign_Revolution +PartDesign_Groove + +Sketcher_Point +Sketcher_Line +Sketcher_Arc +Sketcher_Circle +Sketcher_Ellipse +Sketcher_Arc_of_Ellipse +Sketcher_Polyline +Sketcher_Rectangle +Sketcher_Triangle +Sketcher_Square +Sketcher_Pentagon +Sketcher_Hexagon +Sketcher_Heptagon +Sketcher_Octagon +Sketcher_Slot +Sketcher_Fillet +Sketcher_Trimming +# Sketcher_Arc3Point +# Sketcher_Circle3Point +# Sketcher_ConicSections +# Sketcher_Ellipse_by_3_Points + +Constraint_PointOnPoint +Constraint_Vertical +Constraint_Horizontal +Constraint_Parallel +Constraint_Perpendicular +Constraint_Tangent +Constraint_EqualLength +Constraint_Symmetric +Constraint_Lock +Constraint_HorizontalDistance +Constraint_VerticalDistance +Constraint_Length +Constraint_Radius +Constraint_InternalAngle +Constraint_SnellsLaw +Constraint_Internal_Alignment +# Constraint_PointOnObject + +Sketcher_MapSketch +Sketcher_Reorient +Sketcher_Validate +Sketcher_Show_Hide_Internal_Geometry +# Sketcher_MergeSketch +Sketcher_CloseShape +Sketcher_ConnectLines +# Sketcher_SelectConstraints +# Sketcher_SelectOrigin +# Sketcher_SelectVerticalAxis +# Sketcher_SelectHorizontalAxis +# Sketcher_SelectRedundantConstraints +# Sketcher_SelectConflictingConstraints +# Sketcher_SelectElementsAssociatedWithConstraints + +PartDesign_Fillet +PartDesign_Chamfer +PartDesign_Draft +PartDesign_Mirrored +PartDesign_LinearPattern +PartDesign_PolarPattern +PartDesign_Scaled +PartDesign_MultiTransform +PartDesign_WizardShaft +PartDesign_InvoluteGear + +Sketcher_Tutorial + +begin + +Draft_Workbench +Draft_Line +Draft_Wire +Draft_Circle +Draft_Arc +Draft_Ellipse +Draft_Polygon +Draft_Rectangle +Draft_Text +Draft_Dimension +Draft_BSpline +Draft_Point +Draft_ShapeString +Draft_Facebinder +Draft_BezCurve +Draft_Move +Draft_Rotate +Draft_Offset +Draft_Trimex +Draft_Upgrade +Draft_Downgrade +Draft_Scale +Draft_Edit +Draft_WireToBSpline +Draft_AddPoint +Draft_DelPoint +Draft_Shape2DView +Draft_Draft2Sketch +Draft_Array +Draft_Clone +Draft_SelectPlane +Draft_VisGroup + +begin + +Arch_Workbench +Arch_Wall +Arch_Structure +Arch_Rebar +Arch_Floor +Arch_Building +Arch_Site +Arch_Window +Arch_SectionPlane +Arch_Axis +Arch_Roof +Arch_Space +Arch_Stairs +Arch_Panel +Arch_Frame +Arch_Equipment +Arch_CutPlane +Arch_Add +Arch_Remove +Arch_Survey +Arch_tutorial + +begin + +Drawing_Workbench +Drawing_Landscape_A3 +Drawing_View +Drawing_Annotation +Drawing_Clip +Drawing_Openbrowser +Drawing_Symbol +Drawing_DraftView +Drawing_Save +Drawing_ProjectShape +# Drawing_Othoviews + +begin + +Raytracing_Workbench +# Raytracing_New +# Raytracing_Lux +# Raytracing_Part +# Raytracing_ResetCamera +# Raytracing_Export +# Raytracing_Render + +begin + +Robot_Workbench +# Robot_createRobot +# Robot_Simulate +# Robot_Export +# Robot_SetHomePos +# Robot_RestoreHomePos +# Robot_CreateTrajectory +# Robot_SetDefaultOrientation +# Robot_InsertWaypoint +# Robot_InsertWaypointPre +# Robot_Edge2Trac +# Robot_TrajectoryDressUp +# Robot_TrajectoryCompound + +begin + +OpenSCAD_Workbench +OpenSCAD_AddOpenSCADElement +# OpenSCAD_ColorCodeShape +# OpenSCAD_ReplaceObject +# OpenSCAD_RemoveSubtree +# OpenSCAD_RefineShapeFeature +# OpenSCAD_IncreaseTolerance +# OpenSCAD_Edgestofaces +# OpenSCAD_ExpandPlacements +# OpenSCAD_ExplodeGroup +# OpenSCAD_MeshBoolean +# OpenSCAD_Hull +# OpenSCAD_Minkowski + +begin + +Fem_Workbench +FEM_Analysis +# FEM_Solver +# FEM_Create +# FEM_Material +# FEM_Calculation +# FEM_DefineNodes +# FEM_FixedConstraint +# FEM_ForceConstraint +# FEM_BearingConstraint +# FEM_GearConstraint +# FEM_PulleyConstraint +# FEM_ShowResult + +begin + +Plot_Module +Plot_Save +Plot_Basic_tutorial +Plot_MultiAxes_tutorial +# Plot_Axes +# Plot_Series +# Plot_Grid +# Plot_Legend +# Plot_Labels +# Plot_Positions + +begin + +Mesh_Workbench + +end + +Interface_Customization +Preferences_Editor +Macros +Introduction_to_Python +Python_scripting_tutorial +Topological_data_scripting +Mesh_Scripting +Mesh_to_Part +Scenegraph +Pivy + +begin + +PySide +PySide_Beginner_Examples +PySide_Medium_Examples +PySide_Advanced_Examples + +end + +Scripted_objects +Embedding_FreeCAD +Embedding_FreeCADGui +Code_snippets""" + import sys, os, re, tempfile, getopt, shutil, time from urllib2 import urlopen, HTTPError @@ -157,7 +457,9 @@ def createpdf_wkhtmltopdf(pagename): if (not exists(pagename+".pdf",image=True)) or OVERWRITE: infile = FOLDER + os.sep + pagename+'.html' outfile = FOLDER + os.sep + pagename+'.pdf' - return os.system('wkhtmltopdf --margin-top 5mm --user-style-sheet '+FOLDER+os.sep+'wkhtmltppdf.css '+infile+' '+outfile) + cmd = 'wkhtmltopdf -L 5mm --user-style-sheet '+FOLDER+os.sep+'wkhtmltopdf.css '+infile+' '+outfile + print cmd + #return os.system(cmd) else: print "skipping" @@ -173,7 +475,7 @@ def joinpdf(): result.addPage(inputfile.getPage(0)) count = 1 - tocfile = open("toc.txt") + tocfile = TOC.split("\n") parent = False for page in tocfile: page = page.strip() @@ -233,12 +535,6 @@ def makeStyleSheet(): "Creates a stylesheet for wkhtmltopdf" outputfile = open(FOLDER+os.sep+"wkhtmltopdf.css",'wb') outputfile.write(""" -html { - margin: 50px 0 0 50px !important; -} -a:link, a:visited { - color: #000 !important; -} .printfooter { display:none !important; }