Opened 12 years ago

Closed 11 years ago

# Export of wiki-Pages to one PDF-Document

Reported by: Owned by: jan.linnenkohl@… anybody normal Request-a-Hack normal 0.8

### Description

It would be really nice to have an plugin, that collects all wiki pages and put them into a single PDF-ducument. I don't have an idea, how to handle the structure of the PDF-document. I need this feature to get a mobile version of the wiki pages, so that the people at a custumer can also use the informations stored in the wiki pages.

### comment:1 Changed 12 years ago by Noah Kantrowitz

It might be slightly simpler to just allow for collecting the Wiki into one big HTML page, and then from this the user could make it a PDF (or print it out, make tarballs, etc)

### comment:2 Changed 12 years ago by anonymous

But it would be also very nice to get a navigation inside of the PDF, which would be not so easy in one big HTML page, or?

### comment:3 Changed 12 years ago by jornh

Just saw a pointer to this on the Trac mailing list:

It's about 20 lines of python that should generate the 'one big HTML page'. I have not tried it out myself though

### comment:4 Changed 12 years ago by Alec Thomas

Actually that script only generates a single HTML page from a single Wiki page.

### comment:5 Changed 12 years ago by jouvin@…

In fact this feature should allow to 'export' an arbitrary set of pages, not just all the wiki pages. And it should be able to take into account pseudo hierarchy of pages (wiki page name containing /).

### comment:6 Changed 12 years ago by liquidblaze@…

Priority: normal → high

Isn't there already a formatter available for (single page) PDF export? I've seen some sites use it - couldn't that formatter just be modified to output all the pages in a file?

see wwwcherrypy.org/wiki/ for a PDF formatter

### comment:8 Changed 12 years ago by Alec Thomas

milestone: 0.9.1

Milestone 0.9.1 deleted

### comment:9 Changed 11 years ago by Trent Apted

Trac Release: → 0.8

See also trac-ticket:2296 (export to LaTeX + pdflatex = much nicer PDF)

### comment:10 Changed 11 years ago by Peter Kropf

The gumstix wiki allows for the creation of PDF's by providing a list of the wiki pages and allowing the user to pick and choose which should be included. Its one possible way to provide a UI to create PDF files.

I think it might provide a reasonal initial UI. Thoughts?

### comment:11 Changed 11 years ago by anonymous

Couldn't the XsltMacro be used for part of this?

Export the wikipage as an XML document and then apply an XSLT (XSL-FO) to create the PDF.

### comment:12 Changed 11 years ago by Noah Kantrowitz

Priority: high → normal blocker → normal

Reset priority and severity

### comment:13 Changed 11 years ago by James Mills

I'm wondering wether a plugin can't be written that uses pyx.

### comment:14 follow-up:  15 Changed 11 years ago by Alec Thomas

PageToPdfPlugin does the job for a single page. The real trick with exporting a set of pages will be how to select the pages, and how to combine them in a useful way.

A solution for the second problem would be to increment the header depth for all headers in all pages, add a level 1 header to each page with the page name, then concatenate them all and render, possibly adding a PageOutline.

eg.

Two pages

FooBar:

= Foo is good =


BarFoo:

= Bar is good =


becomes:

[[PageOutline]]
= FooBar =
== Foo is good ==

= BarFoo =
== Bar is good ==


### comment:15 in reply to:  14 Changed 11 years ago by nepo@…

PageToPdfPlugin does the job for a single page. The real trick with exporting a set of pages will be how to select the pages, and how to combine them in a useful way.

A first version could just export a particular wiki tree, if it has been organized using the hierachical wiki feature (like exporting all pages mywiki/wiki/subtopic1/*)

### comment:16 Changed 11 years ago by jwilliams

I see this as a natural extension to TracNav - since TracNav requires you to identify a TOC page, that is the "master list" of pages that you want to be exported.

Different TOCs would give different renderings of the content.

### comment:17 Changed 11 years ago by Noah Kantrowitz

Resolution: → fixed new → closed

See the CombineWikiPlugin. It does this quite nicely.

### Modify Ticket

Change Properties