Running the speedata publisher on the command line

The speedata Publisher is started via the command line (also: terminal, command window). On the one hand there are commands, on the other hand the commands can be controlled via parameters.

$ sp <Command> <Parameter> <Parameter> ...
On Windows/PowerShell you have to run sp.exe since sp is an internal command of PowerShell.

The default command is run. So the call of

$ sp

the same as

$ sp run

Besides the command run there are other commands (see below).

With

$ sp --help

you can display a list of the allowed commands and parameters.

Description of the commands

clean

Deletes all generated intermediate files and keeps the PDF file.

clearcache

Removes files from the image cache.

compare

Recursively check a directory for layout changes. See the topic about quality assurance.

doc

Opens the reference manual in the browser (local HTML files).

list-fonts

Lists all font files found in the Publisher directories. Together with --xml this command allows to copy&paste the output into the layout rules. See Using fonts.

new [DIRECTORY]

Create simple layout and data file to start. Provide optional directory.

run

Start publishing (default).

server

Run as http-api server on localhost port 5266 (configure with --address and --port). See the chapter Server mode (REST API).

watch

Start watchdog / hotfolder. See Starting the Publisher via the Hotfolder.

Description of the commandline parameters

-h, --help

Show this help

--address=IPADDRESS

Address to be used for the server mode. Defaults to 127.0.0.1.

--autoopen

Open the PDF file. Can be set in the How to configure the speedata publisher.

--cache=METHOD

Use cache method. One of none, fast or optimal. Default is optimal.

-c, --config=NAME

Read the config file with the given NAME. Default: publisher.cfg

--credits

Show credits and exit

--[no-]cutmarks

Display cutmarks in the document

--data=NAME

Name of the XML data file. Defaults to data.xml. Use - for STDIN (only 1 run possible).

--dummy

Don’t read a data file, use <data /> as input

-x, --extra-dir=DIR

Additional directory for file search.

--extra-xml=NAME

Add this file to the layout file

--filter=FILTER

Run Lua filter before publishing starts

--grid

Display background grid. Disable with --no-grid

--ignore-case

Ignore case when accessing files (on a case-insensitive file system) in the recursive file lookup.

--imagecache=PATH

Set the image cache

--inkscape=PATH

Set the path to the inkscape program

--jobname=NAME

The name of the resulting PDF file (without extension), default is publisher

--[no-]local

Add local directory to the search path. Default is true

--layout=NAME

Name of the layout file. Defaults to layout.xml

--logfile=NAME

Logfile for server mode. Default publisher.protocol. Use STDOUT for standard output and STDERR for standard error.

--loglevel=LVL

Set the log level to one of debug, info, message, warn and error. Messages from this level and above are written to the protocol file.

--mainlanguage=NAME

The document’s main language in locale format, for example en or en_US.

--mode=NAME

Set mode. Multiple modes given in a comma separated list. See Control of the layout when calling the Publisher.

--option=OPTION

Set a specific option that has no command line parameter.

--outputdir=DIR

Copy PDF and protocol to this directory.

--pdfversion=VERSION

Set the PDF version. Default is 1.6.

--prepend-xml=NAME

Add this file in front of the layout file

--port=PORT

Port to be used for the server mode. Defaults to 5266

--quiet

Run publisher in silent mode

--runs=NUM

Number of publishing runs

--startpage=NUM

The first page number

--show-gridallocation

Show the allocated grid cells

-s, --suppressinfo

Suppress optional information (timestamp) and use a fixed document ID

--systemfonts

Use system fonts (not Win XP)

--tempdir=DIR

Use this directory instead of the system temporary directory

--trace

Show debug messages and some tracing PDF output

--timeout=SEC

Exit after SEC seconds

-v, --var=VAR=VALUE

Set a variable for the publishing run

--varsfile=NAME

Set variables for the publishing run from a file with each line containing key=value pairs. Lines starting with a # are ignored.

--verbose

Print the messages from the log file to standard out.

--version

Show version information

--wd=DIR

Change working directory

--xpath

Set the XML and XPath parser to one of luxor or lxpath. Default is 'lxpath'. The old luxor is less robust and has fewer capabilities.

--xml

Output as (pseudo-)XML (for list-fonts)