welcome: please sign in

Input

book: Create a structured PDF document with headings, chapters, etc.
webpage: Specifies that the HTML sources are unstructured (plain web pages.) A page break is inserted between each file or URL in the output.
continuous: Specifies that the HTML sources are unstructured (plain web pages.) No page breaks are inserted between each file or URL in the output.
Title of the document for the front page.
Extract the first heading of the document and use it as title. If checked the title field has no effect.
The title image or HTML page. These file has to be an attachments!
Specify document version to be displayed on the title page.
Intellectual property owner of this document.
Copyright notice for this document.
Information about who and when modified the document are applied at the end.

Output

Specifies the output format.
Grayscale document  Title page
Compression :   JPEG big images 

Page

 
User defined page size 
Choose one of the predefined standard sizes or select user defined.
Specifies the page size using a standard name or in points (no suffix or ##x##pt), inches (##x##in), centimeters (##x##cm), or millimeters (##x##mm).
Set the target browser width in pixels (400-1200). This determines the page scaling of images.
   2-Sided   Landscape
   
   
   
Specifies the margin size using points (no suffix or ##x##pt), inches (##x##in), centimeters (##x##cm), or millimeters (##x##mm). Keep empty for default value.
Left
Middle
Right
Sets the page header to use on body pages.
Left
Middle
Right
Sets the page footer to use on body pages.

Contents

Sets the number of levels in the table-of-contents. Empty for unlimited levels.
   Numbered headings Check to number all of the headings in the document.
Sets the title for the table-of-contents. Empty for default title.
Left
Middle
Right
Sets the page header to use on table-of-contents pages.
Left
Middle
Right
Sets the page footer to use on table-of-contents pages.

Colors

Enter the HTML color for the body (background).
Enter the image file for the body (background). These file has to be an attachments!
Enter the HTML color for the text.
Sets the color of links.
Enables generation of links in PDF files.

Fonts

Set the default size of text.
Set the spacing between lines of text.
Choose the default typeface (font) of text.
Choose the default typeface (font) of headings.
Set the size of header and footer text.
Choose the font for header and footer text.
Change the encoding of the text in document.
Check to embed font in the output file.

PDF

Controls the initial viewing mode for the document.
Document: Displays only the docuemnt pages.
Outline: Display the table-of-contents outline as well as the document pages.
Full-screen: Displays pages on the whole screen; this mode is used primarily for presentations.
Controls the initial layout of document pages on the screen.
Single: Displays a single page at a time.
One column: Displays a single column of pages at a time.
Two column left/right: Display two columns of pages at a time; the first page is displayed in the left or right column as selected.
Choose the initial page that will be shown.

Security

Check to number all of the headings in the document.
 Print   Modify
 Copy   Annotate
Specifies the document permissions.
Specifies the user password to restrict viewing permissions on this PDF document. Empty for no encryption.
Specifies the owner password to control who can change document permissions etc. If this field is left blank, a random 32-character password is generated so that no one can change the document.

Expert

Specify language to use for date and time format.
Shrink code blocks on page.
Show line numbers for code blocks.
Make spaces visable by dots (·) instead of white spaces.
Make line breaks visable by a extra character (¶) at the end.
Enable this feature if you searching for problems or intent to report a bug report

About

Version 2.4.2 (MoinMoin 1.9.9)


MoinMoin - Generate PDF document using HTMLDOC

This action script generate PDF documents from a Wiki site using
the HTMLDOC (http://www.htmldoc.org) software packages which has
to be preinstalled first.

Copy this script in your's MoinMoin action script plugin directory.

Thanks goes to Pascal Bauermeister who initiated the implementaion.
Lot of things changes since then but the idear using HTMLDOC is the
main concept of this implementation.

Please visit the homepage for further informations:
http://moinmo.in/ActionMarket/PdfAction

@copyright: (C) 2006 Pascal Bauermeister
@copyright: (C) 2006-2010 Raphael Bossek <raphael.bossek@solutions4linux.de>
@license: GNU GPL, see COPYING for details

       

location: HelpOnConfiguration / EmailSupport

E-Mail Configuration

When configured, Moin features two email-based services; sending mail, and receiving mail. Both are explained on this page.

Sending mail

The most common scenario is configuring your wiki to send mail, which is used in the following situations:

Recovering passwords
Users who have forgotten their passwords can request an email (which will be sent to the email address on file) and will contain password reset instructions (and a token to authenticate the password reset.)
Change Notification

Any user can subscribe to changes of wiki pages by either clicking on the envelope icon , or by adding a regex to the "Subscribed wiki pages" field of his user preferences. The system then sends, whenever a page is changed and the author doesn't uncheck the "Send mail notification" checkbox, an email with the author, a link to the page, and the diff of the change. The author does not get notified of his own changes.

To configure mail-sending, the following options need to be configured in your wikiconfig.py file:

Variable name

Default

Description

mail_from

None

From: header used in sent mails, e.g. mail_from = u'Wiki Notifier <noreply@example.com>'. [unicode]

mail_login

None

"user pwd" if you need to use SMTP AUTH

mail_smarthost

None

IPv4 address or hostname of an SMTP-enabled server (with optional :port appendix, defaults to 25). Note that email features (notification, mailing of login data) works only if this variable is set.

mail_sendmail

None

If set to e.g. '/usr/sbin/sendmail -t -i', use this sendmail command to send mail. Default is to send mail by an internal function using SMTP.

In order to enable support for outgoing mails, you must specify the From: address with "mail_from". Furthermore, you must enable a transport, either by SMTP (use "mail_smarthost" to enable it) or by sendmail (use "mail_sendmail" to enable it). If you use "mail_smarthost" and the server requires authentication, then set "mail_login", too.

mail_from

This value is used for the "From:" and "To:" headers in the emails sent (the "To:" has email address privacy reasons, email is not really sent to this address, but we don't want to disclose any real recipient address). The address is also used as the envelope sender and hence should exist so your wiki's emails are not blocked by spam filtering software.

mail_login

This is only needed when you use mail_smarthost and a server that requires SMTP AUTH to send mail; in that case, set this to the username and password separated by a space, i.e. "user pwd".

mail_smarthost

This is the IP or domain name of an FOLDOC:SMTP enabled server. On a Unix host, you can try to use localhost; on a Windows machine this will normally be a machine in your LAN or some host of your ISP.

mail_sendmail
This is a local command to run to send a message. If set to e.g. '/usr/sbin/sendmail -t -i', use this sendmail command to send mail. This is only useful on machines that have a mail transport agent installed.


Receiving Mail

Moin is able to receive mails. Mainly, you need to know what the e-mail address of the wiki is and send a mail to it. If you supply the target pagename before the wiki address (typing MyWikiPage <wiki@example.com> for example), you will get your mail into the wiki quite easily.

If you want to import mails to your Moin wiki, i.e. allow it to receive and store the mails, you have to setup a few things.

First you have to setup your mail server to pipe every new mail into Moin. The command is moin xmlrpc mailimport. Note that you can use the parameter --config /path/to/dir to supply the path to a directory with a suitable Moin configuration file. Then you have to ensure that there is a file called mailimportconf.py in that directory.

Now you can configure the wiki. There are the following configuration options:

Variable name

Default

Description

mail_import_wiki_addrs

[]

The e-mail address(es) of the e-mails that should go into the wiki.

mail_import_pagename_envelope

u"%s"

Special use, see below.

mail_import_subpage_template

u"$from-$date-$subject"

This is the template for the pagename generated by the mail import code.

mail_import_pagename_search

['subject', 'to', ]

Where and in which order to search for the target pagename.

mail_import_pagename_regex

r'\[\[([^"]*)\]\]'

Special use, see below.

secrets or secrets["xmlrpc/ProcessMail"]

""

The secret that matches the one in mailimportconf.py configuration file.

mail_import_wiki_addrs

A list of e-mail target addresses of e-mails that should go into the wiki. Moin searches for these addresses to know the target pagename, it should match the address that is known to the mail server. If you use some kind of forwarding mechanism, please put the address(es) your wiki users use to address the wiki first into that list and the address(es) you forward the e-mails to after that.

mail_import_pagename_envelope

The default value of this setting is u"%s" and that just means "use the pagename unmodified". You could also configure it to be u"+ %s/" which would add a plus and a blank char in front of what we got and a slash char after what we got from the mail subject or target addr. This is to save your users some typing if you ever want the behaviour triggered by the plus and the slash.

mail_import_subpage_template
This is the template for the pagename generated by the mail import code. See below for supported placeholders.
mail_import_pagename_search

Where (and in what order) to search for the target pagename, default is ['subject', 'to', ] to first look into the subject and then (if we didn't find anything there) to look into the target addresses.

mail_import_pagename_regex

The pattern (regex) we search in the subject line for determining the target pagename, default is r'\[\[([^"]*)\]\]' which simply looks for something like [[TargetPageName]] (same as freelink syntax).

mail_import_secret

The secret that matches the mailimportconf.py configuration file. The secret is used to let the script authenticate itself at the wiki. The URL consists of the regular wiki URL and ?action=xmlrpc2. It should look like this (there is a sample file shipped in wiki/config):

# This secret has to be known by the wiki server
mail_import_secret = u"do_not_choose_a_too_short_secret_or_it_wont_work"

# The target URL
mail_import_url = u"http://localhost:81/?action=xmlrpc2"

After you have configured the settings explained above, you should be able sending yourself mails. The actual usage is explained below.

From
We check the From: header if it is from a valid wiki user. Of course this is no real security, but maybe better than nothing.
When we create a mail overview table, we use the email address part of From: to try to lookup a wiki user account with that email address. In case we find some, we will link to his homepage from the From: column of the table. If we don't find a matching user account, we just list the realname part in the From: column.
To / Cc

To: is (as usual) made of 2 parts, like TEMPLATE <wiki@example.org>. We use the "realname" part to make up the target page name template (can contain special chars, blanks etc.) and the email address part to get it to the right destination. The simplest form of a target page name template is just a pagename like WikiSandBox.

See the example for the 2 different modes of operation.
When we create a mail overview table, we process To: and Cc: for the To: column in the same way we do it for the From: column (see above). We do not include the address of the wiki server (and if we only have the wiki server email, we just display "-").
Subject
The page name template can also be extracted (and also removed) from the first occurance of mail_import_pagename_regex within the subject.

Examples:

Subj: [[TargetPageName]] will work if you put it either at the beginning or the end of the subject.
Subject: bla bla bla [[PageName/$date]]

The text of mails with such subject will be added to the pages

TargetPageName
or
PageName/2006-07-20T14:48:27

The full subject will also be used to build the change comment, prefixed with "Mail: "; variables are not replaced there.

Mail body

The new page content is made from old page content (if any) plus the content of the email appended at the end. Page content will never get overwritten. Mails that are sent as alternative are shown with their HTML body on the page which is processed by a HTML parser.

E-Mail attachments will get put into page attachments under the page where the content will be put. Attachments will never get overwritten. The attachments will be linked from the content page (e.g. from a list of attachments at the end).
Generated content

If requested by a leading +-sign (e.g. + PageName/), Moin adds a table item to the parent page listing details about the e-mail.

Pagename generation

The placeholders $from (containing the name of the sender), $date (the date) and $subject (subject line) are supported.

The pagename is generated like explained below:
  1. Check if one of the mail target addresses (to, cc, ...) is in mail_import_wiki_addrs
  2. Process TO/SUBJECT in order as given by mail_import_pagename_search until we have found a pagename or have to give up:
    • Try to get the pagename template from the target addrs, or
    • Try to extract the pagename from the subject (explained above).
  3. If we didn't find a pagename, use mail_import_subpage_template as last resort.
  4. Apply mail_import_pagename_envelope to (optionally) extend the pagename.
  5. If the pagename ends with a slash, append the configuration setting email_subpage_template (see above) to the pagename.

  6. Expand the pagename template to get the actual pagename.