Quark QuarkXPress Server - 9.5 Operation Manual

A Guide to QuarkXPress Server 9.5
Contents
Conventions......................................................................................9
Getting started with QuarkXPress Server......................................10
QuarkXPress Server architecture.........................................................................10
Understanding QuarkXPress Server.....................................................................11
Server templates and static projects.............................................................................11
The document pool and the Streaming Document Provider........................................12
Projects and layouts......................................................................................................12
Job Jackets and resources............................................................................................12
Caching.........................................................................................................................13
QuarkXPress Server preferences...................................................................................13
Quark License Administrator.........................................................................................14
Master-renderer environment.......................................................................................14
Changing logging levels in "log4j.xml"........................................................................14
Understanding QuarkXPress Server XTensions software.....................................15
The QuarkXPress Server XTensions API........................................................................15
Configuring QuarkXPress Server for launch.........................................................16
Launching QuarkXPress Server.............................................................................17
Quitting QuarkXPress Server...............................................................................17
The QuarkXPress Server user interface..........................................18
Navigation pane....................................................................................................18
Administration menu.............................................................................................20
General Preferences dialog box....................................................................................20
Renderer Preferences dialog box..................................................................................23
Job Jackets dialog box.................................................................................................31
App Studio preferences................................................................................................32
Check Out License dialog box......................................................................................32
Using QuarkXPress Server..............................................................33
Creating URL requests..........................................................................................33
Understanding URL requests.........................................................................................34
Understanding QuarkXPress Server namespaces.........................................................34
Understanding QuarkXPress Server parameters...........................................................35
Supported interfaces............................................................................................35
ii | A GUIDE TO QUARKXPRESS SERVER 9.5
The Dynamic Publishing Process (DPP).................................................................36
Getting started.....................................................................................................36
Getting started: HTTP and HTTPS................................................................................36
Getting started: Web services.......................................................................................42
QXP Server Manager.....................................................................................................50
Using the Web interface.......................................................................................50
Understanding rendering..............................................................................................51
Understanding logging.................................................................................................52
Understanding render types..........................................................................................52
Understanding render modifiers...................................................................................77
Using content modifiers................................................................................................87
Using XML modify.........................................................................................................94
Using XML deconstruct and construct........................................................................112
Creating and using hyperlinks.....................................................................................146
Using the Streaming Document Provider....................................................................147
Using administrative request handlers........................................................................148
Using the QXPSM SDK.......................................................................................170
Writing a Java QXPSM client.......................................................................................170
Writing a .NET QXPSM client......................................................................................172
Writing an Objective-C client for Mac OS or iOS........................................................174
Extending QuarkXPress Server Manager....................................................................177
Sample applications............................................................................................183
Sample applications: QXP Server Manager................................................................183
Sample applications legal notice................................................................................184
Modifier schema (annotated)........................................................192
Entities (Modifier DTD).......................................................................................192
ADDCELLS (Modifier schema).............................................................................194
ALIGNHORSETTINGS (Modifier schema)............................................................195
ALIGNVERSETTINGS (Modifier schema).............................................................196
ALLOWBOXOFFPAGE (Modifier schema)..........................................................196
ALLOWBOXONTOPASTEBOARD (Modifier schema).........................................197
ANCHOREDBOXREF (Modifier schema).............................................................197
ARTICLE (Modifier schema)................................................................................198
AUTHOR (Modifier schema)................................................................................198
BNSTYLE (Modifier schema)...............................................................................199
BOTTOM (Modifier schema)...............................................................................199
BOTTOMGRID (Modifier schema).......................................................................199
BOX (Modifier schema).......................................................................................200
BOXATTRIBUTE (Modifier schema).....................................................................202
BOXREF (Modifier schema).................................................................................204
CALLOUTANCHOR (Modifier schema)................................................................204
A GUIDE TO QUARKXPRESS SERVER 9.5 | iii
CALLOUTBOXREF (Modifier schema).................................................................205
CELL (Modifier schema)......................................................................................205
CHILDID (Modifier schema).................................................................................207
CLIPPING (Modifier schema)...............................................................................207
COLGROUP (Modifier schema)...........................................................................210
COLSPEC (Modifier schema)...............................................................................210
COLUMN (Modifier schema)...............................................................................210
COMPONENT (Modifier schema)........................................................................211
COMPOSITIONZONE (Modifier schema)............................................................213
CONTENT (Modifier schema)..............................................................................215
CONTENTPH (Modifier schema).........................................................................216
CONTINUEDHEADER (Modifier schema)............................................................217
CONTINUEDTROWSTYLE (Modifier schema).....................................................217
CONTOUR (Modifier schema).............................................................................217
CONTOURS (Modifier schema)...........................................................................218
COPYFIT (Modifier schema)................................................................................218
COPYRIGHT (Modifier schema)...........................................................................219
DATAPROVIDER (Modifier schema)...................................................................219
DEL (Modifier schema)........................................................................................220
DELETECELLS (Modifier schema)........................................................................220
DESCRIPTION (Modifier schema)........................................................................220
DROPCAP (Modifier schema)..............................................................................220
EBOOKMETADATA (Modifier schema)...............................................................221
ENTRY (Modifier schema)...................................................................................221
EVENTCOLSTYLE (Modifier schema)..................................................................222
EVENTROWSTYLE (Modifier schema).................................................................222
FIRSTTCOLSTYLE (Modifier schema)..................................................................223
FIT (Modifier schema).........................................................................................223
FITTEXT (Modifier schema).................................................................................224
FOOTER (Modifier schema)................................................................................225
FOOTERTROWSTYLE (Modifier schema)............................................................225
FORMAT (Modifier schema)................................................................................226
FRAME (Modifier schema)..................................................................................228
GEOMETRY (Modifier schema)...........................................................................229
GRID (Modifier schema)......................................................................................231
GRIDLINE (Modifier schema)..............................................................................231
GROUP (Modifier schema)..................................................................................232
GROUPCHARACTERS (Modifier schema)............................................................233
GROWACROSS (Modifier schema)......................................................................233
GROWDOWN (Modifier schema)........................................................................234
HEADER (Modifier schema)................................................................................234
HEADTROWSTYLE (Modifier schema)................................................................234
HEIGHT(Modifier schema)...................................................................................235
iv | A GUIDE TO QUARKXPRESS SERVER 9.5
HIDDEN (Modifier schema).................................................................................235
HYPERLINK (Modifier schema)...........................................................................236
ID (Modifier schema)...........................................................................................237
INLINEBOX (Modifier schema)...........................................................................237
INLINETABLE (Modifier schema)........................................................................239
INS (Modifier schema).........................................................................................239
INSET (Modifier schema).....................................................................................239
INTERACTIVITY (Modifier schema).....................................................................240
ISBN (Modifier schema)......................................................................................241
KEEPLINESTOGETHER (Modifier schema)..........................................................241
KEYWORDS (Modifier schema)...........................................................................241
LASTTCOLSTYLE (Modifier schema)...................................................................242
LAYER (Modifier schema)....................................................................................242
LAYOUT (Modifier schema).................................................................................243
LAYOUTREF (Modifier schema)..........................................................................245
LEFT (Modifier schema)......................................................................................245
LEFTCONTROLPOINT (Modifier schema)...........................................................245
LEFTGRID (Modifier schema)..............................................................................246
LINESTYLE (Modifier schema).............................................................................247
LINKEDBOX (Modifier schema)..........................................................................247
LIST (Modifier schema)........................................................................................248
LOCATION (Modifier schema)............................................................................248
LOCKTOGRID (Modifier schema)........................................................................249
MAX (Modifier schema)......................................................................................249
METADATA (Modifier schema)...........................................................................249
MIN (Modifier schema).......................................................................................250
MOVEDOWN (Modifier schema)........................................................................250
MOVELEFT (Modifier schema)............................................................................250
MOVERIGHT (Modifier schema)..........................................................................250
MOVEUP (Modifier schema)...............................................................................250
NOTE (Modifier schema).....................................................................................251
ODDTROWSTYLE (Modifier schema)..................................................................251
ODDTCOLSTYLE (Modifier schema)....................................................................252
ORIGIN (Modifier schema)..................................................................................252
OVERMATTER (Modifier schema).......................................................................252
PAGE (Modifier schema).....................................................................................253
PAGEBREAK (Modifier schema)..........................................................................253
PAGEREF (Modifier schema)...............................................................................254
PARAGRAPH (Modifier schema).........................................................................255
PARENTTABLE (Modifier schema)......................................................................256
PICTURE (Modifier schema)................................................................................256
PLACEHOLDER (Modifier schema).....................................................................259
POSITION (Modifier schema)..............................................................................259
A GUIDE TO QUARKXPRESS SERVER 9.5 | v
PROJECT (Modifier schema)...............................................................................260
PUBLICATION (Modifier schema).......................................................................260
PUBLICATIONCHANNEL (Modifier schema).......................................................261
PUBLISHER (Modifier schema)............................................................................261
RELPOSITION (Modifier schema)........................................................................261
RGBCOLOR (Modifier schema)...........................................................................262
RICHTEXT (Modifier schema)..............................................................................262
RIGHT (Modifier schema)....................................................................................271
RIGHTCONTROLPOINT (Modifier schema).........................................................271
RIGHTGRID (Modifier schema)............................................................................272
ROW (Modifier schema)......................................................................................272
RUBI (Modifier schema)......................................................................................274
RUBITEXT (Modifier schema)..............................................................................274
RULE (Modifier schema)......................................................................................275
RUNAROUND (Modifier schema)........................................................................277
SAVEAS (Modifier schema).................................................................................280
SCALETO (Modifier schema)...............................................................................281
SECTION (Modifier schema)...............................................................................281
SHADOW (Modifier schema)...............................................................................281
SHRINKACROSS (Modifier schema)....................................................................284
SHRINKDOWN (Modifier schema)......................................................................284
SIZE (Modifier schema).......................................................................................284
SPINEIMAGE (Modifier schema).........................................................................284
SPLINESHAPE (Modifier schema).......................................................................285
SPREAD (Modifier schema).................................................................................286
STACKINGORDER (Modifier schema).................................................................286
STORY (Modifier schema)...................................................................................286
SUPPRESSOUTPUT (Modifier schema)................................................................287
TAB (Modifier schema)........................................................................................288
TABLE (Modifier schema)....................................................................................288
TABLEBREAK (Modifier schema)........................................................................290
TABLESTYLE (Modifier schema)..........................................................................291
TABSPEC (Modifier schema)...............................................................................291
TBODY (Modifier schema)...................................................................................291
TCOL (Modifier schema).....................................................................................292
TCOLSTYLE (Modifier schema)...........................................................................292
TCONTINUED (Modifier schema)........................................................................293
TEXT (Modifier schema)......................................................................................293
TEXTATTRIBUTE (Modifier schema)....................................................................294
TEXTNODEPH (Modifier schema).......................................................................295
TEXTPH (Modifier schema).................................................................................295
TFOOT (Modifier schema)...................................................................................296
THEAD (Modifier schema)...................................................................................296
vi | A GUIDE TO QUARKXPRESS SERVER 9.5
TITLE (Modifier schema)......................................................................................296
TOP (Modifier schema).......................................................................................296
TOPGRID (Modifier schema)...............................................................................297
TROW (Modifier schema)....................................................................................297
TROWSTYLE (Modifier schema)..........................................................................298
VALUE (Modifier schema)...................................................................................299
VERTEX (Modifier schema).................................................................................299
VERTEXPOINT (Modifier schema).......................................................................300
VERTICES (Modifier schema)..............................................................................300
WIDTH (Modifier schema)...................................................................................300
Using SSL.......................................................................................301
Secure Sockets Layer (SSL) support....................................................................301
Enabling SSL................................................................................................................301
Enabling HTTP and HTTPS..........................................................................................302
Verifying and using SSL...............................................................................................302
Keystores and SSL certificates.....................................................................................302
QuarkXPress Server XTensions software.....................................304
CopyDeskArticle XTensions software.................................................................304
Rendering articles........................................................................................................304
Exporting articles.........................................................................................................304
Adding articles to projects..........................................................................................305
Creating and deleting components............................................................................305
PDF Filter XTensions software...........................................................................306
Modifier XTensions software..............................................................................306
Using Modifier XTensions software.............................................................................307
Creating XML for Modifier XTensions software..........................................................308
Layer XTensions software...................................................................................308
InteractiveDesigner Server XTensions software.................................................308
App Studio XTensions software.........................................................................309
Telegraph XTensions software......................................................310
Setting Telegraph preferences...........................................................................310
Specifying a server for template upload.....................................................................311
Using Telegraph XTensions software.................................................................313
Identifying QuarkXPress items and groups.................................................................313
Naming items and groups...........................................................................................313
Uploading templates...................................................................................................314
Uploading missing or modified pictures.....................................................................316
A GUIDE TO QUARKXPRESS SERVER 9.5 | vii
QuarkXPress Server Manager.......................................................317
Understanding QuarkXPress Server Manager....................................................317
Load balancing............................................................................................................317
Request timeout interval.............................................................................................318
Determining QuarkXPress Server instance availability................................................319
Logging with QXP Server Manager.............................................................................319
Caching.......................................................................................................................320
Web services...............................................................................................................320
Working with QuarkXPress Server Manager......................................................320
Starting QuarkXPress Server Manager........................................................................321
Request handler binding.............................................................................................322
Configuring QuarkXPress Server instances.................................................................322
Managing the cache....................................................................................................326
Managing logs.............................................................................................................328
Using a proxy server....................................................................................................331
Generating automatic e-mail messages......................................................................331
Using other global settings.........................................................................................332
Saving a server configuration......................................................................................334
Using custom error messages.....................................................................................334
Sending requests from a browser...............................................................................336
The XTensions Developer Kit (XDK).............................................338
Glossary........................................................................................339
Legal notices.................................................................................340
viii | A GUIDE TO QUARKXPRESS SERVER 9.5

Conventions

Formatting conventions highlight information to help you quickly find what you need.
Bold type style: The names of all dialog boxes, fields, and other controls are set in bold
type. For example: "Click OK."
References: In descriptions of features, parenthetical references guide you in accessing
those features. For example: "The Find/Change dialog box (Edit menu) lets you find and
replace text."
CONVENTIONS
Arrows: You will often see arrows (>), which map out the menu path to a feature. For
example: "Choose Edit > Style Sheets to display the Style Sheets dialog box."
Icons: Although many tools and buttons are referenced by name, which you can see by
displaying ToolTips, in some cases icons are shown for easy identification. For example,
"Click the button on the Measurements palette to center text."
Cross-platform issues: This application is quite consistent across operating systems. However,
some labels, buttons, key combinations, and other aspects of the application must differ between Mac OS® and Windows® because of user interface conventions or other factors.
In such cases, both the Mac OS and Windows versions are presented, separated by a slash,
with the Mac OS version presented first. For example, if the Mac OS version of a button
is labeled Select, and the Windows version is labeled Browse, you are directed to "Click
Select/Browse." More complex cross-platform differences are mentioned in notes or
parenthetical statements.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 9

GETTING STARTED WITH QUARKXPRESS SERVER

Getting started with QuarkXPress Server
QuarkXPress Server lets you render QuarkXPress projects in a variety of formats.

QuarkXPress Server architecture

The QuarkXPress Server architecture is shown in the following diagram.
QuarkXPress Server architecture diagram
10 | A GUIDE TO QUARKXPRESS SERVER 9.5

Understanding QuarkXPress Server

QuarkXPress Server lets you output customized QuarkXPress layouts in a variety of formats including JPEG, Portable Document Format (PDF), and PostScript® from a centralized
QuarkXPress Server application. To send a request to a QuarkXPress Server application, all
you need to do is enter a URL into your Web browser's address field. For example, the
following URL instructs the QuarkXPress Server application named "QXPServer" to return
the file "MyProject.qxp" as a PDF file:
http://QXPServer:8080/pdf/MyProject.qxp
The QuarkXPress Server application receives these requests, renders (creates) the requested
projects in the requested formats, and then returns the rendered file to the client application
(in this case, the Web browser).
The format of QuarkXPress Server URL requests is described in detail in "Creating URL
requests" and in "Using QuarkXPress Server."
You can also create custom applications that communicate with a QuarkXPress Server
application using HTTP, Simple Object Access Protocol (SOAP), or another protocol. For
more information, see "Using QuarkXPress Server."
GETTING STARTED WITH QUARKXPRESS SERVER
You can think of QuarkXPress Server as a special version of QuarkXPress that runs on a
server with the following main differences:
Instead of accepting input from a keyboard and mouse, QuarkXPress Server accepts input
in the form of URLs and other types of requests.
Instead of sending a project to a printer, QuarkXPress Server renders (creates) output in a
particular format and sends the rendered file to a client.

Server templates and static projects

QuarkXPress Server can open, render, and serve two types of projects:
Static projects are QuarkXPress projects that can be rendered and served as-is in a variety
of formats by the QuarkXPress Server application. For example, you might make a product
manual available as a static project and allow customers to download that manual in a
variety of formats.
Server templates are QuarkXPress projects that can be manipulated by the QuarkXPress Server
application before being rendered and served. For example, you might make a sales piece
available as a server template so that each person who downloads it receives a personalized
copy.
QuarkXPress Server can open QuarkXPress documents, projects, and templates created in
any language edition of QuarkXPress 5.0 or later. QuarkXPress Server can save and export
projects in QuarkXPress 8.x and QuarkXPress 9.x format.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 11
GETTING STARTED WITH QUARKXPRESS SERVER

The document pool and the Streaming Document Provider

QuarkXPress Server has two main ways to find or receive content for rendering.
The document pool
The Streaming Document Provider
QuarkXPress Server can read templates and static projects from a directory called the
document pool. The document pool can be any directory that is available to
QuarkXPress Server through a file system or an FTP server. You can use any of the following
methods to place files in the document pool:
Drag the files to the document pool directory.
Use the Add Files command in the Document Pool screen of the QuarkXPress Server Web
interface.
Upload the files using FTP to the document pool directory.
Use Telegraph XTensions® software to upload the files to the document pool from within
QuarkXPress. (For more information about Telegraph XTensions software, see "Telegraph
XTensions software.")
For more information about the document pool, see "The QuarkXPress Server user interface."
The document pool directory cannot be an encrypted directory.
QuarkXPress Server can also receive templates, projects, and other files as part of a multipart
HTTP request. For more information, see "Using the Streaming Document Provider."
In addition, QuarkXPress Server can serve documents from a database, a content
management system, or other sources. Collectively, the document pool and any other
source of files to be served are referred to as document providers.

Projects and layouts

QuarkXPress projects can contain one or more layouts, and only one layout can be rendered
at any given time. If you do not specify a layout when you send a rendering request,
QuarkXPress Server renders the first layout in the project.

Job Jackets and resources

In QuarkXPress, resources are things such as style sheets, colors, H&Js, output styles, and
item styles. Resources are stored in a Job Jackets structure, which can be either embedded
in a project or stored in a separate Job Jackets file.
QuarkXPress Server uses a default Job Jackets file to make a default set of resources available
to all projects handled by QuarkXPress Server, regardless of whether they are included in
the projects and articles you render. You can update this file in two ways:
Using the QuarkXPress Server Web interface. For more information, see "Job Jackets dialog
box."
12 | A GUIDE TO QUARKXPRESS SERVER 9.5
GETTING STARTED WITH QUARKXPRESS SERVER
Using request handlers. For more information, see "Jobjacket" and "updateprefsfromjj."
Once you've downloaded the default Job Jackets file, you can update its resources using
QuarkXPress. For more information, see "Job Jackets" in A Guide to QuarkXPress.
The location of the default Job Jackets file is stored in the QuarkXPress Server preferences
folder. For more information, see "QuarkXPress Server preferences."

Caching

To maximize efficiency, QuarkXPress Server uses cached versions of all rendered projects
whenever possible. You can configure projects so that they are never cached, so that they
are cached for a particular amount of time, or so that they are rendered every time they
are served.

QuarkXPress Server preferences

When you launch QuarkXPress Server, the application creates preferences files that are
functionally and structurally equivalent to the preferences files created by QuarkXPress.
These preferences files reside in the QuarkXPress Server "Preferences" folder.
QuarkXPress Server also creates a "QuarkXPress Server.prf" file in the "Preferences" folder.
This file contains preference settings that are specific to QuarkXPress Server.
QuarkXPress Server uses these preferences the same way QuarkXPress uses them. If an
XTensions module creates a project in QuarkXPress Server, that project draws its settings
from the QuarkXPress Server preferences just as a new QuarkXPress project draws its settings
from the QuarkXPress preferences.
Preferences files are stored in the following locations:
Mac OS: [User]/Library/Preferences/Quark/QuarkXPress Server Renderer
9.1/
Windows 2003 and Windows XP when running normally or under a domain user account:
C:\Documents and Settings\[user name]\Application Data\Quark\QuarkXPress Server Renderer 9.1
Windows 2003 and Windows XP when running as a service under a local user account:
C:\Documents and Settings\Default User\Application Data\Quark\QuarkXPress Server Renderer 9.1\
Windows Vista, Windows 2008, or Windows 2008 R2 64-bit when QuarkXPress Server is
running normally or as a service under a domain user account: C:\Users\[user
name]\AppData\Roaming\Quark\QuarkXPress Server Renderer 9.1\
Windows 2008 or Windows Vista, when QuarkXPress Server is running as a service under
a local user account:
C:\Windows\System32\config\systemprofile\AppData\Roaming\Quark\QuarkXPress Server Renderer 9.1\
Windows 2008 R2 64-bit, when QuarkXPress Server is running as a service under a local
user account:
A GUIDE TO QUARKXPRESS SERVER 9.5 | 13
GETTING STARTED WITH QUARKXPRESS SERVER
C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming\Quark\QuarkXPress Server Renderer 9.1
For more information about preferences, see "Administration menu."

Quark License Administrator

To prevent unauthorized use, QuarkXPress Server requires the presence of a Quark® License
Administrator (QLA) server to launch. QuarkXPress Server follows the configuration and
control rules that are enforced by QLA. For more information about QLA, see the QLA
documentation included with QuarkXPress Server.

Master-renderer environment

Requests for project renders are stored in a connection queue. The requests in the rendering
queue can be processed by a single QuarkXPress Server application, or by a master
QuarkXPress Server application and several renderers (additional instances of
QuarkXPress Server). The master QuarkXPress Server application launches the available
number of renderers and then passes the requests in the connection queue to those
renderers as they become available. The number of renderers available for launch is
determined by the number of licenses available from the QLA server.
The master QuarkXPress Server process and all of the renderers it launches share the
following elements:
The same application preferences (each renderer has its own preferences files, but
QuarkXPress Server keeps them synchronized)
The same document cache in memory
The same memory cache
The same server XTensions modules (a separate instance of each XTensions module runs
with each renderer)
The same server document pool (if defined in the QuarkXPress Server preferences or if a
document provider is used in place of the document pool)
If a renderer unexpectedly quits, the master QuarkXPress Server restarts the renderer
without requiring any action from you.

Changing logging levels in "log4j.xml"

You can change the logging levels for QuarkXPress Server. Options include ERROR, INFO,
WARN, DEBUG, and TRACE.
ERROR = includes messages that indicate disrupted and failed requests.
INFO = includes messages that indicate the state of services.
WARN = includes non-critical service error messages
DEBUG = includes messages that indicate server resource usage.
14 | A GUIDE TO QUARKXPRESS SERVER 9.5
GETTING STARTED WITH QUARKXPRESS SERVER
TRACE = includes messages according to activity related to requests.
Refer to Java documentation for more information about logging levels.
To change logging levels:
Open the "conf" folder in your QuarkXPress Server folder.
1
Open "log4j.xml" in a text-editing application.
2
To define the logging level for QuarkXPerss Server errors, scroll to <logger
3
name=com.quark.qxps. The structure is as follows:
<logger name="com.quark.qxps"> <level value="ERROR" /> </logger>
To define the logging level for QuarkXPress Server transactions, scroll to <logger
4
name=QXPSTransactionLogger. The structure is as follows:
<logger name="com.quark.qxps" additivity="false"> <level value="INFO" /> <appender-ref ref="QxpsTransactionFileAppender" /> </logger>
To define the logging level for other activity, scroll to the <root>. The structure is as
5
follows:
<root> <priority value="ERROR" /> <appender-ref ref="QxpsServerAsyncAppender" /> </root>
Save and close "log4j.xml."
6

Understanding QuarkXPress Server XTensions software

QuarkXPress Server ships with a collection of XTensions software that adds capabilities to
QuarkXPress Server. For example, PDF Export XTensions software lets QuarkXPress Server
serve content in PDF format; Modifier XTensions software lets you retrieve, manipulate, and reconstruct XML representations of projects; and QuarkCopyDesk® Renderer XTensions
software lets you create QuarkCopyDesk articles. Telegraph XTensions software works with
QuarkXPress to allow designers to name boxes in template files so that those boxes can
be addressed by URLs.
For more information about XTensions software included with QuarkXPress Server, see
"QuarkXPress Server XTensions software" and "Telegraph XTensions software."

The QuarkXPress Server XTensions API

In addition to the XTensions modules included with QuarkXPress Server, developers can
create custom XTensions software that add features. The complete server XTensions
Application Programming Interface (API) documentation is available in the
QuarkXPress Server XTensions Developer's Kit (XDK).
A GUIDE TO QUARKXPRESS SERVER 9.5 | 15
GETTING STARTED WITH QUARKXPRESS SERVER
As of version 8.0, the QuarkXPress Server XDK is Unicode-compliant.
The QuarkXPress Server XDK lets you create XTensions modules that provide the following
abilities:
The ability to register request handlers
The ability to register project providers
The ability to register new render formats
The ability to add items to the list of response properties, cookies, and HTTP header items
The ability to log messages in log files
The ability to initiate a new transaction to be processed by the server
The ability to completely control how projects are processed by the server
In addition, QuarkXPress Server XTensions software can register for the following basic
callbacks:
Pre-processing
Content loading
Layout modification
Post-processing
Removing slugs while running the QuarkXPress project renderer
Analyzing the server after a transaction is complete
Pre- and post-transaction callback

Configuring QuarkXPress Server for launch

To configure QuarkXPress Server prior to launch, open the file [QuarkXPress Server
application folder]/conf/ServerApp.properties folder) and modify it as follows:
To make the server run without loading any network interface, use the -nonetwork option with the qxpservercore.serverRendererParameters. In this mode, the only
transactions a server can run are those passed to it by another process.
To control whether renderers are monitored, set
qxpservercore.monitorrenderers.value to true or false.
To specify the query interval for monitoring renderers, set
qxpservercore.monitorrenderers.queryinterval.value to a value in seconds.
To specify the number of retries for monitoring renderers, set
qqxpservercore.monitorrenderers.noofretries.value to an integer. If a renderer
process has been attempting to fulfill a request for the specified number of retries (with
16 | A GUIDE TO QUARKXPRESS SERVER 9.5
the specified query interval in seconds between retries), the renderer monitor recyles that
process.
To control how many renderers the master process launches, specify a number for
qxpserver.subrenders. Note that the number of renderers you can launch depends on
your license.
To force the renderers to restart on a periodic basis, specify a value in hours for
qxps.render.recycle.interval. The default value is 24, or 24 hours. Decimal values
are permitted. Renderers restart serially, so one renderer doesn't restart until the other is
finished restarting. If a renderer is busy, the master process waits for 15 minutes, and then
if the renderer is till busy, postpones the restart until the next interval elapses. Set this
value to zero to turn the automatic restart feature off.

Launching QuarkXPress Server

On Windows, you can install QuarkXPress Server as an application or as a service (Quark
recommends that you always run it as a service). On Mac OS, QuarkXPress Server always
runs as an application.
GETTING STARTED WITH QUARKXPRESS SERVER
If you install QuarkXPress Server on Windows as an application, you can launch it using
the Start menu or by double-clicking the "ServerStartup.bat" in the QuarkXPress Server
application folder.
If you want to launch QuarkXPress Server as an application on Windows Server 2008,
Windows Vista, and Windows 7, Quark recommends executing "ServerStartup.bat" as an
administrator.
For information on launching QuarkXPress Server in a separate Tomcat installation, see
"Deploying QuarkXPress Server externally" in the QuarkXPress Server ReadMe.
QuarkXPress Server offers a browser-based user interface instead of a conventional user
interface.

Quitting QuarkXPress Server

To quit QuarkXPress Server, press Control+C.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 17

THE QUARKXPRESS SERVER USER INTERFACE

The QuarkXPress Server user interface
QuarkXPress Server offers a browser-based user interface instead of a conventional user
interface. This chapter describes that interface and explains how you can use it to configure
and customize your QuarkXPress Server application and manage your server XTensions
modules.
To view the QuarkXPress Server welcome page, launch a Web browser and enter the URL
http://[server]:[port] (where [server] is the IP address or domain name of the
server and [port] is the TCP/IP port on which the server is running). The welcome screen
displays.
The QuarkXPress Server welcome page
To display the administrative client, click Open Admin Client. If the server has realm
verification enabled, you will be asked to enter your user name and password. The
administrative client displays.

Navigation pane

The navigation pane on the left side of the has two areas. The Server Information area
lets you view server information and the transaction log, and the Document Pool area
18 | A GUIDE TO QUARKXPRESS SERVER 9.5
THE QUARKXPRESS SERVER USER INTERFACE
lets you view the contents of the document pool. You can collapse and expand this pane
with the button at the right end of the Navigation Pane header.
If you click Server Information, the Status Monitor screen displays. The fields in the top
area provide information about the server. The icons in the area below represent the
renderers that are currently running and show which requests are being processed by each
renderer in real time. This screen also shows how many active and idle renderers there
are.
Status Monitor screen
If you click Manage Logs, the Logs screen displays the current transaction log.
Logs screen
To download the active log, including recent crash reports, click Download Logs at the
top of the Logs header.
To make the log scroll automatically as events occur, check Auto Scroll.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 19
THE QUARKXPRESS SERVER USER INTERFACE
To clear all logs, click Clear All Logs.
To clear the current log, click Clear Log.
To display the Log Settings dialog box, click Log Settings. In this dialog box, you can
change the maximum log file size, the maximum rolling count, and the logging level for
the general QuarkXPress Server log, the QuarkXPress Server transaction log, and the
QuarkXPress Server fatal log.
To view a particular log file, choose an option from the Select Log File drop-down menu.
If you click Show XTensions Information, the XTensions Information screen displays,
allowing yout o view the status of all installed XTensions modules.

Administration menu

The administration menu lets you manage QuarkXPress Server.
You do not have to restart the server in GUI mode to set preferences.

General Preferences dialog box

The General Preferences dialog box (Administration > Preferences > General) lets you
set preferences that are not related to rendering. It includes the tabs described in the
following topics.
You can also set general preferences using the setprefs request handler. For more
information, see "Setprefs."
General Preferences Server
The Server tab (Administration > Preferences > General > Server) includes the following
controls.
Use the Document Root Folder field to specify the location of the document pool.
Putting the document pool on a network connected drive is not recommended, because
this negatively impacts the performance of QuarkXPress Server.
Use the Allow Memory Caching check box to control whether memory is cached.
Use the Max Memory Cache Size field to specify the maximum memory size allocated
to the cache memory. Valid values are from 10MB to 1024MB.
Use the Force Served Documents Closed check box to control whether QuarkXPress Server
closes projects from the document pool after it renders them, regardless of the Telegraph
XTensions software setting. Uncheck this box to keep such projects open on the server.
Use the Default Renderer Type drop-down menu to specify the default rendering format
for the server.
20 | A GUIDE TO QUARKXPRESS SERVER 9.5
THE QUARKXPRESS SERVER USER INTERFACE
Appstudio: Returns a .zip file containing an HTML5 App Studio article.
Appstudio Upload: Exports an HTML5 App Studio article and uploads it to the App Studio
Publishing Portal.
AVE: Returns a .zip file containing an AVE issue (.zave) file and its manifest.
ePUB: Returns an ePUB file.
EPS Document: Returns an Encapsulated PostScript (EPS) file.
JPEG: Returns a JPEG file.
PDF: Returns a PDF file.
PNG: Returns a Portable Network Graphics (PNG) file.
PostScript: Returns a PostScript file.
QCDDOC: Returns a QuarkCopyDesk article.
QuarkXPress Document: Returns a QuarkXPress project.
Raw Custom: Returns a file in internal QuarkXPress format for use by server XTensions
software developers.
RLE Raw Custom: Returns a file in internal QuarkXPress format (compressed using Run
Length Encoding) for use by server XTensions software developers.
SWF: Returns a SWF (Flash) file.
Use the Scale field to specify the default scale percentage at which QuarkXPress Server
should render projects.
Use the Disable QXD Return check box to specify whether QuarkXPress Server can return
QuarkXPress projects to clients.
General Preferences Log
The Log tab (Administration > Preferences > General > Log) includes the following
controls.
Use the Log Document Problems check box to specify whether to include problem
descriptions in transaction log files. The "Log" folder inside the QuarkXPress Server
application folder contains three log files:
QuarkXPress Server Fatal Log.log: This log lists all fatal errors.
QuarkXPress Server Log.log: The log for the Java process. This log contains source
code-level logging information that can be useful in troubleshooting.
QuarkXPress Server Transaction Log.log: This log lists all transactions and all errors.
Detailed application logging is enabled for these log files only if it is enabled in the
"log4j.xml" file.
To log detailed transaction timing data, check Log Timing Data.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 21
THE QUARKXPRESS SERVER USER INTERFACE
Logged problems include the following:
Missing Fonts: If fonts are missing from a project that has been requested for rendering,
a one-line description of each missing font is added to the error log. If QuarkXPress Server
receives a request to render a project and does not have access to the fonts required by the
project, it uses the fonts specified in the Fonts tab of the Preferences dialog box
(Administration > Preferences > General). If these fonts are also unavailable,
QuarkXPress Server substitutes Helvetica (Mac OS) or Arial (Windows). This behavior is
the same as it is in QuarkXPress.
Missing Pictures
Missing SXTs: If a required server XTensions module is missing when a rendering request
is received, a one-line description of each missing module is added to the error log. If the
name of the missing module is not returnable, the XTensions module ID number is
returned.
Text Encoding/Character Set Problems: If text is sent to a text box in the template and
the system does not have access to the correct font glyph, the issue is logged. The log data
indicates the character set that the system attempted to convert. For example, the log
entry might show that a request for Japanese characters was sent to an English project.
Information about missing fonts and missing pictures is also recorded in the
"QuarkXPressServerRenderer.log" file. This file also contains detailed timing information,
including the transaction UID for each transaction. This log file can be found here:
Mac OS: [drive]/Users/[user name]/Library/Logs/Quark
Windows: [drive]:\Users\[user name]\AppData\Quark\Log or
[drive]:\Documents and Settings\[user name]\Application Data\Quark\Log
To download all logs to a non-server computer, click Show Transaction Log in the
QuarkXPress Server Web interface, then click Download Logs on the home page.
General Preferences Email
QuarkXPress Server can automatically notify someone by e-mail when the checked-out
QLA license is about to expire. The Email tab (Administration > Preferences > General
> Email) lets you specify where such e-mail messages should be sent.
Use the Server field to specify the domain name or IP address of the e-mail server that QuarkXPress Server should use to send messages (for example, mail.quark.com).
Use the Port field to specify the port number of the e-mail server that QuarkXPress Server
should use to send messages. Valid values are from 0 to 255.
Use the From to specify the source e-mail address the QuarkXPress Server application should use to send messages (for example, QXPSserver1@quark.com).
Use the To to specify the e-mail address to which the QuarkXPress Server application should send messages (for example, QXPServerAdmin@quark.com).
22 | A GUIDE TO QUARKXPRESS SERVER 9.5
General Preferences Authentication
The Authentication tab (Administration > Preferences > General > Authentication)
includes the following controls.
Check Authenticate For Admin Requests to enable the Username and Password fields.
These fields let you control access to administrative parameters and features. You can enter
up to 32 characters.

Renderer Preferences dialog box

Use the renderer Preferences dialog box (Administration > Preferences > Renderer) to
set up default preferences for use when projects are created in QuarkXPress Server. It
includes the tabs described in the following topics.
Many of these preferences come into play only when you create a project in QuarkXPress Server, either using a construct request or through a request handled by a custom
QuarkXPress Server XTensions module.
You can also set renderer preferences using the setrendererprefs request handler. For
more information, see"Setrendererprefs."
THE QUARKXPRESS SERVER USER INTERFACE
In versions of QuarkXPress Server prior to 9.0, these resources were accessed through the
Document Controls submenu.
Preferences Display
The Display pane (Administration > Preferences > Renderer > Display) includes the
following controls.
Use the Color TIFFs drop-down list to specify the color depth of screen previews created
for color TIFFs when they are imported.
Use the Gray TIFFs drop-down list to specify the resolution of screen previews created for
grayscale TIFFs when they are imported.
Choose a profile that corresponds to your monitor from the Monitor Profile drop-down
menu, or choose Automatic. Profiles can be placed in the "Profiles" folder in the
QuarkXPress Server application folder.
Preferences Input Settings
The Input Settings tab (Administration > Preferences > Renderer > Input Settings)
includes the following controls.
Check Smart Quotes to force QuarkXPress to replace feet (')and inches (") marks
automatically with the specified quotation marks.
Use the Format drop-down menu to specify the default characters to be used with the
Smart Quotes feature and Convert Quotes option in the Get Text dialog box (File > Get
Text).
A GUIDE TO QUARKXPRESS SERVER 9.5 | 23
THE QUARKXPRESS SERVER USER INTERFACE
To change the separators used for indicating sequential ranges for output, enter a value
in the Sequential Page Range Separator. This value override the preferences set for a
project.
To change the separators used for indicating nonsequential ranges for output, enter a value
in the Non Sequential Page Range Separator. This value override the preferences set for
a project.
Preferences Font Fallback
The Font Fallback pane (Administration > Preferences > Renderer > Font Fallback)
includes the following controls.
Check Font Fallback to activate the Font Fallback feature. When this feature is active, if
the application encounters a character it cannot display in the current font, it attempts
to find a font that can display the character.
If the application encounters a missing font when opening a project, it uses the preferences
in this pane to determine which substitute fonts to use.
If you add characters to an exising project and the font cannot support those characters,
the application will search the system for a font that can display the characters.
Check Search to have the application search for a suitable font that is used in the active
project. To restrict the search to a particular range, choose an option from the Search Type
drop-down menu. To search the entire story where a missing font occurs, choose Active
Story. To search a particular number of paragraphs in both directions, choose Paragraph
and enter a number in the Search Limit field.
To indicate which fallback fonts should be used when no other font can be found (taking
the Search settings into account), choose options from each of the drop-down menus in
the Font List area.
To indicate which font should be used for the slug line when a layout is printed with
registration marks turned on, choose an option from the Slug Line Font drop-down menu.
Preferences Open and Save
The Open and Save pane (Administration > Preferences > Renderer > Open and Save)
includes the following controls.
Choose an option from the Encoding drop-down menu to indicate how the applications
should display characters in non-Unicode text.
Preferences Fonts
The Fonts pane (Administration > Preferences > Renderer > Fonts) includes the following
controls.
To specify default replacement fonts, check Specify Default Replacement Font and choose
options from the Roman and East Asian drop-down menu.
24 | A GUIDE TO QUARKXPRESS SERVER 9.5
THE QUARKXPRESS SERVER USER INTERFACE
To highlight characters that are in a Traditional Chinese encoding's UDA/VDA (User
Defined Area/Vendor Defined Area) range so that these characters can be visually verified,
check Highlight character ranges defined by Traditional Chinese font vendors.
Preferences EPS
The EPS pane (Administration > Preferences > Renderer > EPS) includes the following
controls.
To control whether the application should generate a preview of an EPS file or use the
preview (if any) embedded in the file, choose an option from the Preview drop-down list.
The option specified in this pane is used only when the EPS preview is being created. If
you change the preference, you need to reimport the EPS file.
Preferences PDF
Use the PDF pane of the Preferences dialog box (Administration > Preferences > Renderer
> PDF) to set preferences for rendering in PDF format.
The PDF pane displays only if PDF Filter XTensions software is loaded. For more
information, see "PDF Filter XTensions software"
Use this pane to specify a PDF workflow:
Click DirectPDF to generate PDF output in the browser. This is the default option.
Click PDFtoFolder to generate and save PDF files to a folder. Click Select/Browse to specify
a location for the folder in the Watched Folder field.
Click PS4D (PostScript File for Later Distilling) to generate a PostScript file. Click
Select/Browse to specify a location for the folder in the Watched Folder field.
Preferences Project General Settings
The Project General Settings pane (Administration > Preferences > Renderer > Project
General Settings) includes the following controls.
Check Use OpenType Kerning to activate the default kerning values for OpenType fonts.
When OpenType kerning is active, it overrides any kerning specified through Kerning
Table Edit (Utilities menu) for OpenType fonts.
To disable OpenType kerning for full-width characters, check Do Not Kern Full Width
Characters.
Preferences Print Layout Settings
The Print Layout Settings pane (Administration > Preferences > Renderer > Print Layout
Settings) includes the following controls.
Use the Master Page Items drop-down menu to control what happens to master items
when master pages are applied.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 25
THE QUARKXPRESS SERVER USER INTERFACE
Click Keep Changes if you intend modified master items on your layout pages to remain
when a new master page is applied. The items that are kept are no longer master items.
Click Delete Changes if you want modified master items on your layout pages to be deleted
when a new master page is applied.
Use the Framing drop-down menu to specify whether frames are placed inside or outside
text and picture boxes.
When you click Inside, the distance between the text and the frame is determined by the
box's Text Inset values (Item > Modify). When you place a frame inside a picture box,
the frame overlaps the picture.
When you click Outside, the frame is placed outside the box, increasing the box's width
and height. The frame cannot extend beyond a constraining box or the pasteboard.
Use the Auto Page Insertion drop-down menu (Print layouts only) to determine whether
pages are inserted automatically to contain text overflow from an automatic text box or
a chain of text boxes (on a page associated with a master page that contains an automatic
text box). The drop-down menu also enables you to determine where any pages will be
inserted.
Preferences Print Layout Measurements
The Print Layout Measurements pane (Administration > Preferences > Renderer >
Default Print Layout Measurements) includes the following controls.
Use the Horizontal and Vertical drop-down menus to specify the measurement system
for the rulers displayed along the top and left of the layout window. Horizontal corresponds
to the top ruler; Vertical corresponds to the left ruler.
Use the Points/Inch field to override the default value of 72 points per inch. The application
uses the value here as the basis for all point and pica measurements, as well as for all point-
and pica-to-inch conversions. The desktop publishing standard for points per inch is 72.
However, the traditional typographic standard used on most metal typographic rulers is
usually approximately 72.27 or 72.307 points per inch (range = 60 to 80 pt, measurement
system = points, smallest increment = .001).
Use the Ciceros/cm field to specify a ciceros-to-centimeter conversion value different from
the standard 2.1967 (range = 2 to 3 c, measurement system = ciceros, smallest
increment = .001).
Preferences Paragraph
The Paragraph pane (Administration > Preferences > Renderer > Paragraph) includes
the following controls.
Use the Auto Leading feature to automatically set line spacing. Unlike paragraphs with
absolute leading (identical line spacing above every line), paragraphs with auto leading
may include lines with different leading when fonts and font sizes are mixed in the same
paragraph.
26 | A GUIDE TO QUARKXPRESS SERVER 9.5
THE QUARKXPRESS SERVER USER INTERFACE
Auto leading starts with a base amount of leading, which the application calculates by
examining the ascent and descent values built into the fonts used in an auto-leaded line
and the line above it; however, the user-specified text size plays the largest part in
determining this base amount. Finally, a value specified by the user in the Auto Leading
field is added to the base amount to arrive at the total amount of leading.
To specify percentage-based auto leading, enter a value from 0% to 100% in 1% increments.
This value determines the amount of leading between two lines of text as follows: The
largest font size in the line above is multiplied by the percentage value. This outcome is
added to the base amount of auto leading between the two lines. Although the design of
certain fonts complicates the process, here is a simplified example: 10-point text styled
consistently in a "standard" font with Auto Leading set to 20% has 12 points of leading
(10 pts + [20% of 10] = 12 pts).
Use the Maintain Leading check box to control the placement of a line of text that falls
immediately below an obstruction in a column or box. If Maintain Leading is checked,
the line's baseline is placed according to its applied leading value. If Maintain Leading is
unchecked, the ascent of the line will abut the bottom of the obstruction or any applied
runaround value.
In the Lock to Grid Based On area:
Click Ascent and Descent to lock text to grid based on the ascenders and descenders of
characters.
Click Font Size (Em Box) to lock text to grid based on the size of the em boxes of the
characters.
Preferences Character
The Character pane (Administration > Preferences > Renderer > Character) includes
the following controls.
Use the Superscript fields to control the placement and scale (size) of superscript characters.
The Superscript Offset value determines how far below the baseline the application places
a superscript character. The Superscript Offset value is measured as a percentage of font
size. The default value is 33%. The Superscript VScale value determines the vertical size
of the character and is a percentage of font size. The Superscript HScale value determines
width and is a percentage of the normal character width (as specified by the font designer).
The default value for both scales is 60% (range = 0 to 100%, measurement system =
percentage, smallest increment = .1).
Use the Subscript fields to control the placement and scale (size) of subscript characters.
The Subscript Offset value determines how far above the baseline the application places
a subscript character. The Subscript Offset value is measured as a percentage of font size.
The default value is 33%. The Subscript VScale value determines the vertical size of the
character and is a percentage of font size. The Subscript HScale value determines width
and is a percentage of the normal character width (as specified by the font designer). The
default value for both scales is 100% (range = 0 to 100%, measurement system = percentage,
smallest increment = .1).
A GUIDE TO QUARKXPRESS SERVER 9.5 | 27
THE QUARKXPRESS SERVER USER INTERFACE
Use the Small Caps fields to control the scale of characters with the Small Caps type style
applied to them. The Small Caps VScale value determines the vertical size of the character
and is measured as a percentage of font size. The Small Caps HScale value determines
width and is measured as a percentage of the normal character width (as specified by the
font designer). The default value for both scales is 75% (range = 0 to 100%, measurement
system = percentage, smallest increment = .1).
Use the Superior fields to control the scale of superior characters. The Superior VScale
value determines the vertical size of the character and is measured as a percentage of font
size. The Superior HScale value determines width and is measured as a percentage of the
normal character width (as specified by the font designer). The default value for both scales
is 60% (range = 0 to 100%, measurement system = percentage, smallest increment = .1).
Use the Ligatures Break Above field to use ligatures built into a font. A ligature is a
typographic convention in which certain characters are combined into a single glyph.
Most fonts contain ligatures for the characters "f" followed by "i" and "f" followed by "l".
The Ligatures Break Above field enables you to specify the kerning or tracking value
(measured in 1/200 em space increments) above which characters will not be combined
into ligatures. For example, a headline with a large tracking value would probably not
contain ligatures. The default value is 1 (range = 0 to 10, measurement system = .005
[1/200] em space, smallest increment = .001). To prevent the second two letters in "ffi"
and "ffl" (as in office and waffle) from being combined into ligatures, check Not "ffi" or
"ffl". Three-character ligatures for these combinations, common in traditional typesetting
systems, are not standardized in fonts designed for Mac OS, so some typographers prefer
to keep all three letters separate rather than combine only two of them. Note that many
PostScript fonts do not have "ffi" and "ffl" ligatures, but most OpenType fonts do. This
option is unchecked by default.
Check Auto Kern to specify that the application should use kerning tables, which are built
into most fonts, to control intercharacter spacing. The Auto Kern Above field enables you
to specify the point size above which automatic kerning must be used. The Auto Kern
Above feature also implements custom tracking information specified in the Tracking
Values dialog box for a selected font (Utilities > Edit Tracking) in QuarkXPress. This
option is checked by default, with a 4-point threshold (range = 0 to 72 pt, measurement
system = various [", pt, cm, etc.], smallest increment = .001).
Check Standard Em Space to specify an em-space equivalent to the point size of the text
(for example, 24pt text has a 24pt em space). If Standard Em Space is unchecked, the
application uses the width of the two zeros in the current font as the em-space width. This
option is checked by default. You can insert an em space in text by pressing
Option+space/Ctrl+Shift+6.
Use the Flex Space Width field to change the 50% default width of a flexible space. To
create a breaking flexible space, press Option+Shift+space/Ctrl+Shift+5; to create a
nonbreaking flexible space, press Command+Option+Shift+space/Ctrl+Alt+Shift+5. The
Flex Space Width value is expressed as a percentage of the normal en space for a given
font and font size (range = 0 to 400%, measurement system = percentage, smallest
increment = .1).
28 | A GUIDE TO QUARKXPRESS SERVER 9.5
THE QUARKXPRESS SERVER USER INTERFACE
Use the Accents for All Caps check box to specify whether to include accent marks on
accented characters with the All Caps type style applied. This option is checked by default.
Use the Space between CJK & R field to indicate how much space should be included by
default between a Chinese, Japanese, or Korean character and an adjacent Roman character.
Preferences Trapping
The Trapping pane (Administration > Preferences > Renderer > Trapping) includes the
following controls.
Select a Trapping Method:
Click Absolute to trap using the values in the Auto Amount and Indeterminate fields
according to the object and background colors involved. If the object color is darker, the
object is choked by the background using the Auto Amount value. If the object color is
lighter, the object is spread into the background using the Auto Amount value.
Click Proportional to trap using the value in the Auto Amount field multiplied by the
difference between the luminance (lightness or brightness) of the object color and the
background color.
Click Knockout All to turn off trapping and print objects with a zero trap amount.
Check Process Trapping to trap each process separation plate individually when a page
contains overlapping process colors.
Check Ignore White to specify that an object color in front of multiple background colors
(including white) does not take white into account when trapping.
Enter a trapping value in the Auto Amount field or choose Overprint:
Enter a value in the Auto Amount field to control the amount of trapping that QuarkXPress
applies to object and background colors that have an Auto Amount specified in the Trap
Specifications dialog box (Edit > Colors > Edit Trap), and to control the amount of
trapping applied to items with an Auto Amount (+) Trap Information or (–) specified
in the Trap Information palette (Window > Trap Information).
Choose Overprint to cause overprinting for object and background colors with an Auto
Amount specified in the Trap Specifications dialog box (Edit > Colors > Edit Trap), as
well as for items with an Auto Amount (+) or (–) specified in the Trap Information palette
(Window > Trap Information).
Enter a trapping value in the Indeterminate field or choose Overprint:
Enter a value in the Indeterminate field to control the amount of trapping that
QuarkXPress applies to object colors that are in front of indeterminate backgrounds
(multiple colors with conflicting trapping relationships).
Choose Overprint to cause an object color to overprint an indeterminate background.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 29
THE QUARKXPRESS SERVER USER INTERFACE
Enter a Knockout Limit value. The knockout limit is the value (expressed as a percentage
of darkness of the object color) that enables you to control the point at which an object
color knocks out a background color.
Enter an Overprint Limit value. Overprint limit is a trapping setting that allows an object
set to overprint to trap according to the Auto Amount value if the object's shade is less
than a particular percentage.
Preferences Color Manager
The Color Manager pane (Administration > Preferences > Renderer > Color Manager)
includes the following controls.
To specify an engine for color transformation, choose an option from the Color Engine
drop-down menu.
To achieve the darkest possible blacks in all output methods, check Black Point
Compensation.
Use the Source Setup drop-down menu to specify the source color space of pictures and
colors used in the application.
To enable the Profile Information command in the Window menu and the Color
Management tab in the Import Picture dialog box, check Enable Access to Picture
Profiles. This option allows you to view information about profiles.
To specify a default proof output setup, choose an option from the Proof Output drop-down
menu.
To specify a rendering intent for soft proofing, choose an option from the Rendering
Intent drop-down list. Perceptual scales all the colors in the source gamut so that they
all fit within the destination gamut. Relative Colorimetric retains colors that are in both
the source gamut and the destination gamut. The only source colors that are changed are
those that are not within the destination gamut. Saturation considers the saturation of
source colors and changes them to colors with the same relative saturation in the
destination gamut. Absolute Colorimetric retains colors that are in both the source gamut
and the destination gamut. Colors that are outside the destination gamut are adjusted in
relation to how they would look when printed on white paper. Defined by Sources uses
the rendering intents defined in source setup for all colors and images.
To color manage vector content in imported EPS and PDF files, check Color Manage
Vector EPS/PDF. Note that this preference applies only to EPS and PDF files imported
after this box is checked.
To color manage vector content in EPS and PDF files that have already been imported in
the active project, check Include Existing Vector EPS/PDF in Layout.
Preferences Layers
The Layers pane (Administration > Preferences > Renderer > Layers) has the following
controls.
30 | A GUIDE TO QUARKXPRESS SERVER 9.5
THE QUARKXPRESS SERVER USER INTERFACE
To make new layers visible by default, check Visible.
To suppress the printout of new layers by default, check Suppress Output.
To make new layers locked by default, check Locked.
To maintain runaround on new layers so that text on visible layers flows around items on
hidden layers, click Keep Runaround.
Preferences Full Res Preview
Use the Full Res Preview pane (Administration > Preferences > Renderer > Full Res
Preview) to control how the Full Res Preview XTensions module works.
To turn off Full Resolution Preview when opening a project, check Disable Full Resolution
Previews on Open.
To specify a maximum cache folder size for full resolution previews, enter a value in the
Maximum Cache Folder Size field.
Preferences Kindle
Use the Kindle pane (Administration > Preferences > Renderer > Kindle) to specify the
location of the KindleGen tool, which is required for Kindle output.
To get a free copy of KindleGen, visit
https://kdp.amazon.com/self-publishing/help?topicId=A3IWA2TQYMZ5J6.
Preferences Modifier
Use the Modifier pane (Administration > Preferences > Renderer > Modifier) to control
whether and where errors are displayed in rendered layouts.
To include descriptions of rendering errors in the layout itselt, check Annotate errors in
the Output Document. (For more information, see "annotateerrors.") In rendered
QuarkXPress files, errors are displayed as notes. In rendered PDFs, errors are displayed as
comments. In XML output, errors are displayed as notes XML markup.
To append descriptions of rendering errors after the last page, check Append errors into
the Output Document. (For more information, see "appenderrors.") Descriptions of rendering
errors are formatted in 10-point magenta Arial.

Job Jackets dialog box

The Job Jackets dialog box lets you edit the Job Jackets file used by QuarkXPress Server.
To edit the QuarkXPress Server Job Jackets file:
In the QuarkXPress Server Web interface, choose Administration > Job Jackets. The
1
Manage Job Jacket dialog box displays.
Click the Get Job Jacket for editing button and save the Job Jackets file to the desktop.
2
Open the downloaded Job Jackets file in QuarkXPress and make any necessary changes to
3
the QXPSJobTicket Job Ticket.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 31
THE QUARKXPRESS SERVER USER INTERFACE
In the Job Jacket dialog box, click Choose File and select the modified Job Jackets file.
4
Click Submit. The QuarkXPress Server Job Jackets file is replaced with the modified version.
5

App Studio preferences

The AppStudio dialog box lets you specify credentials and proxy settings so that
QuarkXPress Server can upload HTML5 App Studio articles to the App Studio Publishing
Portal. Enter your App Studio Publishing Portal user name and password, then enter the
proxy settings for your proxy server (if any).

Check Out License dialog box

To check the QuarkXPress Server license out of Quark License Administrator, choose
Administration > Check Out License. To specify the number of days for checkout, enter
a value in days in the Check out for field. To be warned in advance of license expiration,
check Warn me and use the corresponding fields.
32 | A GUIDE TO QUARKXPRESS SERVER 9.5

Using QuarkXPress Server

The xml namespace deconstructs a project according to the Modifier DTD. The construct
namespace lets the server turn an XML representation of a QuarkXPress project back into
an actual project. With these namespaces, you can deconstruct a project into an XML
representation, change the XML in accordance with the Modifier DTD, and then have the
server generate an updated version of the QuarkXPress project. You can even create new
QuarkXPress projects from scratch using XML.
In addition, you can use the construct namespace to:
USING QUARKXPRESS SERVER
Create a page based on master page
Create a project from XML, using a Job Jackets file as the basis for the project
Modify text font and style, including OpenType® styles
Apply style sheets and local formatting to text
Create and populate tables
Import pictures into picture boxes and specify picture attributes
The DTD used for XML construction and deconstruction is completely Unicode®-compliant,
making it ideal for use in international publishing. Furthermore, the use of this DTD
ensures that the schema of XML output created by Constructor does not change when
server preferences change. This DTD is provided in the QuarkXPress Server application
folder and fully documented in "Modifier schema (annotated)."
Deconstructor XTensions software and the deconstruct namespace are no longer
supported.

Creating URL requests

You can use URL requests to make QuarkXPress Server render projects in a variety of
formats, to use the features of server XTensions modules, and to control the server. The
topics below provide an overview of how to construct server requests and use URL
parameters.
This chapter also lists functions that let you control the server. For detailed information
about constructing other types of URL requests, see "Using QuarkXPress Server."
A GUIDE TO QUARKXPRESS SERVER 9.5 | 33
USING QUARKXPRESS SERVER

Understanding URL requests

QuarkXPress Server URL requests should use the following format:
http://server:port/namespace/path/projectname?parameter=value
server: Indicates the name or IP address of the QuarkXPress Server computer.
port: Indicates the QuarkXPress Server application's port number. The default port number
is 8080.
namespace: Sets the render type (or indicates another server functionality to access). For
more information, see "Understanding QuarkXPress Server namespaces"
path: Indicates the path to the directory where the target project file is stored. The project
to be rendered can either be located in the document pool (in which case paths are
evaluated relative to the document pool directory), or can be streamed as part of a multipart
HTTP Post request. When the project is streamed as part of the request, the project name
will correspond to the name given to the HTTP request part which contains the project
data.
projectname: Identifies the project to be rendered.
parameter=value: Optional parameters that provide more detailed control over how the
target project should be rendered. Multiple parameter/value pairs, separated by the "&"
character, can be included.
For example, the following URL asks the QuarkXPress Server application named "QXPServer"
to return the file "MyProject.qxp" as a PDF file with hyperlinks and all fonts embedded:
http://QXPServer:8080/pdf/MyProject.qxp?includehyperlinks=1&embedallfonts=1
Some URL parameters require Boolean arguments. For such parameters, valid values include
1 or 0, true or false, y or n, and yes or no.
You can also send requests to QuarkXPress Server using the HTTP GET and POST protocols
and using XML with XSLT. For more information about these approaches, see "Using
QuarkXPress Server."

Understanding QuarkXPress Server namespaces

QuarkXPress Server namespaces differentiate among types of requests that are otherwise
identical. For example, consider the following three URLs:
http://QXPServer:8080/project1.qxp
http://QXPServer:8080/pdf/project1.qxp
http://QXPServer:8080/postscript/project1.qxp
These requests are identical, except each uses a different namespace (in italic). (The first
request does not specify a namespace, but this simply means the project is to be rendered
using the server's default render type.)
34 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
Namespaces can be used to determine the format in which a rendered project is returned,
as indicated above, but they can also be used to direct a request to XTensions software that performs other functions. For example, if you use Modifier XTensions software's xml
namespace, Modifier XTensions software can return an XML representation of the project.
Looking up a namespace
This guide lists the namespaces for every QuarkXPress Server function. There is no single
list of namespaces because some functions do not require a particular namespace or are
available in multiple namespaces. To determine which namespace you want to use:
In this Guide, go to the page that documents the render type you want to use. (For more
1
information, see "Understanding render types.")
Locate the Namespace row. If the render type or function has an associated namespace,
2
that namespace is listed here.
Third-party XTensions can add their own namespaces. For information about a third-party
namespace, see the documentation for the XTensions module that adds that namespace.

Understanding QuarkXPress Server parameters

Parameters let you control the details of how a request is executed. For example, you can use the page parameter to create a request that returns only the third page of a project:
http://QXPServer:8080/jpeg/project1.qxp?page=3
You can include multiple parameters in the same request; simply separate them with an
ampersand (&). For example, here's a new version of the above URL that returns page three
at a scale of 50%:
http://QXPServer:8080/jpeg/project1.qxp?page=3&scale=.5
Looking up a parameter
This Guide lists the parameters that are available for every QuarkXPress Server function.
To determine which parameters you can use with a request:
In this Guide, go to the page that documents the the render type you want or the function
1
you want to use. (For more information, see "Understanding render types" and "Understanding
render modifiers.")
Locate the Parameters row. This row lists all available parameters, and includes a description
2
and a list of valid values for each parameter.

Supported interfaces

The following interfaces are available in QuarkXPress Server:
A GUIDE TO QUARKXPRESS SERVER 9.5 | 35
USING QUARKXPRESS SERVER
HTTP: Lets you interact with the server using URLs that contain calls or point to XML
files that contain calls. You can write client applications in any language that supports
HTTP requests. For more information, see "Getting started: HTTP and HTTPS".
HTTPS: Provides secure HTTP access.
Web services: Lets you interact with the server via Web services using the
QuarkXPress Server Manager object model. You can write client applications in Java, .NET,
or any other programming language that can consume SOAP-based Web services. For more
information, see "Getting started: Web services".
To develop a custom load balancer or a custom application in Java, you must have
version 1.5 or 1.6 of the JDK.

The Dynamic Publishing Process (DPP)

The Dynamic Publishing Process (DPP) has several stages. You may not need to use all of
these stages every time, but this the order in which they occur:
Pre-Processing Stage: During this stage, QuarkXPress Server performs any necessary initial
steps, such as creating style sheets, colors, and H&J rules for a new QuarkXPress project.
Content Loading Stage: During this stage, QuarkXPress Server loads dynamic content into
boxes in the project.
Layout Modification Stage: During this stage, QuarkXPress Server modifies the layout of the
project.
Post-Processing Stage: During this stage, QuarkXPress Server examines the project and
performs maintenance tasks.

Getting started

The topics below describe how to create requests for the QuarkXPress Server Web interface.
For information about the options available in such requests, see "Using the Web interface."

Getting started: HTTP and HTTPS

You can submit HTTP and HTTPS requests to QuarkXPress Server as URLs, either manually
from a browser or automatically from an HTTP client application. QuarkXPress Server
processes such requests and returns rendered content in the HTTP or HTTP responses.
Depending on the type of request, the QuarkXPress Server preferences, and the type of
content returned, the rendered content may be downloaded by the end user, displayed in
the end-user's browser, or saved to a file system location accessible to QuarkXPress Server.
You can write a QuarkXPress Server client application in almost any language that can
generate HTTP GET/POST requests. A QuarkXPress Server HTTP-based solution typically
consists of QuarkXPress Server (running on a server computer connected to a network)
36 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
plus a front-end application (usually Web-based) that provides a graphical user interface
(GUI) for end users. The front-end application translates end users' input into HTTP or
HTTPS requests and sends the requests to QuarkXPress Server or QuarkXPress Server
Manager, which processes the requests and returns rendered content.
Dissecting a QXP Server URL
To interact with QuarkXPress Server from a Web browser, use a URL like the following:
http://[server]:[port]/[namespace]/[directory]/[DocumentName]?[parameter]=Value
[server]: The name or IP address of the computer for QuarkXPress Server or
QuarkXPress Server Manager.
[port]: The port number on which to contact QuarkXPress Server or QuarkXPress Server
Manager. The default port is 8080 for QuarkXPress Server and 8090 for QuarkXPress Server
Manager.
[namespace]: Defines what the URL action will be and any parameters and conditions
available to that namespace.
[directory]: The path in the document pool where the project is stored, relative to the
QuarkXPress Server document pool. To access the root level, no directory path is necessary.
(Note that you can also supply assets as part of a multipart HTTP request. For more
information, see "Using HTTP POST with QXP Server.")
[DocumentName]: The name of the QuarkXPress project to be processed.
[parameter]: Further defines the URL action with attributes and values allowed for the
namespace or general call. Pass parameters in the form attribute=value, with parameters
separated by the "&" character.
For QuarkXPress Server Manager, use a URL like the following:
http://[server]:[port]/qxpsm/request/[namespace]/[directory]/ [DocumentName]?[parameter]=Value
Prior to QuarkXPress Server 9.0, you had to use different URL constructions when sending
requests to an instance of QuarkXPress Server Manager in a QPS installation than you did
when sending requests to a free-standing instance of QuarkXPress Server Manager. In versions 9.0 and later, both can use /qxpsm/request/ after [port]/ .
You can now use both absolute and relative paths when you modify a project with SDK
objects or classes. Relative paths are almost always relative to the document pool. If you
use multiple QuarkXPress Server instances, you should use a common document pool.
Interpreting the QXP Server Manager response
When QuarkXPress Server Manager successfully processes a request through the HTTP
interface, the response is the same as QuarkXPress Server's response unless the user has
supplied additional parameters to QuarkXPress Manager. For more information, see
"Working with QuarkXPress Server Manager" in A Guide to QuarkXPress Server.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 37
USING QUARKXPRESS SERVER
If an error occurs, QuarkXPress Server Manager retries the request, either on the same
QuarkXPress server instance or a different one (depending on the error and global settings
established in the QuarkXPress Server Manager client). If QuarkXPress Server Manager
cannot process the request, it returns an XML response describing the error, plus any
header error codes returned by QuarkXPress Server. For example:
<?xml version="1.0" encoding="UTF-8" ?> <error> <httpresponsecode>500</httpresponsecode> <xpressservererrorcode>-43</xpressservererrorcode> <xpressservererrormessage>File not found.</xpressservererrormessage> <xpressserverextendedmessage> <![CDATA[ Error #-43 - File not found. ]]> </xpressserverextendedmessage> <xpressservermanagererrorcode>M8000001</xpressservermanagererrorcode> <xpressservermanagererrormessage>The server could not locate the specified file. </xpressservermanagererrormessage> </error>
HTTP GET and POST Requests
The topics below describe how you can use HTML to interact with QuarkXPress Server.
QuarkXPress Server supports both the GET and POST HTML methods. When you use the
GET method, the browser encodes form data into a URL. When you use the POST method,
form data is passed within the message body. Use the GET method only when the form
processing is idempotent. In short: GET is for retrieving data, whereas POST can involve
storing or updating data, ordering a product, or sending an e-mail.
Using HTTP GET with QXP Server
Use HTML like the following to specify a server and port where you want to send a request.
You can specify the name of the target project, the output type, and a scaling value. You
can specify the name of a box and the path of a text or picture files to import into that
box, as long as the file's path is on the server's file system. You can also use HTML like the
following to specify the page number and layout number of the project.
The form section of the HTML should begin with the following line of code:
<form id = form1 method="GET" enctype="application/x-www-form-urlencoded">
For both GET and POST, the browser constructs a form data set and encodes it according to the ENCTYPE attribute (you can use multipart/form-data for POST and
application/x-www-form-urlencoded (the default) for both POST and GET).
To create fields that let the user specify the server IP address, the port, and the project
name, use HTML like the following:
<TABLE cellSpacing=1 cellPadding=1 border=1 id=TABLE1 > <TBODY> <TR> <TD> <INPUT id=ServerTxt name=ServerTxt value="Server ID" readOnly size=13 style="WIDTH: 107px; HEIGHT: 22px"> </TD> <TD> <INPUT id=Server maxLength=50 size=16 value=localhost name=Server style="WIDTH: 170px; HEIGHT: 22px"> </TD> </TR> <TR>
38 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
<TD> <INPUT id=PortTxt name=PortTxt value="Port Number" readOnly size=13 style="WIDTH: 107px; HEIGHT: 22px"> </TD> <TD> <INPUT id=Port maxLength=50 size=17 value=8080 name=Port style="WIDTH: 170px; HEIGHT: 22px"> </TD> </TR> <TR> <TBODY> </TABLE> <TR> <p></p> <TD> <INPUT id=DocTxt name=DocTxt value="Document Name" readOnly size=13 style="WIDTH: 107px; HEIGHT: 22px"> </TD> <TD> <INPUT id=Doc maxLength=50 size=18 name=Doc style= "WIDTH: 170px; HEIGHT: 22px"> </TD> </TR>
To create a drop-down menu that lets the end user specify a render format, use HTML like
the following:
<SELECT id="select1" name="returntype"> <OPTION value="jpeg">JPEG</OPTION> <OPTION value="pdf">PDF</OPTION> <OPTION value="qxpdoc">QuarkXPress document</OPTION> <OPTION value="eps">EPS Document</OPTION> <OPTION value="postscript">POSTSCRIPT</OPTION> <OPTION value="png">PNG</OPTION> </SELECT><td/>
To create a drop-down menu that lets the end user specify a rendering scale, use HTML
like the following:
<SELECT id="select2" name="scale"> <OPTION value="1">100%</OPTION> <OPTION value="2">200%</OPTION> <OPTION value="3">300%</OPTION> <OPTION value="5">500%</OPTION> <OPTION value=".5">50%</OPTION> </SELECT><p/>
To create input fields that let the end user specify a box name and the name of a file to
be imported into that box, use HTML like the following:
<TD> <INPUT id=box1Txt value="Box Name" readOnly style="WIDTH: 181px; HEIGHT: 22px" size=16> </TD>
<TD> <INPUT id=box1 maxLength=256 size=43 style=" WIDTH: 293px; HEIGHT: 22px"></TD> </TR>
<TR> <TR> <TD> <INPUT id=box1FileTxt value="File on Server" readOnly style="WIDTH: 181px; HEIGHT: 22px" > </TD>
<TD> <INPUT id=box1File maxLength=256 size=43 style=" WIDTH: 293px; HEIGHT: 22px"> </TD> </TR>
A GUIDE TO QUARKXPRESS SERVER 9.5 | 39
USING QUARKXPRESS SERVER
To create fields that let the end user enter a page number a layout number, use HTML like
the following:
<TABLE cellSpacing=1 cellPadding=1 border=1 style="WIDTH: 188px; HEIGHT: 61px"> <TR> <TD> <INPUT id=PageTxt value = "Page" readOnly style="WIDTH: 50px; HEIGHT: 22px" size=3> </TD> <TD> <input id=Page size="16" maxlength="256" style="WIDTH: 147px; HEIGHT: 22px"> </TD> </TR> <TR> <TD> <INPUT id=LayoutTxt value = "Layout" readOnly style ="WIDTH: 50px; HEIGHT: 22px" size=4> </TD> <TD> <input id=Layout size="16" maxlength="256" style="WIDTH: 147px; HEIGHT: 22px"> </TD> </TR> </TABLE>
To create a button that lets the end user submit the request, use HTML like the following:
<input type="submit" value="Render document" name="Submit" LANGUAGE="javascript" onclick="return Submit_onclick()"/>
The above HTML calls a function named Submit_onclick(). You can add such a function to the <HEAD> section of the HTML. For example:
<head> <TITLE>Quark Stream</TITLE> <script ID="clientEventHandlersJS" LANGUAGE="javascript"> function Submit_onclick() { var prefix; var renderer; var file; var url; var box1Name; var dataImportStamp = "@dataimport"; prefix = "http://" + document.getElementById("Server").value + ":"; port = document.getElementById("Port").value + "/"; renderer = document.getElementById("select1").value + "/"; file = document.getElementById("Doc").value; box1Name = document.getElementById("box1").value; if (box1Name != "") { document.getElementById("box1File").name = box1Name + dataImportStamp; } else { document.getElementById("box1File").name = ""; } document.getElementById("Page").name = "Page"; document.getElementById("Layout").name = "Layout"; url = prefix + port + renderer + file; document.getElementById("form1").action = url; } </script> </head>
The Submit_onclick() function reads the values from the formand builds a request URL
using the server, port, and render type.
If the end user specifies a file name in the "File on Server" text box, he or she must add
file: to the beginning of the file path (for example, file:C:\data.txt).
40 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
The code above adds @dataimport to the end of the box name to accommodate data
import.
The action of the form is defined by this line:
document.getElementById("form1").action = url;
This form's method is GET. The user agent gets the value (the URL) of the action, appends a ? to it, adds the form data set, and submits the URL.
In this scenario, form data must be in ASCII.
Using HTTP GET with QXP Server Manager
HTTP GET with QuarkXPress Server Manager works the same way as HTTP GET with
QuarkXPress Server (see "Using HTTP GET with QXP Server"), except that Quark does not
recommend using GET if you are working with non-ASCII characters. The behavior of GET
requests with characters is highly browser-dependent, and there is no standard that all
browsers follow. Instead, use POST.
Using HTTP POST with QXP Server
Use HTML like the HTML in "Using HTTP GET with QXP Server" to specify a server and port
where you want to send a request. You can specify the name of the target project, the
output type, and a scaling value. You can specify the name of a box and the path of a text
or picture files to import into that box, as long as the file's path is on the server's file system.
You can also use HTML like the HTML in "Using HTTP GET with QXP Server" to specify the
page number and layout number of the project. Differences between the GET method and
the POST method are described below.
The form section of the HTML should begin with the following line of code:
<form id = form1 method="post" enctype="multipart/form-data">
The following HTML creates a input fields that let the end user specify the name of a file
to be imported into a box:
<TD><INPUT id=box1FileTxt value="File on Client" readOnly style="WIDTH: 180px; HEIGHT: 22px" ></TD> <TD><input id=box1File type="file" size="32" maxlength="256" style="WIDTH: 293px; HEIGHT: 22px"> </TD></TR>
The action of the form is defined by this line:
document.getElementById("form1").action = url;
The form's method is POST. The user agent conducts an HTTP post transaction using the
value of the action attribute (the URL), and a message is created according to the content type specified by the enctype attribute.
When you use a multipart HTTP post request, you can include in the request any files
which are required by the rendering process, including QuarkXPress templates, picture
files, modifier XML, and digital publishing assets. For more information, see "Using the
Streaming Document Provider."
A GUIDE TO QUARKXPRESS SERVER 9.5 | 41
USING QUARKXPRESS SERVER
Using HTTP POST with QXP Server Manager
HTTP POST with QuarkXPress Server Manager works the same way as HTTP POST with
QuarkXPress Server (see "Using HTTP POST with QXP Server"), except that with
QuarkXPress Server Manager, you must use UTF-8.

Getting started: Web services

The Web services interface is a collection of request classes. You can download the SDK
WSDL class definitions from
http://[server]:[port]/qxpsm/services/RequestService?wsdl (replace [server]
with the QuarkXPress Server Manager computer's IP address and [port] with the
QuarkXPress Server Manager port number.
These classes can be chained together to form compound QuarkXPress Server requests.
The sample applications (see "Sample applications") show how to use these classes to invoke
a QuarkXPress Server command and manipulate the response.
For more information, see "Using the Web interface." In addition to the classes listed there,
the Web services interface includes the following:
RequestService processes QuarkXPress Server requests. This object's generic processRequest() method takes a QRequestContext argument and returns a QContentData object containing the response. For more information, see the sample
applications and "Using the Web interface."
QRequestContext is the argument you pass to RequestService's generic processRequest() method.This object contains settings which must be set once per
request. Set all chained requests inside the request context.
QRequest is the base class for all request objects (such as PDFRenderRequest).
Consequently, all request objects share some common data members.
RequestParameters is a generic class for executing any request and for adding dynamic
properties to a request.
NameValueParam is a generic class for adding dynamic properties to a request. This class
is specifically for requests that take a box's name and/or ID as the parameter name and
the box's content as the value.
QContentData is the response returned when a request is executed. QContentData is a
hyperlink that follows the same pattern as the classes above.
QException is the exception class for QuarkXPress Server Manager. Web services returns
a QException object if an error occurs with any Web service method. You can use try/catch blocks to handle QException objects.
If you've written a Server XTensions module, you can extend the XML interface to include
any changes it makes to the Modifier DTD by simply modifying an XML file and
regenerating the stubs.
To exclude empty tags in the request HTML, set the value of the appropriate variable to
null.
42 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
For Javadocs, WSDL schemas, and JSP samples, see the Welcome page that displays when
you launch QuarkXPress Server Manager.
The following topics describe the general Web services classes.
QRequestContext
Description
An argument passed to RequestService. Contains settings that must be set once per request. All chained requests must be set inside the request context.
Web service data objectType
NameMembers
documentName
serverName
serverPort
userName
userPassword
maxRetries
requestTimeout
useCache
responseAsURL
String
Integer
Boolean
Boolean
DescriptionTypes
File or object name on which the command will be rendered.String
Server name. Default is NULL. Load balancer searches for the host itself in this case.
Port at which the desired server is listening.Integer
Server admin username.String
Server admin password.String
Max number of times to try executing the command before returning failure.
Max time out in milliseconds.Integer
Indicates whether the cache should be checked for an existing result or if the command should be executed again.
This value indicates whether the server should send the response as-is (text or binary) or store the response on the server and return its location as a URL. Because the object model works on SOAP, which can be slow when transferring large binary files, you might choose to set this value to "true" if you suspect that the response is going to be several megabytes or larger.
bypassFileInfo
context
Boolean
QRequestrequest
Indicates whether file info should be fetched before executing the command.
Context in which the command is being executed.String
QuarkXPress Server request is instances of request objects chained together.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 43
USING QUARKXPRESS SERVER
Example, object model
RequestService
Description
Methods
com.quark.qxpsm.QRequestContext rc = new com.quark.qxpsm.QRequestContext(); rc.documentName = this.DocumentSettings1.documentName.Text; rc.responseAsURL = this.DocumentSettings1.responseAsURL.Checked; rc.useCache = this.DocumentSettings1.useCache.Checked; rc.bypassFileInfo = this.DocumentSettings1.bypassFileInfo.Checked;
//Create the service and call it QRequestContext object RequestService svc = new RequestService(); com.quark.qxpsm.QContentData qc = svc.processRequest(rc);
Web service called to process the QuarkXPress Server request. RequestService has a generic method named processRequest() that takes QRequestContext as an argument and returns QContentData as the QuarkXPress Server response.
Web serviceType
processRequest
Processes the request context and returns the result.
DescriptionTypeParameter
QRequestContextrequestCmd
Argument passed to
RequestService. Contains settings
that must be set once per request. All chained requests are set inside the request context.
createSession
closeAlldocs
closeDoc
Creates a new session and returns a session ID.
DescriptionTypeParameter
timeout
Closes all open documents in the session without saving them. If the session does not exist, an error is returned. If an error occurs while closing the document, it is logged and the document is marked closed in the internal cache. No error is returned.
sessionId
Closes the specified document without saving it. If the session does not exist, an error is returned. If the document is not open, and error is returned. If the document is open in another session, an error is returned. If an error occurs while closing the document, it is logged and the document is marked closed in the internal cache. No error is returned.
Long
String
Timeout for the session in milliseconds. If no call is executed in that time, session is expired and all the open documents in that session are closed without saving. If 0 is passed as value of timeout, default timeout is used. If a negative value is passed as timeout, the session never expires.
DescriptionTypeParameter
Session whose documents are to be closed.
44 | A GUIDE TO QUARKXPRESS SERVER 9.5
DescriptionTypeParameter
USING QUARKXPRESS SERVER
closeSession
getOpenDocs
getOpenSessions
getPreferences
setPreferences
getXPressDOM
docName
sessionId
Closes the specified session. If the session does not exist, an error is returned. If any documents are still open in the session, an error is returned.
sessionId
Gets all the open documents in the session. If the session does not exist, an error is returned.
sessionId
Gets all open sessions.
Gets QuarkXPress Server preferences.
Sets QuarkXPress Server preferences.
Creates a DOM for the specified document.
String
String
Document to be closed.String
Session in which document was opened.
DescriptionTypeParameter
Session to be closed.String
DescriptionTypeParameter
Session whose open documents are sought.
newDoc
Creates a new document for modification and keeps it open until further notice. The document is created with a single layout. To create a more complex document, use the processRequestEx API. If a document with the same name is already open, an error is returned. If the session does not exist, an error is returned.
DescriptionTypeParameter
docName
jobJacketName
jobTicketName
host
String
String
String
Document to be opened for modification. Provide the name only. You can proivde a relative path when you save the document.
Name of the Job Jackets file to be used. The Job Jackets file is assumed to be already available on the QuarkXPress server computer.
Name of the Job Ticket to be used.String
The QuarkXPress Server instance that should be used for this document modification. If null, this value is supplied by the load balancer. If the indicated server is not an active registered server, an error is thrown.
port
Integer
The port for the server specified in the host parameter.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 45
USING QUARKXPRESS SERVER
openDoc
processRequestEx
sessionId
Opens the specified document and keeps it open until further notice. If the document is already open, an error is returned. If the session does not exist, an error is returned.
docName
host
port
sessionId
Executes the request context. If a session ID is specified, the document is kept open after the request is executed. If no session ID is specified, the request is executed normally without keeping the document open. If the document is open in another session, an error is returned. If the document is marked dirty, an error is returned (a document is marked dirty when the server that opened the document has become inactive; in such a case, the document must be closed and opened again).
String
String
String
Integer
String
Session in which the document should be opened.
DescriptionTypeParameter
Document (along with relative path if required) to be opened for modification.
QuarkXPress Server instance which should be used for this document modification. If null, this value is supplied by the load balancer. If the indicated server is not an active registered server, an error is thrown.
The port for the server specified in the host parameter.
Session in which the document should be opened.
saveAllDocs
DescriptionTypeParameter
QRequestContextreqContextObj
sessionId
Saves all open documents in the session. The documents are saved one by one. If error occurs while saving a document, an error is returned immediately and the rest of the documents remain unsaved. If a document is marked dirty, an error is returned (a document is marked dirty when the server that opened the document has become inactive; in such a case, the document must be closed and opened again).
relativePath
String
String
Request to be executed.
Session in which the request should be executed. This value may be null. If a session ID is provided, the document is kept open. If no session ID is provided, the request is executed normally, as if processRequest had been called.
DescriptionTypeParameter
Relative path where open documents should be saved. If this value is provided, copies of open documents with changes made so
46 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
far are saved in the new location. The open documents are not saved but have all of the changes made so far.
saveDoc
sessionId
Saves the open document. If a document is marked dirty, an error is returned (a document is marked dirty when the server that opened the document has become inactive; in such a case, the document must be closed and opened again).
docName
newName
relativePath
String
String
String
String
Session in which the document exists.
DescriptionTypeParameter
Document to be saved. Must be the same name that was used when opening or creating the document.
New name of the document. If null, the document is saved with the old name.
Relative path where the document should be saved. The relative path can also contain the new name of the document. If this is provided, a copy of the open document with changes made so far is saved in the new location. The open document is not saved but has all of the changes made so far.
Example, object model
QRequest
Description
sessionId
getXPressDOMEx
getXMLFromXPressDOM
getXPressDOMFromXML
QRequestContext rc = new QRequestContext(); rc.documentName = "test.qxp"; rc.responseAsURL = false;
JPEGRenderRequest jpegRequest = new JPEGRenderRequest(); rc.request = jpegRequest;
RequestService svc = new RequestService(); QContextData response = svc.processRequest(rc);
Base class for all request objects (such as PDFRenderRequest). All request objects share some common data members, which are described below.
Web service data objectType
Lets you create a DOM of a particular layout or portion of a layout.
Creates an XML string out of the DOM.
Takes a raw XML representation of a project as a string and returns an object model representing that project, with Project as the root class.
String
Session in which the document exists.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 47
USING QUARKXPRESS SERVER
RequestParameters
Additional comments
Example, object model
NameMembers
QRequestrequest
Generic class for executing any request and for adding dynamic properties to a request.Description
Web service data objectType
NameMembers
requestNamespace
You can use this class to send any request for which a specific class does not exist. When this request exists in the chain, its namespace is concatenated with the namespaces of other requests. That means the namespace provided here can be null.
The parameters of this class can be used to parameterize a request being sent to the server.
QRequestContext rc = new QRequestContext(); RequestParameters request = new RequestParameters(); request.setRequestNamespace("jpeg"); rc.setRequest = request; NameValueParam p1 = new NameValueParam(); p1.setParamName = "jpegquality"; p1.setTextValue = "4"; request.setParams(new NameValueParam[]{p1});
DescriptionTypes
QuarkXPress Server request that includes instances of request objects chained together.
DescriptionType
Namespace of the request (for example, jpeg).String
NameValueParam[]params
Parameter array for the specified request (for example, jpegquality).
Description
NameValueParam
Generic class for adding dynamic properties to a request. This class is specifically for requests that take a box name/id as the parameter name and the box content as the parameter value.
Web service data objectType
NameMembers
paramName
textValue
streamValue
contentType
String
String
byte[]
DescriptionType
Name of the parameter. In most cases this will be the name/ID of the box.
Text value of the box. (You can set either textValue or
streamValue.)
Stream value of the box. (You can set either textValue or
streamValue.)
The MIME content type of the parameter.String
QContentData
A response to a Web Services call to QuarkXPress Server.Description
Web service data objectType
48 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
NameMembers
contentType
textData
responseURL
streamValue
encodingType
actualServerPortUsed
actualServerUsed
headers
multipartResponse
String
String
String
binary
String
String
String
DescriptionTypes
The type of the response. For example, "text/xml" or "text/plain."
If the response type is text, this contains the text. Otherwise, this value is null.
If the responseAsURL parameter was set to "true" in the request, this contains the URL of the response. Otherwise, this value is null.
If the response type is binary, this contains the byte array. Otherwise, this value is null.
If the response type is text, this value indicates the encoding of the text (for example, UTF-8 or ANSI).
Identifies the server port.String
Identifies the server.String
If the response returned by the server is a set of headers, this array contains the header response.
If the response returned by the server is multipart, this array contains the multipart response parts.
Example, object model
QException
Type
QRequestContext context = new QRequestContext(); context.setDocumentName("sample.qxp"); context.setResponseAsURL(true); JPEGRenderRequest request = new JPEGRenderRequest(); request.setJPEGQuality("4"); context.setRequest(request); RequestService requestService = new RequestServiceStub(); QContentData response = requestService.processRequest(context); System.out.println(response.getResponseURL());
Exception class for QuarkXPress Manager.Description
Exception
NameMembers
httpResponseCode
managerErrorCode
managerErrorMessage
serverErrorCode
serverErrorMessage
DescriptionTypes
HTTP response code.String
QuarkXPress Server Manager error code.String
QuarkXPress Server Manager localized error message.String
QuarkXPress Server error code.String
QuarkXPress Server response message.String
serverExtendedMessage
QuarkXPress Server extended error message.String
A GUIDE TO QUARKXPRESS SERVER 9.5 | 49
USING QUARKXPRESS SERVER
Example, object model

QXP Server Manager

String docName = "notexisting.qxp"; try { QRequestContext ctx = getRequestContext(docName); QRequest request = getJPEGRequest(); ctx.setRequest(ctx); QContentData response = getService().processRequest(ctx); System.out.println(response.getResponseURL()); } catch (QException ex) { // QuarkXPress Manager threw an QException and it is not // a runtime exception. QException object will be returned. System.out.println(ex.getServerErrorCode()); }
The following topics are for people who want to enhance QuarkXPress Server Manager or
integrate it with other software.
Please refer to http://localhost:8090/qxpsmdocs/apidocs/index.html for manager
API documentation. (Note that the port number used to retrieve the API documentation
is 8090 by default, but you should use whatever port number you specified when installing
QuarkXPress Server Manager.)
QuarkXPress Server Manager was developed using interface-based programming and uses
the Spring Framework to instantiate pluggable objects. When QuarkXPress Server Manager
starts up, it reads the contents of a Spring context definition file named
"ManagerContainerConfig.xml" and instantiates all of the beans listed in the file.
QuarkXPress Server Manager then initializes by reading various configuration options
from a file named "ManagerConfig.xml."
You can deploy QuarkXPress Server Manager in its own Tomcat container, in an external
Tomcat container, or in a shared Spring context. For more information, see "Deploying
QuarkXPress Server Manager" in the QuarkXPress Server ReadMe.

Using the Web interface

The topics below describe the features available via the QuarkXPress Server Web interface.
The topics covered here include the following:
Render types are namespaces you can use to return a QuarkXPress project in a specified file
format.
Render modifiers let you control which parts of a project are rendered and set the scale of
the returned renderings.
Content modifiers let you alter the content and formatting of boxes in layouts without using
the XML modify parameter.
XML modify lets you modify QuarkXPress projects using XML.
50 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
The xml namespace deconstructs a project according to the Modifier DTD. The construct
namespace lets you turn an XML representation of a QuarkXPress project back into a
QuarkXPress project.
Administrative request handlers let you change the behavior of QuarkXPress Server.
QuarkXPress Server uses case-sensitive XML.

Understanding rendering

Rendering is the process in which QuarkXPress Server opens a QuarkXPress project,
transforms it into a different format (the render type), and then sends a response to the
requestor. Depending on the type of rendering operation, the response may be a message
or a rendered file.
For information on how to submit a render request, see "Getting started: HTTP and HTTPS."
Alerts
document type. Please select a QuarkXPress document or template.
read or write to disk.
required volume or folder.
HTTP Error #500Cannot open this
This alert displays if you try to render a file that is not a QuarkXPress project.
HTTP Error #404File not found
QuarkXPress Server Error #–43
This alert displays if you try to render a project that does not exist.
HTTP Error #500I/O error trying to
QuarkXPress Server Error #–36
This alert displays if QuarkXPress Server is running on Windows and a shared network folder was selected as the document pool, but the folder is no longer shared.
What to do: In the QuarkXPress Server administration interface, choose Administration > Preferences > General and set Document Root Folder to a shared folder.
HTTP Error #404Cannot find
QuarkXPress Server Error #–35
This alert displays if QuarkXPress Server is running on Mac OS and a shared network volume was selected as the document pool, but the volume is no longer shared.
What to do: In the QuarkXPress Server administration interface, choose Administration > Preferences > General and set Document Root Folder to a shared folder.
Example, GET URL
See Understanding loggingLogs
http://localhost:8080/sample.qxp
There are two ways to specify a render format:Notes
A GUIDE TO QUARKXPRESS SERVER 9.5 | 51
USING QUARKXPRESS SERVER
1. Enter the render type directly in the browser address field:http://localhost:8080/pdf/project.qxp.
2. In the QuarkXPress Server administration interface, choose Administration > Preferences > General and choose the default render type from the Default Renderer Type drop-down menu.

Understanding logging

If a request succeeds, a transaction success message is written to the QuarkXPress Server
transaction log file. This message includes the transaction ID, date, time, request type,
project name, response type, response size in bytes, and client IP address. For example:
07/03/2011 14:37:47 - RequestURI = /xml/sample.qxp TransactionUUID = afb6f457-80ae-4d5d-a434-ce9f3e089761 Client = 10.91.30.216 Type = text/xml Size = 4846
If an alert is displayed, an error message is written to the QuarkXPress Server transaction
log file. The transaction entry contains the date and time of the request, the error code,
and the error message. The following is a sample of an error log transaction entry:
09/03/2011 13:54:33 - RequestURI = /sample.qcd TransactionUUID = dffc3a7e-11fd-4d97-b3fe-8f2129353d58 Client = 10.91.30.216 Error #10120 ­Cannot open this document type. Please select a QuarkXPress document or template.
The "QuarkXPress Server Log.log" file also contains system-level log information. For
example, if a request makes a renderer stop working, you can figure out which request it
was using the transaction ID and the transaction log.
ave
09/03/2011 014:00:07 ERROR [com.quark.qxps.core.server.ServerRendererMonitor][pool-1-thread-1] - The QuarkXPress Server Renderer with processId 2620 had quit while processing the transaction 87212dae-6ba3-4b3f-97bb-ea8f0c255bf9.
To download all logs to a non-server computer, click Show Transaction Log in the
QuarkXPress Server Web interface, then click Download Logs on the upper right.

Understanding render types

Render types are namespaces you can use to return a QuarkXPress project in a specified file
format. The topics covered here include the following:
QuarkXPress Server Manager object model classesDescriptionFunction
Returns a .zip file containing an AVE issue file and its corresponding manifest.
Returns an EPS file.eps
Returns an ePUB file.epub
Returns a JPEG image.jpeg
Returns a PDF file.pdf
Returns a PNG image.png
AVERenderRequest
EPSRenderRequest
EPubRenderRequest
JPEGRenderRequest
PDFRenderRequest
PNGRenderRequest
Returns a PostScript file.postscript
Returns a QuarkCopyDesk article.qcddoc
52 | A GUIDE TO QUARKXPRESS SERVER 9.5
PostScriptRenderRequest
CopyDeskDocRequest
USING QUARKXPRESS SERVER
QuarkXPress Server Manager object model classesDescriptionFunction
raw
Namespace
Returns a QuarkXPress project file.qxpdoc
Returns an RLE Raw Custom format image.qxpr
Returns a project in a QuarkXPress internal format.
Returns a low-resolution PDF file.screenpdf
Returns a SWF file.swf
QuarkXPressRenderRequest
RLERawCustomRenderRequest
RawCustomRenderRequest
ScreenPDFRenderRequest
SWFRenderRequest
The default render type is JPEG.
Developers can implement additional rendering formats through server XTensions software.
appstudio
The appstudio render type returns a .zip file containing an App Studio article rendered
from the App Studio layout(s) in the source project. It also includes mechanisms for
uploading an article to the App Studio Publishing Portal, retrieving and updating server
settings, and presenting and clearing App Studio Publishing Portal credentials.
appstudio
Parameters
upload
html
setcredential
clearcredential
config
String
String
String
String
String
Lets you generate an HTML5 article and upload it to the App Studio Publishing Portal. For example:
http://localhost:8080/ appstudio/upload/template.qxp? organization=XXX& publication=YYY&issue=ZZZ& article=AAA
Lets you gerate an HTML5 article and returns it as a .zip file. For example:
http://localhost:8080/ appstudio/html/template.qxp
Lets you log in to the App Studio Publishing Portal. For example:
http://localhost:8080/ appstudio/setcredential? username=XXX&password=YYY
Lets you log out of the App Studio Publishing Portal. For example:
http://localhost:8080/ appstudio/clearcredential
Lets you retrieve the current publication hierarchy from the App
A GUIDE TO QUARKXPRESS SERVER 9.5 | 53
USING QUARKXPRESS SERVER
Studio Publishing Portal. For example:
http://qxpserver:port/ appstudio/config
Render modifier parameters
Alerts
Example, GET URL
Example, object model
layout
page
pages
A .zip file containing an HTML5 article.Response
way of rendering the desired objects.
select a QuarkXPress document or template.
See Understanding loggingLogs
http://localhost:8080/appstudio/sample.qxp
Request object name: AppStudioRenderRequest
// STEP 1: Create the QuarkXPress Server Request // Context and set the necessary properties com.quark.qxpsm.QRequestContext requestCtx = new com.quark.qxpsm.QRequestContext(); Boolean responseAsURL = false; requestCtx.setDocumentName(docName);
String
range)
HTTP Error #406The renderer for this image type has no
This alert displays if you submit a render request with the box parameter.
HTTP Error #10120Cannot open this document type. Please This alert displays if you submit an appstudio
request for a QuarkCopyDesk article.
Lets you specify a layout by name or ID. The first layout is Layout 1.
Lets you specify a page.Integer
Lets you specify a range of pages.String (page
Namespace
Parameters
// STEP 2 (SPECIFIC TO REQUESTS): // Create the App Studio renderer // request and embed it in the request context. AppstudioRenderRequest req = new AppstudioRenderRequest(); req.setAppStudioData(request.getParameter("AppStudioData")); requestCtx.setRequest(req);
// STEP 3: Create the service and call the // processRequest() API RequestService service = new RequestServiceStub(); com.quark.qxpsm.QContentData data = service.processRequest(requestCtx);
ave
The ave render type returns a .zip file containing an AVE issue file and its corresponding
manifest.
AVE
outputstyle
stylename
Lets you specify an output style. To use a named output style, use the
54 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
name of that output style. For example:
http://localhost:8080/ave/ sample.qxp?outputstyle=stylename
To use settings that have been captured with the Capture Settings in the QuarkXPress Export AVE for iPad dialog box, use document. For example:
http://localhost:8080/ave/ sample.qxp?outputstyle=document
Render modifier parameters
Alerts
format
layout
page
pages
A .zip file containing an AVE issue file and its corresponding manifest.Response
way of rendering the desired objects.
This Output Style does not exist.
This Output Style cannot be used with this render type.
select a QuarkXPress document or template.
String
String
range)
HTTP Error #406The renderer for this image type has no
This alert displays if you submit a render request with the box parameter.
This alert displays if you specify a nonexistent output style.
This alert displays if you specify an output style that is incompatible with this render type.
HTTP Error #10120Cannot open this document type. Please This alert displays if you submit an ave request for a
QuarkCopyDesk article.
Lets you specify an output format. Use avemag for AVE-Mag or avedoc for AVE-Doc. The default is avemag.
Lets you specify a layout by name or ID. The first layout is Layout 1.
Lets you specify a page.Integer
Lets you specify a range of pages.String (page
Example, GET URL
Example, object model
HTTP Error #10545AVE-Doc for an App Studio layout is not
supported.
See Understanding loggingLogs
http://localhost:8080/ave/sample.qxp? format=avemag&layout=2
Request object name: AVERenderRequest
//STEP1: Create the QuarkXPress Server Request //Context and set the necessary properties com.quark.qxpsm.QRequestContext requestCtx = new com.quark.qxpsm.QRequestContext(); Boolean responseAsURL = false; requestCtx.setDocumentName(docName);
//STEP 2(SPECIFIC TO REQUESTS):
This alert displays if you submit an ave request with
format=avedoc for an App Studio layout.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 55
USING QUARKXPRESS SERVER
//Create the AVE renderer //request and embed it in the request context. AVERenderRequest avereq = new AVERenderRequest(); avereq.setAVEData(request.getParameter("AVEData")); avereq.setFormat(request.getParameter( "Format")); avereq.setLayout(request.getParameter( "Layout")); requestCtx.setRequest(avereq);
//STEP3: Create the service and call the //processRequest() API RequestService service = new RequestServiceStub(); com.quark.qxpsm.QContentData data = service.processRequest(requestCtx);
The default AVE output style is used.Notes
eps
The eps render type returns an EPS rendering of a page or spread.
Namespace
Parameters
EPS
outputstyle
epsformat
epspreview
epsdata
epstransparent
stylename
color
tiff | none
ascii | binary | clean8bit
1 | 0 | true | false | yes | no
Lets you specify an output style. To use a named output style, use the name of that output style. For example:
http://localhost:8080/pdf/ sample.qxp?outputstyle=stylename
To use settings that have been captured with the Capture Settings in the QuarkXPress Print dialog box, use document. For example:
http://localhost:8080/pdf/ sample.qxp?outputstyle=document
Lets you specify an EPS format. The default value is color.
Lets you include or omit a TIFF preview. The default value is tiff.
Lets you specify a data type for the EPS file. The default value is
clean8bit.
Lets you specify whether the EPS can include transparent areas.
updateimage
updateflow
Render modifier parameters
page
56 | A GUIDE TO QUARKXPRESS SERVER 9.5
true | false
true | false
Lets you specify whether to update imported pictures.
Lets you specify whether to update the text flow version of a project to the current version.
Lets you specify a page.Integer
USING QUARKXPRESS SERVER
Alerts
produceblankpages
scale
spread
layout
downloadlayoutFonts
downloadImportedPdfEpsFonts
An EPS file.Response
way of rendering the desired objects.
1 | 0 | true | false | yes | no
Float .1 to 6.92 for Windows .1 to 8 on Mac OS
Integer
String
1 | 0 | true | false | yes | no
1 | 0 | true | false | yes | no
HTTP Error #406The renderer for this image type has no
This alert displays if you submit a render request with the pages or box parameter.
Lets you specify whether to render blank pages.
Lets you specify a scaling percentage. The valid values are from .1 (10%) to 8 (800%) on Mac OS or 6.92 (692%) on Windows.
Lets you specify a spread. The first spread is spread 1. In a facing-page document, spread 1 consists of the first page.
Lets you specify a layout by name or ID. The first layout is Layout 1.
Lets you specify whether to download all fonts used in the layout and all system fonts.
Lets you specify whether to download all fonts required by imported PDF and EPS files.
Example, GET URL
Example, object model
This Output Style does not exist.
This Output Style cannot be used with this render type.
See Understanding loggingLogs
http://localhost:8080/eps/sample.qxp?epsformat= color&epsdata=clean8bit&epspreview=tiff&epsbleed= 0&epstransparent=0
Request object name: EPSRenderRequest
//STEP1: Create the QuarkXPress Server Request //Context and set the necessary properties com.quark.qxpsm.QRequestContext requestCtx = new com.quark.qxpsm.QRequestContext(); Boolean responseAsURL = false; requestCtx.setDocumentName(docName);
//STEP 2(SPECIFIC TO REQUESTS): //Create the EPS renderer //request and embed it in the request context. EPSRenderRequest epsreq = new EPSRenderRequest(); epsreq.setEPSData(request.getParameter("EPSData")); epsreq.setEPSFormat(request.getParameter( "EPSFormat")); epsreq.setEPSPreview(request.getParameter( "EPSPreview"));
This alert displays if you specify a nonexistent output style.
This alert displays if you specify an output style that is incompatible with this render type.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 57
USING QUARKXPRESS SERVER
requestCtx.setRequest(epsreq);
//STEP3: Create the service and call the //processRequest() API RequestService service = new RequestServiceStub(); com.quark.qxpsm.QContentData data = service.processRequest(requestCtx);
Notes
epub
Namespace
Render modifier parameters
Alerts
You can specify an output style and set additional local parameters of that output style. For example, if no bleed setting is specified in the output style named "mystylename", you can specify a bleed setting with a URL like the following:
http://localhost:8080/eps/sample.qxp? outputstyle=mystylename?bleed=symmetric
You can override settings in an output style. For example, if an asymmetric bleed is specified in the output style named "mystylename," you could override it with the same URL.
If you do not specify an EPS output style, the default EPS output style is used.
The epub render type returns an ePUB rendering of a layout.
ePUB
layout
outputstyle
An ePUB (.epub) file.Response
way of rendering the desired objects.
String
String
HTTP Error #406The renderer for this image type has no
This alert displays if you submit a render request with the pages or box parameter.
Lets you specify a layout by name or ID. The first layout is Layout 1.
Lets you specify an ePUB output style by name or ID.
Example, GET URL
Example, object model
HTTP Error #10543ePub not created. There is no reflow
layout in the document.
See Understanding loggingLogs
http://localhost:8080/epub/sample.qxp? outputstyle=epub1&layout=2
Request object name: EPubRenderRequest
//STEP1: Create the QuarkXPress Server Request //Context and set the necessary properties com.quark.qxpsm.QRequestContext requestCtx = new com.quark.qxpsm.QRequestContext(); Boolean responseAsURL = false; requestCtx.setDocumentName(docName);
//STEP 2(SPECIFIC TO REQUESTS): //Create the ePUB renderer //request and embed it in the request context. EPubRenderRequest epubreq = new EPubRenderRequest(); epubreq.setEPubData(request.getParameter("EPubData")); epubreq.setCreateTOC(request.getParameter( "CreateTOC"));
This error appears if there is no reflow layout.
58 | A GUIDE TO QUARKXPRESS SERVER 9.5
epubreq.setLayout(request.getParameter( "Layout")); requestCtx.setRequest(epubreq);
//STEP3: Create the service and call the //processRequest() API RequestService service = new RequestServiceStub(); com.quark.qxpsm.QContentData data = service.processRequest(requestCtx);
You can only create an ePUB file from a project that includes a reflow article.Notes
jpeg
The jpeg render type returns a JPEG rendering of a page or spread.
USING QUARKXPRESS SERVER
Namespace
Parameters
Render modifier parameters
JPEG
jpegquality
upadateimage
updateflow
pasteboard
showboxoutline
boxes
page
scale
1 | 2 | 3 | 4
true | false
true | false
true | false
Float .1 to 6.92 for Windows .1 to 8 on Mac OS)
Lets you specify the image quality of a rendered JPEG image. The valid values are: 1 (highest quality), 2 (high quality), 3 (medium quality), and 4 (lowest quality). The default value is 1.
Lets you specify whether to update imported pictures.true | false
Lets you specify whether to update the text flow version of a project to the current version.
Lets you specify whether to display pasteboard items. Works only with spread parameter. The default value is
true. For example: http://localhost:8080/jpeg/document.qxp?
spread=1&pasteboard=true
Lets you specify whether to include bounding box outlines in the response JPEG image even if the boxes have no content.. The default value is false.
Lets you request multiple boxes.String
Lets you request a single page.Integer
Lets you specify a scaling percentage. The valid values are from .1 (10%) to 8 (800%) on Mac OS or 6.92 (692%) on Windows.
box
spread
layout
A JPEG file.Response
See Understanding loggingLogs
Integer
String
Lets you request a single box.String
Lets you specify a spread. The first spread is spread 1. In a facing-page document, spread 1 consists of the first page.
Lets you specify a layout by name or ID. The first layout is Layout 1.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 59
USING QUARKXPRESS SERVER
Example, GET URL
Example, object model
kindle
http://localhost:8080/jpeg/sample.qxp?jpegquality=1
Request object name: JPEGRenderRequest
// STEP1: Create the QuarkXPress Server Request // Context and set the necessary properties com.quark.qxpsm.QRequestContext requestCtx = new com.quark.qxpsm.QRequestContext(); Boolean responseAsURL = false; requestCtx.setDocumentName(docName);
// STEP2: Create the JPEG renderer request and attach it // to the request context. JPEGRenderRequest jpreq = new JPEGRenderRequest(); jpreq.setJPEGQuality(request.getParameter("jpegQuality")); jpreq.setLayout(request.getParameter("Layout")); requestCtx.setRequest(jpreq);
// STEP3: Create the service and // call the processRequest() API RequestService service = new RequestServiceStub(); com.quark.qxpsm.QContentData data = service.processRequest(requestCtx);
The kindle render type returns a rendering of a layout that can be viewed on Amazon
Kindle readers.
Namespace
Render modifier parameters
Alerts
Example, GET URL
Example, object model
kindle
layout
outputstyle
A Kindle (.mobi) file.Response
way of rendering the desired objects.
layout in the document.
See Understanding loggingLogs
http://localhost:8080/kindle/sample.qxp? outputstyle=kindle&layout=2
Request object name: KindleRenderRequest
//STEP1: Create the QuarkXPress Server Request //Context and set the necessary properties com.quark.qxpsm.QRequestContext requestCtx = new com.quark.qxpsm.QRequestContext(); Boolean responseAsURL = false; requestCtx.setDocumentName(docName);
String
String
HTTP Error #406The renderer for this image type has no
This alert displays if you submit a render request with the pages or box parameter.
HTTP Error #10543Kindle not created. There is no reflow
This error appears if there is no reflow layout.
Lets you specify a layout by name or ID. The first layout is Layout 1.
Lets you specify a Kindle output style by name or ID.
60 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
//STEP 2(SPECIFIC TO REQUESTS): //Create the Kindle renderer //request and embed it in the request context. KindleRenderRequest kindlereq = new KindleRenderRequest(); kindlereq.setKindleData(request.getParameter("KindleData")); kindlereq.setCreateTOC(request.getParameter( "CreateTOC")); kindlereq.setLayout(request.getParameter( "Layout")); requestCtx.setRequest(kindlereq);
//STEP3: Create the service and call the //processRequest() API RequestService service = new RequestServiceStub(); com.quark.qxpsm.QContentData data = service.processRequest(requestCtx);
You can only create a Kindle file from a project that includes a reflow article.Notes
literal
The literal render type returns the contents of a file without any attempt to process it
as a template. Depending on the file's MIME type, the requested project can be displayed
within the browser (for example, if the response is a JPEG file) or saved to disk (for example,
if the response is a Microsoft Word document).
Namespace
Alerts
Example, GET URL
Example, object model
literal
The requested file returned in the HTTP response.Response
Incorrect administration realm username and password.
See Understanding loggingLogs
http://localhost:8080/literal/Story.doc
Request object name: LiteralRequest
com.quark.qxpsm.QRequestContext rc = new com.quark.qxpsm.QRequestContext(); if(!this.DocumentSettings1.documentName.Text.Equals("")) rc.documentName = this.DocumentSettings1.documentName.Text; rc.request = new LiteralRequest();
//Create the service and call it with QRequestContext object RequestService svc = new RequestService(); com.quark.qxpsm.QContentData qc = svc.processRequest(rc);
HTTP Error #401
This alert displays if you specify an invalid administrator user name and password.
What to do: Use the user name and password set in the Authentication pane of the General Preferences dialog box (Administration > Preferences >
General) in the QuarkXPress Server Web interface.
Namespace
pdf
The pdf render type returns a PDF rendering of a project.
PDF
A GUIDE TO QUARKXPRESS SERVER 9.5 | 61
USING QUARKXPRESS SERVER
Parameters
outputstyle
title
subject
author
keywords
includehyperlinks
exportlistsashyperlinks
exportindexesashyperlinks
stylename, document
1 | 0 | true | false | yes | no
1 | 0 | true | false | yes | no
1 | 0 | true | false | yes | no
Lets you specify an output style. To use a named output style, use the name of that output style. For example:
http://localhost:8080/pdf/ sample.qxp?outputstyle=stylename
To use settings that have been captured with the
Capture Settings in the QuarkXPress Export as PDF dialog box, use document. For example:
http://localhost:8080/pdf/ sample.qxp?outputstyle=document
Lets you specify the title of the PDF file.String
Lets you specify the subject of the PDF file.String
Lets you specify the author of the PDF file.String
Lets you specify keywords for the PDF file.String
Lets you specify whether to include hyperlinks in the PDF file.
Lets you specify whether to export lists as hyperlinks. To use this parameter, you must set
includehyperlinks to true.
Lets you specify whether to export the index as hyperlinks. To use this parameter, you must set
includehyperlinks to true.
exportlistsasbookmarks
mode
printcolors
plates
produceblankpages
useopi
images
1 | 0 | true | false | yes | no
composite or separations
cmyk, rgb, grayscale, cmykandspot, asis
inripseps
1 | 0 | true | false | yes | no
false | yes | no
includeimages, omittiff, omittiffandeps
Lets you specify whether to export lists as bookmarks. To use this parameter, you must set
includehyperlinks to true.
Lets you specify whether the PDF file is a composite or includes separations.
Lets you specify the color space of the PDF file. This option is available only when mode is set to
composite.
Lets you specify a separation method. This option is available only when mode is set to
separations.
Lets you specify whether to include blank pages. This option is available only when mode is set to
composite.
Lets you specify whether to use OPI.1 | 0 | true |
Lets you specify whether to include TIFF and EPS images from an OPI server.
registration
62 | A GUIDE TO QUARKXPRESS SERVER 9.5
off, centered, offcenter
Lets you include, omit, and configure registration marks.
USING QUARKXPRESS SERVER
offset
bleed
offsetbleed
spreads
lowresolution
colorimagedownsample
grayscaleimagedownsample
monochromeimagedownsample
colorcompression
points)
symmetric
0–6 (in inches)
false | yes | no
false | yes | no
9–2400
9–2400
true | false
Lets you specify the offset of registration marks.0–30 (in
Lets you specify a bleed type.pageitemsonly,
Lets you specify a bleed offset to use. This option is available only when bleed is set to
symmetric.
Lets you specify whether to output spreads.1 | 0 | true |
Lets you request a low-resolution (36 dpi) PDF.1 | 0 | true |
Lets you specify the resolution of color images.9–2400
Lets you specify the resolution of grayscale images.
Lets you specify the resolution of monochrome images.
Lets you specify whether medium-quality manual JPEG compression should be applied to color images.
grayscalecompression
monochromecompression
pdffile
psfile
thumbnail
mode
fontdownload
layers
verification
true | false
true | false
String
String
separations
yes | no
String
Lets you specify whether medium-quality manual JPEG compression should be applied to grayscale images.
Lets you specify whether ZIP compression should be applied to monochrome images.
Lets you specify the PDF name. This option is available only when PDF to Folder is selected in QuarkXPress Server PDF preferences.
Lets you specify the PostScript file name. This option is available only when PostScript for later Distilling is selected in QuarkXPress Server PDF preferences.
Lets you embed a thumbnail in the PDF file.bw | color
Lets you specify the PDF file's color mode.composite |
Lets you turn font download on or off. You cannot specify which fonts are downloaded.
Lets you specify which layers should be included, as a comma-separated list.
Lets you use PDF/X–1a or PDF/X–3 verification.pdfx1a | pdfx3
separate
yes | no
Lets you specify whether to output each page as a separate file.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 63
USING QUARKXPRESS SERVER
produceblankplates
download
layoutstart
layoutend
1 | 0 | true | false
1 | 0 | true | false | yes | no
Integer
Lets you specify whether to include blank plates.yes | no
When download is true, the browser always displays a dialog box that lets the end user save the returned file, even if the browser can display it.
When download is false, the browser attempts to display the returned file. If the browser cannot display the file, it lets the end user save the returned file.
The default value is false.
Lets you specify the number of the first layout to render when you render multiple layouts as separate PDF files. PDF files are saved at the location specified in QuarkXPress Server preferences (Administration > Preference > General > Server > Document Root Folder). The first layout in a project is layout 0. For example:
http://localhost:8080/pdf/multilayout.qxp? layoutstart=0&layoutend=3
Lets you specify the number of the last layout to render when you render multiple layouts as separate PDF files. PDF files are saved at the location specified in QuarkXPress Server preferences (Administration > Preference > General > Server > Document Root Folder). The first layout in a project is layout 0. For example:
http://localhost:8080/pdf/multilayout.qxp? layoutstart=0&layoutend=3
Render modifier parameters
updateimage
updateflow
page
pages
spread
layout
spreads
A PDF file.Response
true | false
true | false
range)
Integer
String
true | false | yes | no
HTTP Error #500This page range is invalidAlerts
QuarkXPress Server Error #147
Lets you specify whether to update imported pictures.
Lets you specify whether to update the text flow version of a project to the current version.
Lets you specify a single page.Integer
Lets you specify a range of pages.String (page
Lets you specify a spread. The first spread is spread 1. In a facing-page document, spread 1 consists of the first page.
Lets you specify a layout by name or ID. The first layout is Layout 1.
Lets you specify that the output use spreads.Boolean 1 | 0 |
64 | A GUIDE TO QUARKXPRESS SERVER 9.5
requested contains only blank pages.
USING QUARKXPRESS SERVER
This alert displays if you try to render an invalid page range.
HTTP Error #500No file produced. The project
This alert displays if you try to render a a project that contains only blank pages.
This alert displays if you specify a nonexistent output style.This Output Style does not exist.
Example, GET URL
Example, object model
This Output Style cannot be used with this render type.
See Understanding loggingLogs
This URL renders "sample.qxp" as a PDF with a symmetric bleed:
http://localhost:8080/pdf/sample.qxp? bleed=symmetric&offsetbleed=2
This URL renders a PDF in which color images are downsampled to a resolution of 300 dpi and manual medium-quality JPEG compression is applied:
http://localhost:8080/pdf/sample.qxp? colorimagedownsample=300&colorcompression=true
Request object name: PDFRenderRequest
// STEP1: Create the QuarkXPress Server Request Context // and set the nescessary properties com.quark.qxpsm.QRequestContext requestCtx = new com.quark.qxpsm.QRequestContext(); Boolean responseAsURL = false; requestCtx.setDocumentName(docName);
// STEP 2(SPECIFIC TO REQUESTS): // Create the PDF renderer request // and embed it in the request context. PDFRenderRequest pdfreq = new PDFRenderRequest(); pdfreq.setAuthor(request.getParameter("Author")); pdfreq.setTitle(request.getParameter("Title")); pdfreq.setLayout(request.getParameter("Layout")); pdfreq.setSpread(request.getParameter("Spread")); pdfreq.setPage(request.getParameter("mPage")); pdfreq.setPages(request.getParameter("Pages")); if( strLowResolution !=null && strLowResolution.equals("True")) pdfreq.setLowResolution("true"); requestCtx.setRequest(pdfreq);
This alert displays if you specify an output style that is incompatible with this render type.
Notes
// STEP3: Create the service and // call the processRequest() API RequestService service = new RequestServiceStub(); com.quark.qxpsm.QContentData data = service.processRequest(requestCtx);
For more information about the object model, see the samples.
There are three ways to generate PDF files with QuarkXPress Server. You can generate a PDF file in QuarkXPress Server and return it to the end user, generate the PDF in QuarkXPress server and save it to a folder on the server computer, or generate a PostScript file for later distilling and save it to a folder on the server computer. To choose one of these output methods in QuarkXPress Server, choose Administration > Preferences > Renderer > PDF) and then click DirectPDF, PDFtoFolder, or PS4D (PostScript for Later Distilling). If you choose either of the last two options, click Browse and navigate to the target folder, then choose an option from the Default Name drop-down menu.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 65
USING QUARKXPRESS SERVER
You can specify an output style and set additional local parameters of that output style. For example, if no bleed setting is specified in the output style named "mystylename", you can specify a bleed setting with a URL like the following:
http://localhost:8080/pdf/sample.qxp? outputstyle=mystylename&bleed=symmetric
You can override settings in an output style. For example, if an asymmetric bleed is specified in the output style named "mystylename," you could override it with the same URL.
If you do not specify a PDF output style, the default PDF output style is used.
png
The png render type returns a PNG rendering of a page or spread.
Namespace
Parameters
Render modifier parameters
PNG
pngcompression
transparentpng
upadateimage
updateflow
boxes
page
scale
box
spread
1 | 2 | 3 | 4
true | false
true | false
Float .1 to
6.92 for Windows .1 to 8 on Mac OS
Integer
Lets you specify the compression of a PNG response. The valid values are: 1 (lowest compression), 2 (medium compression), 3 (high compression), and 4 (highest compression). The default value is 1.
Lets you specify whether to generate a PNG file that uses transparency.
Lets you specify whether to update imported pictures.true | false
Lets you specify whether to update the text flow version of a project to the current version.
Lets you request multiple boxes.String
Lets you specify a single page.Integer
Lets you specify a scaling percentage. The valid values are from .1 (10%) to 8 (800%) on Mac OS or 6.92 (692%) on Windows.
Lets you request a single box.String
Lets you specify a spread. The first spread is spread 1. In a facing-page document, spread 1 consists of the first page.
String
Example, GET URL
Example, object model
layout
A PNG file.Response
See Understanding loggingLogs
http://localhost:8080/png/sample.qxp?pngcompression=1
Request object name: PNGRenderRequest
// STEP1: Create the QuarkXPress Server Request // Context and set the nescessary properties com.quark.qxpsm.QRequestContext rc = new com.quark.qxpsm.QRequestContext();
66 | A GUIDE TO QUARKXPRESS SERVER 9.5
Lets you specify a layout by name or ID. The first layout is Layout 1.
Boolean responseAsURL = false; rc.setDocumentName(docName);
// STEP 2(SPECIFIC TO REQUESTS):Create the PNG renderer // request and embed it in the request context. PNGRenderRequest pngreq = new PNGRenderRequest(); pngreq.setPNGCompression(request.getParameter( "PNGCompression")); pngreq.setLayout(request.getParameter("Layout")); pngreq.setSpread(request.getParameter("Spread")); pngreq.setPage(request.getParameter("mPage")); rc.setRequest(pngreq);
// STEP3: Create the service and // call the processRequest() API RequestService service = new RequestServiceStub(); com.quark.qxpsm.QContentData data = service.processRequest(rc);
postscript
The postscript render type returns a PostScript rendering of a project.
USING QUARKXPRESS SERVER
Namespace
Parameters
PostScript
prntbleed
outputstyle
clip<Boolean>, top<float>, bottom<float>, left<float>, right<float> | sym, clip<Boolean>, amount<float>
stylename, document
Lets you specify bleed values for a page.Page | asym,
To specify an asymmetric bleed, use the following format:
prntbleed=asym,clip,top,bottom, left, right
The clip value is Boolean (yes/no). The top, bottom, left, and right values are float values. For example:
http://localhost:8080/ postscript/Sample.qxp? prntbleed=asym,true,1,2,2,1
The above example results in an asymmetric bleed of 1 on the top, 2 on the bottom, 2 on the left, and 1 on the right.
To specify a symmetric bleed, use the following format:
prntbleed=sym,clip,amount
The clip value is Boolean (yes/no). The amount value is a float value. For example:
http://localhost:8080/ postscript/Sample.qxp? prntbleed=sym,true,1
The above example results in a symmetric bleed of 1 on all sides. Default: prntbleed=sym,yes,0
Lets you specify an output style. To use a named output style, use the name of that output style. For example:
http://localhost:8080/ postscript/ sample.qxp?outputstyle=stylename
To use settings that have been captured with the Capture Settings in the QuarkXPress Print dialog box, use
document. For example: http://localhost:8080/
postscript/ sample.qxp?outputstyle=document
A GUIDE TO QUARKXPRESS SERVER 9.5 | 67
USING QUARKXPRESS SERVER
Render modifier parameters
Alerts
updateimage
updateflow
page
pages
spread
layout
A PostScript file.Response
invalid.
The document requested contains only blank pages.
Lets you specify whether to update imported pictures.true | false
true | false
range)
Integer
String
HTTP Error #500This page range is
QuarkXPress Server Error #147
This alert displays if you try to render an invalid page range.
HTTP Error #500No file produced.
This alert displays if you try to render a a project that contains only blank pages.
Lets you specify whether to update the text flow version of a project to the current version.
Lets you specify a single page.Integer
Lets you specify a range of pages.String (page
Lets you specify a spread. The first spread is spread 1. In a facing-page document, spread 1 consists of the first page.
Lets you specify a layout by name or ID. The first layout is Layout 1.
Example, GET URL
Example, object model
HTTP Error #500PostScript printer mapped to file not found
does not exist.
This Output Style cannot be used with this render type.
See Understanding loggingLogs
http://localhost:8080/postscript/Sample.qxp
Request object name: PostScriptRenderRequest
// STEP1: Create the QuarkXPress Server Request // Context and set the nescessary properties com.quark.qxpsm.QRequestContext requestCtx = new com.quark.qxpsm.QRequestContext(); Boolean responseAsURL = false; requestCtx.setDocumentName(docName);
// STEP 2(SPECIFIC TO REQUESTS): // Create the Post Script renderer // request and embed it in the request context. PostScriptRenderRequest pscreq = new PostScriptRenderRequest(); pscreq.setPrintBleed(request.getParameter("PrintBleed")); pscreq.setPrintPPD(request.getParameter("PrintPPD")); pscreq.setPages(request.getParameter("Pages"));
This alert displays if the PostScript printer or driver is not set to Print to File.
This alert displays if you specify a nonexistent output style.This Output Style
This alert displays if you specify an output style that is incompatible with this
render type.
68 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
requestCtx.setRequest(pscreq);
// STEP3: Create the service and call the // processRequest() API RequestService service = new RequestServiceStub(); com.quark.qxpsm.QContentData data = service.processRequest(requestCtx);
To create a PostScript file, you must have a PostScript driver on the server computer.Notes
You can specify an output style and set additional local parameters of that output style. For example, if no bleed setting is specified in the output style named "mystylename", you can specify a bleed setting with a URL like the following:
http://localhost:8080/eps/sample.qxp? outputstyle=mystylename&bleed=symmetric
You can override settings in an output style. For example, if an asymmetric bleed is specified in the output style named "mystylename," you could override it with the same URL.
If you do not specify a PostScript-compatible output style, the default PostScript-compatible output style is used.
qcddoc
The qcddoc render type returns a QuarkCopyDesk article.
Namespace
Parameters
qcddoc
article
component
format
saveastemplate
String
String
lightweight | fullfeatured
true | false
Lets you specify which article in a project to render. For example:
http://localhost:8080/qcddoc/ abc.qxp?article=article1
Lets you specify which component in an article to render. For example:
http://localhost:8080/copydesk/ abc.qcd?component=comp1
Lets you render an article in lightweight or full-featured format. For example:
http://localhost:8080/qcddoc/ abc.qxp?article=article1& format=fullfeatured
Lets you save a copy of an article that was created in QuarkCopyDesk as a template. The default value is
true. For example: http://QXPServer8:8080/saveas/
qcddoc/article.qcd?saveastemplate=true
You can also use this parameter to save a copy of a template as an article. For example:
http://QXPServer8:8080/saveas/ qcddoc/template.qct?saveastemplate=false
includepagepicture
true | false | 1 | 0
Lets you include a page picture when you export an article from a QuarkXPress layout. Valid options are:
picformat (embedded or separate) quality (blackandwhite or color)
A GUIDE TO QUARKXPRESS SERVER 9.5 | 69
USING QUARKXPRESS SERVER
picdpi (72, 144, or 200) spreadrange (all or first)
For example:
http://localhost:8080/saveas/qcddoc/
4.qxp?includepagepicture=1& quality=blackandwhite&picdpi=144& spreadrange=first
http://localhost:8080/saveas/qcddoc/ PagePicture.qxp?includepagepicture=true
Render modifier parameters
Alerts
Example, GET URL
Example, object model
qxpdoc
XMLmodify
A QuarkCopyDesk article.Response
There is no box with the specified identifier.
in the article name can't be greater than max limit.
The article/component name is not unique.
See Understanding loggingLogs
http://localhost:8080/qcddoc/copydesk/sample.qcd
Request object name: CopyDeskDocRequest
This alert displays if the box corresoponding to a referenced component does not exist.
This alert displays if an article name is longer than 32 characters.The number of characters
This alert displays if you create or change the name of an article or component so that it is the same as the name of an existing article or component.
Lets you modify the article with XML. For more information, see "Using XML modify."
The qxpdoc render type returns a QuarkXPress project.
Namespace
Parameters
qxpdoc
qxpdocver
upadateimage
saveastemplate
8 | 9
true | false
true | false
70 | A GUIDE TO QUARKXPRESS SERVER 9.5
Indicates the QuarkXPress version format to use. For example:
http://localhost:8080/qxpdoc/ construct/project1.qxp?qxpdocver=8
Lets you specify whether to return modified pictures in the response or not. If set to false, modified pictures are not returned. If set to true, modified pictures are returned. The default value is true.
Lets you save a copy of a project as a template. The default value is true. For example:
http://localhost:8080/saveas/ qxpdoc/project.qxp?saveastemplate=true
You can also use this parameter to save a copy of a template as a project. For example:
http://localhost:8080/saveas/ qxpdoc/template.qpt?saveastemplate=false
USING QUARKXPRESS SERVER
Render modifier parameters
Alerts
Example, GET URL
Example, object model
layout
A QuarkXPress project.Response
document return is disabled.
this image type has no way of rendering the desired objects.
QuarkXPress Project down to an earlier version.
See Understanding loggingLogs
http://localhost:8080/qxpdoc/sample.qxp
Request object name: QuarkXPressRenderRequest
// STEP1: Create the QuarkXPress Server Request // Context and set the nescessary properties com.quark.qxpsm.QRequestContext requestCtx = new com.quark.qxpsm.QRequestContext(); Boolean responseAsURL = false; requestCtx.setDocumentName(docName);
String
HTTP Error #500QuarkXPress
This alert displays if Disable QXD Return is checked in the QuarkXPress Server administration interface (Administration > Preferences > General > Server).
HTTP Error #406The renderer for This alert displays if you submit a qxpdoc render request with the page, pages,
box, or spread parameter.
HTTP Error #500Cannot save a
This alert displays if you attempt to save a QuarkXPress 6.x project to an earlier version of QuarkXPress with the qxpdocver parameter.
Lets you specify a layout by name or ID. The first layout is Layout 1.
Namespace
// STEP 2(SPECIFIC TO REQUESTS):Create the QuarkXPress // renderer request and embed it in the request context. QuarkXPressRenderRequest qxpreq = new QuarkXPressRenderRequest(); qxpreq.setDocumentVersion(request.getParameter( "XpressDocVersion")); qxpreq.setLayout(request.getParameter("Layout")); requestCtx.setRequest(qxpreq);
// STEP3: Create the service and call the processRequest() API RequestService service = new RequestServiceStub(); com.quark.qxpsm.QContentData data = service.processRequest(requestCtx);
screenpdf
The screenpdf render type returns a low-resolution PDF rendering of a project. This
render type overrides the PDF Workflow setting in the QuarkXPress Server administration
interface (Administration > Preferences > Renderer > PDF) and always sends the PDF
file to the browser.
Screenpdf
A GUIDE TO QUARKXPRESS SERVER 9.5 | 71
USING QUARKXPRESS SERVER
Parameters
outputstyle
title
subject
author
keywords
includehyperlinks
exportlistsashyperlinks
exportindexesashyperlinks
stylename
1 | 0 | true | false | yes | no
1 | 0 | true | false | yes | no
1 | 0 | true | false | yes | no
Lets you specify an output style. To use a named output style, use the name of that output style. For example:
http://localhost:8080/screenpdf/ sample.qxp?outputstyle=stylename
To use settings that have been captured with the Capture Settings in the QuarkXPress Print dialog box, use document. For example:
http://localhost:8080/screenpdf/ sample.qxp?outputstyle=document
Lets you specify the title of the PDF file.String
Lets you specify the subject of the PDF file.String
Lets you specify the author of the PDF file.String
Lets you specify keywords of the PDF file.String
Lets you specify whether to include hyperlinks in the PDF file.
Lets you specify whether to export lists as hyperlinks. To use this parameter, you must set
includehyperlinks to true.
Lets you specify whether to export the index as hyperlinks. To use this parameter, you must set
includehyperlinks to true.
exportlistsasbookmarks
mode
printcolors
plates
produceblankpages
useopi
images
registration
1 | 0 | true | false | yes | no
composite or separations
cmyk, rgb, grayscale, cmykandspot, asis
inripseps
1 | 0 | true | false | yes | no
yes | no
includeimages, omittiff, omittiffandeps
off, centered, offcenter
Lets you specify whether to export lists as bookmarks. To use this parameter, you must set
includehyperlinks to true.
Lets you specify whether the PDF file is a composite or includes separations.
Lets you specify the color space of the PDF file. This option is available only when mode is set to
composite.
Lets you specify a separation method. This option is available only when mode is set to
separations.
Lets you specify whether to include blank pages. This option is available only when mode is set to
composite.
Lets you specify whether to use OPI.1 | 0 | true | false |
Lets you specify whether to include TIFF and EPS images from an OPI server.
Lets you include, omit, and configure registration marks.
72 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
offset
bleed
offsetbleed
spreads
lowresolution
colorimagedownsample
grayscaleimagedownsample
monochromeimagedownsample
colorcompression
grayscalecompression
symmetric
0–6 (in inches)
yes | no
yes | no
9–2400
9–2400
true | false
true | false
Lets you specify the offset of registration marks.0–30 (in points)
Lets you specify a bleed type.pageitemsonly,
Lets you specify a bleed offset to use. This option is available only when bleed is set to symmetric.
Lets you specify whether to output spreads.1 | 0 | true | false |
Lets you request a low-resolution (36 dpi) PDF.1 | 0 | true | false |
Lets you specify the resolution of color images.9–2400
Lets you specify the resolution of grayscale images.
Lets you specify the resolution of monochrome images.
Lets you specify whether medium-quality manual JPEG compression should be applied to color images.
Lets you specify whether medium-quality manual JPEG compression should be applied to grayscale images.
monochromecompression
pdffile
psfile
thumbnail
mode
fontdownload
layers
transparencyres
verification
true | false
String
String
separations
yes | no
String
Integer value from 36 to 3600
Lets you specify whether ZIP compression should be applied to monochrome images.
Lets you specify the PDF name. This option is available only when PDF to Folder is selected in QuarkXPress Server PDF preferences.
Lets you specify the PostScript file name. This option is available only when PostScript for later Distilling is selected in QuarkXPress Server PDF preferences.
Lets you embed a thumbnail in the PDF file.bw | color
Lets you specify the PDF file's color mode.composite |
Lets you turn font download on or off. You cannot specify which fonts are downloaded.
Lets you specify which layers should be included, as a comma-separated list.
Lets you specify the resolution for flattened content.
Lets you use PDF/X–1a or PDF/X–3 verification.pdfx1a | pdfx3
separate
yes | no
Lets you specify whether to output each page as a separate file.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 73
USING QUARKXPRESS SERVER
Render modifier parameters
produceblankplates
updateimage
updateflow
page
pages
spread
layout
spreads
A screen-resolution PDF fileResponse
Lets you specify whether to include blank plates.yes | no
true | false
true | false
Integer
String
| false | yes | no)
HTTP Error #500This page range is invalid.Alerts
QuarkXPress Server Error #147
This alert displays if you try to render an invalid page range.
Lets you specify whether to update imported pictures.
Lets you specify whether to update the text flow version of a project to the current version.
Lets you specify a single page.Integer
Lets you specify a range of pages.String (page range)
Lets you specify a spread. The first spread is spread
1. In a facing-page document, spread 1 consists of the first page.
Lets you specify a layout by name or ID. The first layout is Layout 1.
Lets you specify that the output use spreads.Boolean (1 | 0 | true
Example, GET URL
Example, object model
HTTP Error #500No file produced. The document requested contains only blank pages.
See Understanding loggingLogs
http://localhost:8080/screenpdf/sample.qxp? colorimagedownsample=72&colorcompression=0
Request object name: ScreenPDFRenderRequest
// STEP1: Create the QuarkXPress Server Request Context // and set the nescessary properties com.quark.qxpsm.QRequestContext requestCtx = new com.quark.qxpsm.QRequestContext(); String docName = request.getParameter("documentName") ; requestCtx.setDocumentName(docName);
// STEP 2(SPECIFIC TO REQUESTS): // Create the QuarkXPress renderer // request and embed it in the request context. ScreenPDFRenderRequest screenpdfRequest = new ScreenPDFRenderRequest(); screenpdfRequest.setColorImageDownSample( request.getParameter("ColorImageDownSample")); screenpdfRequest.setCompression(request.getParameter( "Compression")); requestCtx.setRequest(screenpdfRequest);
This alert displays if you try to render a a project that contains only
blank pages.
// STEP3: Create the service and // call the processRequest() API RequestService service = new RequestServiceStub();
74 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
com.quark.qxpsm.QContentData data = service.processRequest(requestCtx);
swf
The swf render type returns a SWF (Flash) rendering of a Print layout or an Interactive
layout.
SWFNamespace
Parameters
version
layout
page
pages
fullscreen
embedallfonts
compressswf
compressaudio
jpegquality
download
swf6 | swf7
string
true | false
true | false
true | false
true | false
1–100
true | false
Lets you specify the minimum compatible version of Flash Player.
Lets you specify a layout by name or ID. The first layout is Layout 1.
Lets you specify a single page.string
Lets you specify a range of pagesstring
Lets you specify whether the SWF file should run in full-screen mode by default.
Lets you indicate whether to include any fonts that are necessary to correctly render text in Text Box objects within the exported SWF file
Lets you specify whether to compress the exported file.
Lets you specify whether to compress audio in the exported file.
Lets you specify the quality of JPEG images in the exported file, with 100 being highest quality.
When download is true, the browser always displays a dialog box that lets the end user save the returned file, even if the browser can display it.
When download is false, the browser attempts to display the returned file. If the browser cannot display the file, it lets the end user save the returned file.
The default value is false.
spreads
updateimage
updateflow
Boolean 1 | 0 | true | false | yes | no
true | false
true | false
Lets you specify that the output use spreads. Applicable only to Print layouts.
Lets you specify whether to update imported pictures.
Lets you specify whether to update the text flow version of a project to the current version.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 75
USING QUARKXPRESS SERVER
A single SWF file or a multipart reply containing an SWF file and a set of support files.Response
A multipart reply can result if you render an Interactive layout that uses external assets -- for example, if the layout includes a Video object containing a video file that has been specified by choosing Choose from a drop-down menu. In this case, the reply includes a "RelativePath" parameter for each file, and each file is saved in the directory indicated by this "RelativePath" parameter
You can use the saveas request handler to save the files that are included in a multipart reply in a particular directory, using the relative folder hierarchy that was specified in the multipart reply.
Alerts
Example, GET URL
Example, object model
This alert displays if you try to render a nonexistent page.The requested page does not
exist.
This alert displays if you try to render an invalid page range.This page range is invalid.
This alert displays if you try to render a nonexistent leyout.The requested layout does not
exist.
Unknown swf player version.
Value of jpegquality is outside range, valid values are 1 - 100.
See Understanding loggingLogs
This URL renders the Interactive layout named "Presentation" in the "sample.qxp" file as a free-standing SWF file set to display in full-screen mode:
http://localhost:8080/swf/sample.qxp? layout=Presentation&fullscreen=true
Request object name: SWFRenderRequest
// STEP1: Create the QuarkXPress Server Request Context // and set the nescessary properties com.quark.qxpsm.QRequestContext requestCtx = new com.quark.qxpsm.QRequestContext(); Boolean responseAsURL = false; requestCtx.setDocumentName(docName);
This alert displays if you specify an invalid version parameter.
This alert displays if you specify an invalid jpegquality parameter.
// STEP 2(SPECIFIC TO REQUESTS):Create the SWF renderer request // and embed it in the request context. SWFRenderRequest swfreq = new SWFRenderRequest(); swfreq.setVersion(request.getParameter("Version")); swfreq.setLayout(request.getParameter("Layout")); swfreq.setPage(request.getParameter("Page")); swfreq.setFullscreen(request.getParameter("Fullscreen")); swfreq.setEmbedallfonts(request.getParameter( "Embedallfonts")); swfreq.setCompressswf(request.getParameter("Compressswf")); swfreq.setCompressaudio(request.getParameter( "Compressaudio")); swfreq.setJpegquality(request.getParameter("Jpegquality")); swfreq.setDownload(request.getParameter("Download")); requestCtx.setRequest(swfreq);
// STEP3: Create the service and call the processRequest() API RequestService service = new RequestServiceStub(); com.quark.qxpsm.QContentData data = service.processRequest(requestCtx);
76 | A GUIDE TO QUARKXPRESS SERVER 9.5

Understanding render modifiers

Render modifiers let you control which parts of a project are rendered and set the scale of
the returned renderings. The topics covered here include the following:
DescriptionProperty
USING QUARKXPRESS SERVER
box
boxes
layer
layout
movepages
page
pages
scale
spread
spreads
The box render modifier lets you render a single box.
The boxes render modifier lets you render multiple boxes.
The layer render modifier lets you show and hide layers prior to rendering. This render modifier also lets you add and remove layers from a project on the server.
The layout render modifier lets you render a particular layout.
The movepages render modifier lets you move pages prior to rendering.
The page render modifier lets you render a single page.
The pages render modifier lets you render multiple pages.
The scale render modifier lets you specify the scale at which content is rendered.
The spread render modifier lets you render a single spread.
The spreads render modifier lets you render multiple spreads.
Additional render-type-specific parameters are listed on each render type's page.
In the QuarkXPress Server Manager API, render modifiers are properties of render request
classes.
Render modifier names are not case-sensitive.
annotateerrors
The annotateerrors render modifier lets you include descriptions of rendering errors
as notes in the layout itself. In rendered QuarkXPress files, errors are displayed as notes.
In rendered PDFs, errors are displayed as comments. In XML output, errors are displayed
as notes XML markup.
The errors recorded by this feature are:
Missing image files
Missing text files
Invalid box attributes
Invalid geometry
Invalid text attributes
Invalid picture attributes
Unavailable box or table node referenced by ANCHOREDBOXREF
A GUIDE TO QUARKXPRESS SERVER 9.5 | 77
USING QUARKXPRESS SERVER
Creation of an anchored box or table without any reference to it from the parent box
Invalid ROWCOUNT, COLUMNCOUNT, or MERGE element
Invalid TABLEBREAK element
Invalid gridline attribute for a row or column
Invalid row or column creation
Invalid cell attributes
Invalid paragraph style sheet
Invalid character style sheet
Invalid conditional style
Invalid bullet or numbering style
Parameters
Compatible with
Example GET URL
appenderrors
Missing image files
Missing text files
Invalid box attributes
Invalid geometry
annotateerrors
pdf, qxpdoc, xml, postscript
See Understanding loggingLogs
http://localhost:8080/png/sample.qxp?box=annotateerrors
Descriptions of rendering errors are formatted with the default character style sheet.Notes
String
Includes descriptions of rendering errors as notes in the layout.
The appenderrors render modifier lets you include descriptions of rendering errors after
the last page in the layout. Descriptions of rendering errors are formatted in 10-point
magenta Arial.
The errors recorded by this feature are:
Invalid text attributes
Invalid picture attributes
Unavailable box or table node referenced by ANCHOREDBOXREF
Creation of an anchored box or table without any reference to it from the parent box
Invalid ROWCOUNT, COLUMNCOUNT, or MERGE element
Invalid TABLEBREAK element
Invalid gridline attribute for a row or column
78 | A GUIDE TO QUARKXPRESS SERVER 9.5
Invalid row or column creation
Invalid cell attributes
Invalid paragraph style sheet
Invalid character style sheet
Invalid conditional style
Invalid bullet or numbering style
USING QUARKXPRESS SERVER
Parameters
Compatible with
Example GET URL
box
Parameters
Compatible with
Alerts
appenderrors
pdf, qxpdoc, xml, postscript
See Understanding loggingLogs
http://localhost:8080/png/sample.qxp?box=appenderrors
Descriptions of rendering errors are formatted in 10-point magenta Arial.Notes
String
Includes descriptions of rendering errors after the last page in the layout.
The box render modifier lets you render a single box.
box
overlap
jpeg, png, raw
the specified identifier.
String
HTTP Error #500There is no box with
This alert displays if you request a box that does not exist.
Lets you specify which box to render.String
Lets you specify whether to show the area overlapped by the specified box.
Example GET URL
Notes
HTTP Error #500Cannot render box. The box must be within the page boundaries.
image type has no way of rendering the desired objects.
See Understanding loggingLogs
http://localhost:8080/png/sample.qxp?box=pictbox
To render a box in a particular layout, use a URL like the following:
http://localhost:8080/png/sample.qxp? layout=2&page=3&box=textbox
This alert displays if you request a box that is outside the page boundary.
HTTP Error #406The renderer for this
This alert displays if you try to use the box parameter with the eps, pdf,
or qxpdoc render types.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 79
USING QUARKXPRESS SERVER
When you render using the box parameter, the box ID has a higher priority than the
box name.
boxes
The boxes render modifier lets you render multiple boxes.
Parameters
Compatible with
Alerts
Example GET URL
Notes
boxes
overlap
jpeg, png, raw
the specified identifier.
The box must be within the page boundaries.
image type has no way of rendering the desired objects.
See Understanding loggingLogs
http://server:port/jpeg/doc.qxp?boxes=box1,box2
To render boxes in a particular layout, use a URL like the following:
http://localhost:8080/png/sample.qxp? layout=2&page=3&box=textbox
String
HTTP Error #500There is no box with
This alert displays if you request a box that does not exist.
HTTP Error #500Cannot render box.
This alert displays if you request a box that is outside the page boundary. .
HTTP Error #406The renderer for this This alert displays if you try to use the boxes parameter with the eps, pdf,
or qxpdoc render types.
Lets you specify which boxes to render.String
Lets you specify whether to show the area overlapped by the specified boxes.
When you render using the box parameter, the box ID has a higher priority than the
box name.
compositionzone
The compositionzone parameter lets you return an XML representation of one or more
Composition Zones items.
Parameters
compositionzone
compositionzones
80 | A GUIDE TO QUARKXPRESS SERVER 9.5
String
String
Lets you specify which Composition Zones item to return. For example:
http://localhost:8080/xml/sample.qxp? compositionzone=czbox
Lets you specify which Composition Zones items to return. For example:
http://localhost:8080/xml/sample.qxp? compoxitionzones=czbox1, czbox2
USING QUARKXPRESS SERVER
Compatible with
Alerts
layer
Parameters
xml
Error #10401Invalid box given in Box
Param.
See Understanding loggingLogs
This alert displays if you request a box that is not a Composition Zones item.
The layer render modifier lets you show and hide layers prior to rendering. This render
modifier also lets you add and remove layers from a project on the server.
layer
addlayer
deletelayer
alllayers
layerattribute
String
String
String
Boolean (1 | 0 | true | false | yes | no)
String
Lets you specify which layer to render. You can specify multiple layer names in one request.
Lets you add a new layer. You can add one layer per request.
Lets you delete a layer and the items on that layer. You can delete one layer per request.
Lets you render every layer in the project, including hidden and suppressed layers.
Lets you modify the attributes of a layer. You can modify one layer per request.
Compatible with
name
visible
suppressoutput
locked
keeprunaround
eps, jpeg, png, postscript, qcddoc, qxpdoc, raw, pdf, screenpdf, swf, xml
String
Boolean (1 | 0 | true | false | yes | no)
Boolean (1 | 0 | true | false | yes | no)
Boolean (1 | 0 | true | false | yes | no)
Boolean (1 | 0 | true | false | yes | no)
Lets you specify a new name for a layer. You must use this parameter in conjunction with the
layerattribute parameter.
Lets you make a layer visible or invisible. You can use this parameter in conjunction with the addlayer and
layerattribute parameters. This parameter overrides
QuarkXPress layer visibility preferences.
Lets you suppress or allow the output of a layer. You can use this parameter in conjunction with the
addlayer and layerattribute parameters. This
parameter overrides QuarkXPress suppress output preferences.
Lets you lock or unlock a layer. You can use this parameter in conjunction with the addlayer and
layerattribute parameters. This parameter overrides
QuarkXPress layer locking preferences.
Lets you set or change a layer's Keep Runaround setting. You can use this parameter in conjunction with the addlayer and layerattribute parameters. This parameter overrides QuarkXPress Keep Runaround preferences.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 81
USING QUARKXPRESS SERVER
Alerts
exist. Please verify the layer name.
same name already exists.
name of the default layer.
default layer.
value.
locked and cannot be modified.
HTTP Error #500This layer does not This alert displays if you specify an invalid layer name with the layer,
layerattribute, or deletelayer parameter.
HTTP Error #500Specify a layer name. This alert displays if you do not specify a layer name with the layer,
layerattribute, addlayer, or deletelayer parameter.
HTTP Error #500A layer with the
This alert displays if you try to add a layer that already exists or change the name of a layer to a name is already used in the project.
HTTP Error #500Cannot change the
This alert displays if you try to change the name of the default layer.
HTTP Error #500Cannot delete the
This alert displays if you try to delete the default layer.
HTTP Error #500Invalid parameter
This alert displays if you do not specify additional attributes or specify attributes with invalid values in an addlayer or layerattribute request.
HTTP Error #500This layer has been
This alert displays if you try to add or modify an item on a locked layer.
Example GET URL
Example, object model
See Understanding loggingLogs
To render a single layer, use a URL like the following:
http://localhost:8080/doc.qxp?layer=layer1
To add a layer, use a URL like the following:
http://localhost:8080/qxpdoc/doc.qxp?addlayer= NewLayer&visible=yes&suppressoutput=yes&locked=no
To delete a layer, use a URL like the following:
http://localhost:8080/qxpdoc/doc.qxp?deletelayer=Layer1
To render all layers in a project, use a URL like the following:
http://localhost:8080/qxpdoc/doc.qxp?alllayers=true
To set layer attributes, use a URL like the following:
http://localhost:8080/qxpdoc/doc.qxp?layerattribute= Layer1&name=Layer2&visible=true&keeprunaround=true
To add a new layer to a project, use code like the following:
Layer layer = new Layer(); layer.name = "New Layer"; layer.operation = "CREATE"; RGBColor rgbcolor = new RGBColor(); layer.RGBColor = rgbcolor; layout.layer = new Layer[]{layer};
To edit the properties of an existing layer, use the following object hierarchy:
ModifierRequest < Project < Layout < Layer
To delete a layer, set its operation attribute to "DELETE".
You cannot add, modify, or delete multiple layers in a single request.Notes
82 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
You cannot print layers whose visible and suppressoutput properties are set to false. You can render a hidden or suppressed layer by referencing it with the layer parameter. Suppressed layers are rendered for the jpeg, png, and qxpdoc render types, but not for the pdf,
postscript, and eps render types.
You can use the deconstruct and getdocinfo request handlers to view information about the layers in a project.
When you add a layer using addlayer, any unspecified attributes use the settings in the QuarkXPress Server layer preferences (Administration > Preferences > Renderer > Layers).
If the visible property is set to false, the suppressoutput property is automatically set to
true.
layout
The layout render modifier lets you render a specific layout.
Parameters
Compatible with
Alerts
Example GET URL
movepages
Parameters
layout
eps, jpeg, png, postscript, raw, pdf, screenpdf, swf
layout does not exist.
See Understanding loggingLogs
To render a layout by its layer ID, use a URL like the following:
http://localhost:8080/png/sample.qxp?layout=2
To render a layout by its name, use a URL like the following:
http://localhost:8080/png/sample.qxp?layout=Layout 2
String
HTTP Error #500The requested
This alert displays if you supply an invalid layout value.
Lets you specify which layout to render. The first layout is layout
1.
The movepages render modifier lets you move pages prior to rendering.
movepages
afterpage
String
String
Lets you specify which pages to move. You can use a single page number (for example, 2) or a range of pages with the starting and ending page numbers separated by a hyphen (for example, 2–5).
Lets you specify the page after which the page or pages should be moved. To move pages to the beginning of a layout, use afterpage=start. To move pages to the end of a layout, use afterpage=end.
Compatible with
Alerts
eps, jpeg, png, postscript, qcddoc, qxpdoc, raw, pdf, screenpdf, swf, xml
QuarkXPress Server Error #61This page does not
exist.
QuarkXPress Server Error #62Invalid page range.
QuarkXPress Server Error #51The specified page range cannot be moved there.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 83
USING QUARKXPRESS SERVER
invalid.
value.
See Understanding loggingLogs
QuarkXPress Server Error #146This page range is
QuarkXPress Server Error #10108Invalid parameter
Example GET URL
Example, object model
To move pages 2–3 to after page 5, use a URL like the following:
http://localhost:8080/abc.qxp?movepages=2–3&afterpage=5
To move page 7 to the beginning of a layout, use a URL like the following:
http://localhost:8080/abc.qxp?movepages=7&afterpage= start
To move pages before rendering a layout, use code like the following:
// STEP1: Create the QuarkXPress Server Request Context // and set the nescessary properties com.quark.qxpsm.QRequestContext requestCtx = new com.quark.qxpsm.QRequestContext(); Boolean responseAsURL = false; requestCtx.setDocumentName(docName);
// STEP 2(SPECIFIC TO REQUESTS):Create the PDF // renderer request and embed it in the request context. the request context. PDFRenderRequest pdfreq = new PDFRenderRequest(); pdfreq.setMovePages("2-4"); pdfreq.setAfterPage("7"); requestCtx.setRequest(pdfreq);
// STEP3: Create the service and call the // processRequest() API RequestService service = new RequestServiceStub(); com.quark.qxpsm.QContentData data = service.processRequest( requestCtx);
Notes
page
Parameters
Compatible with
Alerts
The movepages operation executes only after all other modifications are complete. For example, if you use movepages in a modify request, the pages are moved only after the modify request is complete.
The page render modifier lets you render a single page.
page
eps, jpeg, png, postscript, qcddoc, raw, pdf, screenpdf, swf
HTTP Error #500The requested page does
not exist.
image type has no way of rendering the desired objects.
See Understanding loggingLogs
This alert displays if you attempt to render a page that does not exist.
HTTP Error #406The renderer for this This alert displays if you use a page parameter with the qxpdoc render
type.
Lets you specify which page to render.Integer
84 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
Example GET URL
Example, object model
Notes
pages
Parameters
Compatible with
http://localhost:8080/png/sample.qxp?page=2
To add a new page to an existing spread in a project, use code like the following:
Spread spread = new Spread(); Page page = new Page(); page.UID = "5"; page.operation = "CREATE"; spread.page = new Page[]{page};
To edit the properties of an existing page, use the following object hierarchy:
ModifierRequest < Project < Layout < Spread < Page
To delete a page, set its operation attribute to "DELETE".
To render a page in a particular layout, use a URL like the following:
http://localhost:8080/png/sample.qxp?layout=2&page=3
The pages render modifier lets you render multiple pages. The pdf and postscript
namespaces support this parameter.
pages
eps, jpeg, png, postscript, raw, pdf, screenpdf, swf
Lets you specify which pages to render.String (page range)
Alerts
Example, GET URL
Notes
scale
Parameters
HTTP Error #500This page range is
invalid.
this image type has no way of rendering the desired objects.
See Understanding loggingLogs
http://localhost:8080/pdf/sample.qxp?pages=2–4
To render pages in a particular layout, use a URL like the following:
http://localhost:8080/pdf/sample.qxp?layout=2&pages=2,3
QuarkXPress Server Error #147
This alert displays if you try to render a page range that exceeds the number of pages in the project.
HTTP Error #406The renderer for This alert displays if you use the pages parameter with the jpeg, eps, png,
or qxpdoc render type.
The scale render modifier lets you specify the scale at which content is rendered.
scale
Float
Lets you specify a scaling percentage. The valid values are from .1 (10%) to 8 (800%) on Mac OS or 6.92 (692%) on Windows.
Compatible with
eps, jpeg, png, raw
A GUIDE TO QUARKXPRESS SERVER 9.5 | 85
USING QUARKXPRESS SERVER
Alerts
Example, GET URL
spread
Parameters
Compatible with
Alerts
Example, GET URL
HTTP Error #500Invalid scale
parameter.
See Understanding loggingLogs
http://localhost:8080/png/sample.qxp?scale=2
This alert displays if an invalid scale value is provided.
What to do: Enter a valid scale value.
The spread render modifier lets you render a single spread.
spread
eps, jpeg, png, postscript, raw, pdf, screenpdf, swf
spread does not exist.
See Understanding loggingLogs
http://localhost:8080/png/sample.qxp?spread=2
Integer
HTTP Error #500The requested
This alert displays if you specify an invalid spread.
Lets you specify which spread to render. Spread numbers start with 1. The first spread is spread 1. In a facing-page document, spread 1 consists of the first page.
Example, Object Model
spreads
Parameters
Compatible with
To add a spread to a project, use code like the following:
Spread spread = new Spread(); spread.UID = "5"; spread.operation = "CREATE"; layout.spread = new Spread[]{spread};
Spread is located at the following place in the object hierarchy:
ModifierRequest < Project < Layout < Spread
To delete a spread, set its operation attribute to "DELETE".
The spreads render modifier lets you render layouts in spreads mode, so that pages in
spreads are rendered side-by-side rather than as individual pages.
spreads
eps, jpeg, png, postscript, raw, pdf, screenpdf, swf
See Understanding loggingLogs
Boolean (1 | 0 | true | false | yes | no)
Lets you specify whether to render spreads (true) or individual pages (false).
86 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
Example, GET URL
suppresserrors
Parameters
Compatible with
Example GET URL

Using content modifiers

Inserting text
http://localhost:8080/pdf/sample.qxp?spreads=true
The suppresserrors render modifier forces QuarkXPress Server to render as much of a
layout as it can, despite any errors that occur.
suppresserrors
pdf, qxpdoc, xml, postscript
See "Understanding logging."Logs
http://localhost:8080/png/sample.qxp?box=suppresserrors
Forces the layout to render despite any errors that may occur.String
Content modifiers let you alter the content and formatting of boxes in layouts without using
the XML modify parameter.
This topic explains how to import text into a box. Any existing text in the box is replaced.
Logs
Example, GET URL
The name of the target box.String[box name]Parameters Specify the name and location of the imported file with the file:
prefix. The imported file must be available to QuarkXPress Server.
To import a file that is in a subfolder of the document pool on Mac OS, use a path like the following:
file:subfolder:MyFile.ext
To import a file that is in a subfolder of the document pool on Windows, use a path like the following:
file:subfolder\MyFile.ext
A preview of the project with the imported text.Response
HTTP Error #404File not found.Alerts
QuarkXPress Server Error #–43
This alert displays if the imported file is not available to QuarkXPress Server.
If the request succeeds, a transaction success message is written to the QuarkXPress Server transaction log file. For example:
8/3/2005 11:27:42 jpeg/sample.qxp Type: image/jpeg Size: 31715 Client: 127.0.0.1
If an alert displays, an error message is written to the QuarkXPress Server error log file. For example:
8/10/2005 10:32:57 Error Error Code: –43 File not found.
http://localhost:8080/sample.qxp?Author=NewText http://localhost:8080/sample.qxp?TopStory=file:TopStory.doc
Example, object model
Request object name: RequestParameters
com.quark.qxpsm.QRequestContext rc = new com.quark.qxpsm.QRequestContext();;
A GUIDE TO QUARKXPRESS SERVER 9.5 | 87
USING QUARKXPRESS SERVER
if(!this.DocumentSettings1.documentName.Text.Equals("")) rc.documentName = this.DocumentSettings1.documentName.Text;
// STEP 2 (SPECIFIC TO REQUESTS):Create the Box Param // renderer request and embed it in RequestParameters request = new RequestParameters(); NameValueParam nameValue1 = new NameValueParam(); nameValue1.paramName = this.boxname1.Text; if(!this.boxvalue1.Text.Equals("")) nameValue1.textValue = this.boxvalue1.Text;
request.params = new NameValueParam[]{nameValue1}; rc.request = request; // Create the service and // call it with QRequestContext object RequestService svc = new RequestService(); com.quark.qxpsm.QContentData qc = svc.processRequest(rc);
Box names are case-sensitive.Notes
Use "&" to change the contents of multiple boxes in one request. The general URL for the multiple-box request is:http://localhost:8080/sample.qxp?text1=
NewText1&text2=NewText2 where text1 and text2 are the names of the two different boxes.
You can use "&" to change the contents of multiple boxes in one request. For example:
http://localhost:8080/sample.qxp? Headline=headline.txt&Story=file:Story.doc
You can import an XTags file generated by QuarkXPress.
Applying a font at import
Parameters
Alerts
Logs
Example, GET URL
Example, object model
This topic explains how to apply a font to a new text flow. When you use this method,
QuarkXPress Server ignores the original font of the target text box and inserts the new
text with the font specified by the parameter.
fontname
A preview of the project with the font applied to the imported text.Response
This alert displays if you specify a font that is unavailable.The specified font is not
available.
If the request succeeds, a transaction success message is written to the QuarkXPress Server transaction log file. For example:
12/2/2005 16:24:13 project2.qxp Type: image/jpeg Size: 11380 Client: 127.0.0.1
If an error occurs, the error message is written to the QuarkXPress Server Error Log. The transaction entry in the error log contains the date and time of the request, the error code, and the error message. The following is a sample of an error transaction log entry:
12/2/2005 16:16:26 Error Error Code: –43 File not found.
To apply Comic Sans MS to text in the box named "HeadBox," use a URL like the following:
http://localhost:8080/png/sample.qxp?HeadBox=Headline&fontname=Comic Sans MS
Request object name: RequestParameters
com.quark.qxpsm.QRequestContext rc = new com.quark.qxpsm.QRequestContext(); if(!this.DocumentSettings1.documentName.Text.Equals(""))
The name of the font to be applied.String
88 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
rc.documentName = this.DocumentSettings1.documentName.Text;
// STEP 2(SPECIFIC TO REQUESTS):Create the fontname // renderer request and embed it in RequestParameters request = new RequestParameters(); NameValueParam nameValue1 = new NameValueParam(); nameValue1.paramName = this.boxname.Text; if(!this.boxvalue1.Text.Equals("")) nameValue1.textValue = this.fontname.Text; request.params = new NameValueParam[]{nameValue1}; rc.request = request;
// Create the service and // call it with QRequestContext object RequestService svc = new RequestService(); com.quark.qxpsm.QContentData qc = svc.processRequest(rc);
Inserting a picture
This topic explains how to import a picture into an empty box or replace an existing
picture with a new one.
Parameters
Logs
[box name[
A preview of the project with the imported picture.Response
HTTP Error #404File not found.Alerts
QuarkXPress Server Error #–43
This alert displays if the imported file is not available to QuarkXPress Server.
HTTP Error #500The specified file failed to load in the picture box.
If the request succeeds, a transaction success message is written to the QuarkXPress Server transaction log file. For example:
8/3/2005 11:27:42 jpeg/sample.qxp Type: image/jpeg Size: 31715 Client: 127.0.0.1
If an alert is displayed, an error message is written to the QuarkXPress Server error log. The following is a sample of the error log entry:
8/10/2005 10:39:07 Error Error Code: 10339 The specified file failed to load in the picture box.
This alert displays if you attempt to import an invalid picture file.
The name of the target box.String Specify the name and location of the imported file with the file:
prefix. The imported file must be available to QuarkXPress Server.
To import a file that is in a subfolder of the document pool on Mac OS, use a path like the following:
file:subfolder:MyFile.ext
To import a file that is in a subfolder of the document pool on Windows, use a path like the following:
file:subfolder\MyFile.ext
Example, GET URL
Example, object model
http://localhost:8080/sample.qxp? PictureBox=file:FrenchOpen.pdf
Request object name: RequestParameters
com.quark.qxpsm.QRequestContext rc = new com.quark.qxpsm.QRequestContext();
A GUIDE TO QUARKXPRESS SERVER 9.5 | 89
USING QUARKXPRESS SERVER
if(!this.DocumentSettings1.documentName.Text.Equals("")) rc.documentName = this.DocumentSettings1.documentName.Text; //STEP 2(SPECIFIC TO REQUESTS):Create the Box Param //renderer request and embed it in RequestParameters request = new RequestParameters(); NameValueParam nameValue1 = new NameValueParam(); nameValue1.paramName = this.boxname1.Text; if(!this.boxvalue1.Text.Equals("")) nameValue1.textValue = this.boxvalue1.Text;
request.params = new NameValueParam[]{nameValue1}; rc.request = request; //Create the service and call it with QRequestContext object RequestService svc = new RequestService(); com.quark.qxpsm.QContentData qc = svc.processRequest(rc);
Box names are case-sensitive.Notes
You can use "&" to change the contents of multiple boxes in one request. For example:
http://localhost:8080/sample.qxp? Logo=file:logo.jpeg&TopPicture=file:TopPicture.eps
Saving a projects with a new name
The saveas content modifier lets you save modified QuarkXPress projects in any supported
format to the document pool or to any network location accessible to QuarkXPress Server.
Parameters
If you send a saveas request to QuarkXPress Server Manager using HTTP or the Web
services interface while the common doc pool switch is set to off in the QuarkXPress Server
Manager client, the file is saved to all registered QuarkXPress Server instances. If the
common doc pool is enabled, the file can be saved to any one registered QuarkXPress
server instance.
newname
path
savetopool
replace
The message "Document successfully saved."Response
String
true | false
true | false
HTTP Error #404File not found.Alerts
QuarkXPress Server Error #–43
This alert displays if you supply an incorrect file name or the file is not available to QuarkXPress Server.
Lets you specify a name for the saved-as project.String
Lets you specify a location for the saved-as project (other than the document pool).
Lets you specify whether the project should be saved to the document pool.
The default value for this paramter is true. However, if you specify a path value, the default value changes to false, which means if you want the project saved to the document pool, you must explicitly set savetopool to true.
Lets you specify whether the saved project should replace a project with the same name. The default value is true.
HTTP Error #404Bad filename/
pathname.
QuarkXPress Server Error #–43
90 | A GUIDE TO QUARKXPRESS SERVER 9.5
invalid.
folder is Read-Only.
USING QUARKXPRESS SERVER
This alert displays if you supply an incorrect file name or the file is not available to QuarkXPress Server.
HTTP Error #500The file path is This alert displays if you supply an invalid path parameter.
What to do: Specify the correct file path with the path parameter.
HTTP Error #500The specified
This alert displays if you try to save a project to a folder with read-only access.
Logs
Example, GET URL
Example, object model
If the request succeeds, a transaction success message is written to the QuarkXPress Server transaction log file. For example:
11/16/2005 15:41:42 saveas/5mb.qxp Type: Size: 28 Client: 127.0.0.1
If an alert displays, an error message is written to the QuarkXPress Server error log file. For example:
11/16/2005 15:42:12 Error Error Code: 10371 The file path is invalid.
To save a PDF file named "Customer1.pdf" in the folder HDD:temp and also in the document pool, use a URL like the following. Note that this URL will cause the saved-as file to replace any existing file with the same name.
http://localhost:8080/saveas/pdf/sample.qxp? newname=Customer1&path=HDD:temp&savetopool=true
Request object name: SaveAsRequest
com.quark.qxpsm.QRequestContext rc = new com.quark.qxpsm.QRequestContext();
if(!this.DocumentSettings1.documentName.Text.Equals("")) rc.documentName = this.DocumentSettings1.documentName.Text;
// STEP 2 (SPECIFIC TO REQUESTS): // Create the Save as request and chain it to the document context SaveAsRequest saveasreq = new SaveAsRequest(); saveasreq.newName = this.newname.Text; if((this.path.Text != null) && (!this.path.Text.Equals(""))) saveasreq.newFilePath = this.path.Text; saveasreq.replaceFile = this.replace.Checked.ToString(); saveasreq.saveToPool = this.savetopool.Checked.ToString(); rc.request = saveasreq;
Parameters
// Create the service and call it with QRequestContext object RequestService svc = new RequestService(); com.quark.qxpsm.QContentData qc = svc.processRequest(rc);
Importing XML with placeholders
This topic explains how to import XML data into boxes using QuarkXPress placeholders.
To use this feature, you must have a QuarkXPress project that has been set up with
placeholders that correspond to the element types in a source XML file. For more
information, see A Guide to XML Import.
thexmldoc
XML
Lets you specify the XML file containing the data to import. The path can be absolute or relative to the location of the XML file. You can also supply XML as a string.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 91
USING QUARKXPRESS SERVER
Alerts
Logs
layout
paginate
The layout with the imported XML.Response
String
If the project is successfully rendered, a transaction success message is written to the QuarkXPress Server transaction log file. The transaction entry consists of the date and time of the request, the render type, the project name, the type of response produced by the server, the size of the response returned in bytes, and the client IP address. The following is a sample of a transaction entry:
8/5/2005 18:11:54 sample.qxp Type: image/jpeg Size: 65982 Client: 127.0.0.1
If an alert displays, an error message is written to the QuarkXPress Server error log file. For example:
8/9/2005 12:38:42 Error Error Code: 10396 Invalid XML String.
String
XML
HTTP Error #500Invalid XML This alert displays if you supply an invalid XML string in the thexmldoc parameter.
Lets you specify which layout to render. The first layout is layout 1. You can also specify a layout by name.
Lets you specify the XML file containing the data to import. The
paginate parameter reates enough pages in the target layout to
accommodate the records in the XML. This parameter works only with the pdf, postscript, and qxp render
types. If you use it with any other render type, the server returns only the first page of the paginated layout.
If you do not supply an XML string or file (for example:
http://localhost:8080/pdf/Sample.qxp?paginate),
QuarkXPress Server attempts to use the XML file that was associated with the layout in QuarkXPress.
Example, GET URL
Example, object model
When QuarkXPress Server is running on Windows, use a URL like the following:
http://localhost:8080/Sample.qxp?thexmldoc=<?xml version="1.0"?> <BookReview><Book><Title>C:\Autumn.jpg</Title> <Author> Brian Kernighan and Dennis Ritchie</Author> </Book></BookReview>
When QuarkXPress Server is running on Mac OS, use a URL like the following:
http://localhost:8080/Sample.qxp?thexmldoc=<?xml version= "1.0"?> <BookReview><Book><Title>/Volumes/MacHD/Pictures/abc.tiff</ Title> <Author> Brian Kernighan and Dennis Ritchie</Author> </Book></BookReview>
Alternatively, you can specify a path to a file containing the XML:
http://localhost:8080/Sample.qxp?paginate= file:MacHD:Sample.xml
Request object names: XMLImportRequest
com.quark.qxpsm.QRequestContext rc = new com.quark.qxpsm.QRequestContext();
if(!this.DocumentSettings1. documentName.Text.Equals("")) rc.documentName = this.DocumentSettings1.documentName.Text; // STEP 2 (SPECIFIC TO REQUESTS): Create the XML Import request XMLImportRequest xmlimportreq = new XMLImportRequest(); xmlimportreq.XMLDocument = this.thexmldoc.Text; rc.request = xmlimportreq;
// STEP 3(SPECIFIC TO REQUESTS): Create the JPEG renderer request
92 | A GUIDE TO QUARKXPRESS SERVER 9.5
USING QUARKXPRESS SERVER
JPEGRenderRequest jpreq = new JPEGRenderRequest(); xmlimportreq.request = jpreq;
// Create the service and call it with QRequestContext object RequestService svc = new RequestService(); com.quark.qxpsm.QContentData qc = svc.processRequest(rc);
Updating article geometry and content
This topic explains how to update the geometry and contents of a QuarkCopyDesk article
using another article file or an article in a QuarkXPress project.
Parameter
Alerts
Logs
Example, GET URL
updategeometry
updatecontent
WHAT DOES THIS RETURN?Response
WHAT ERRORS APPLY?
If the project is successfully rendered, a transaction success message is written to the QuarkXPress Server transaction log file. The transaction entry consists of the date and time of the request, the render type, the project name, the type of response produced by the server, the size of the response returned in bytes, and the client IP address. The following is a sample of a transaction entry:
8/5/2005 18:11:54 sample.qxp Type: image/jpeg Size: 65982 Client: 127.0.0.1
If an alert displays, an error message is written to the QuarkXPress Server error log file. For example:
8/9/2005 12:38:42 Error Error Code: 10396 Invalid XML String.
To update the geometry of an article using the geometry of another article, use a URL like the following:
http://localhost:8080/updategeometry/destination.qcd?updatefromfile=source.qcd
To update the geometry of an article in a QuarkXPress file using the geometry of a QuarkCopyDesk article file, use a URL like the following:
http://localhost:8080/updatecontent/destination.qxp?updatefromfile=source.qcd&articleid=1
To update the geometry of a QuarkCopyDesk article file using the geometry of an article in a QuarkXPress project, use a URL like the following:
http://localhost:8080/updategeometry/source.qxp?updatetofile=destination.qcd&articleid=1
String
String
If you use this parameter with updatefromfile, this lets you specify the file in which you want to update the geometry. If you use this parameter with updatetofile, this lets you specify the QuarkXPress project with which you want to update the geometry of an article.
Lets you specify the file in which you want to update the content. Can be used only with updatefromfile.
model
CAN YOU DO THIS WITH QXPSM? IF SO, HOW?Example, object Request object names: XMLImportRequest
com.quark.qxpsm.QRequestContext rc = new com.quark.qxpsm.QRequestContext();
if(!this.DocumentSettings1. documentName.Text.Equals("")) rc.documentName = this.DocumentSettings1.documentName.Text; // STEP 2 (SPECIFIC TO REQUESTS): Create the XML Import request XMLImportRequest xmlimportreq = new XMLImportRequest(); xmlimportreq.XMLDocument = this.thexmldoc.Text;
A GUIDE TO QUARKXPRESS SERVER 9.5 | 93
USING QUARKXPRESS SERVER
rc.request = xmlimportreq;
// STEP 3(SPECIFIC TO REQUESTS): Create the JPEG renderer request JPEGRenderRequest jpreq = new JPEGRenderRequest(); xmlimportreq.request = jpreq;
// Create the service and call it with QRequestContext object RequestService svc = new RequestService(); com.quark.qxpsm.QContentData qc = svc.processRequest(rc);
Highlighting text in rendered output
To apply highlighting to text in rendered output, use XML like the following.
<RICHTEXT BACKGROUNDCOLOR="Yellow">This text is highlighted.</RICHTEXT>
Highlighting is applied only to rendered output. It is not retained in the QuarkXPress
project.

Using XML modify

The modify parameter lets you modify a QuarkXPress project using XML.
Parameters
Example GET URL
This topic covers the modify parameter when it is used without the construct namespace. You can also use the modify parameter to specify an XML file to use when constructing
a project; for more information, see "Constructing a project".
The xml namespace takes two arguments: the name of the project to be modified, and a
modify parameter with the string or the path of the XML file that describes how to create
the project:
http://QXPServer8:8080/project1.qxp?modify= file:path to XML file on server http://QXPServer8:8080/ project1.qxp?modify=XML string
You can also modify QuarkCopyDesk articles. To modify a QuarkCopyDesk article:
http://localhost:8080/copydesk/abc.qcd?modify= file:XMLfile.xml
Modifier DTDDTD
modify
http://QXPServer8:8080/project1.qxp?modify=file:sample.xml
String
Lets you specify an XML file or string that describes how to create a project. The path can be absolute or a relative path in the document pool. Use the file: indicator to specify the path.
Note that you can also include an XML file as part of a multipart HTTP request.
Example XML
This XML deletes page 2 of a QuarkXPress layout:
<PROJECT> <LAYOUT> <ID NAME="Layout 1" /> <SPREAD> <ID UID="1" /> <PAGE OPERATION="DELETE"> <ID UID="2" />
94 | A GUIDE TO QUARKXPRESS SERVER 9.5
</PAGE> </SPREAD> </LAYOUT> </PROJECT>
The updated QuarkXPress project.Response
USING QUARKXPRESS SERVER
Logs
If the request succeeds, a transaction success message is written to the QuarkXPress Server transaction log file. For example:
8/3/2005 11:27:42 jpeg/sample.qxp Type: image/jpeg Size: 31715 Client: 127.0.0.1
If an alert is displayed, an error message is written to the QuarkXPress Server error log. The following is a sample of the error log entry:
8/10/2005 10:39:07 Error Error Code: 10339 The specified file failed to load in the picture box.
Modifying box properties and content
To modify box properties and content, use the following parameters in the Modifier DTD:
• "BOX (Modifier schema)"
• "ID (Modifier schema)"
• "TEXT (Modifier schema)"
• "PICTURE (Modifier schema)"
• "GEOMETRY (Modifier schema)"
• "CONTENT (Modifier schema)"
• "SHADOW (Modifier schema)"
• "FRAME (Modifier schema)"
• "PLACEHOLDER (Modifier schema)"
• "METADATA (Modifier schema)"
The following XML shows how some of these parameters work.
<?xml version="1.0" encoding="UTF-8"?> <PROJECT> <LAYOUT> <ID NAME="Layout 1"/> <SPREAD> <ID UID="1"/> <BOX BOXTYPE="CT_TEXT"> <ID NAME="SERVICES"/> <GEOMETRY> <MOVEUP>50</MOVEUP> <MOVELEFT>30</MOVELEFT> <ALLOWBOXONTOPASTEBOARD>true</ALLOWBOXONTOPASTEBOARD> </GEOMETRY> <CONTENT CONVERTQUOTES="true"> HD:QuarkXPress:DocPool:Services.txt</CONTENT> </BOX> <BOX BOXTYPE="CT_TEXT"> <ID NAME="FAMILY"/> <GEOMETRY> <MOVERIGHT>20</MOVERIGHT> <MOVEDOWN>30</MOVEDOWN> <ALLOWBOXONTOPASTEBOARD>true</ALLOWBOXONTOPASTEBOARD> <ALLOWBOXOFFPAGE>true</ALLOWBOXOFFPAGE> </GEOMETRY> </BOX>
A GUIDE TO QUARKXPRESS SERVER 9.5 | 95
USING QUARKXPRESS SERVER
<BOX BOXTYPE="CT_TEXT"> <ID NAME="PRODUCTS"/> <GEOMETRY> <GROWACROSS>44</GROWACROSS> <GROWDOWN>30</GROWDOWN> <ALLOWBOXONTOPASTEBOARD>false</ALLOWBOXONTOPASTEBOARD> </GEOMETRY> </BOX> <BOX BOXTYPE="CT_PICT"> <ID NAME="MAP"/> <GEOMETRY> <SHRINKACROSS>30</SHRINKACROSS> <SHRINKDOWN>30</SHRINKDOWN> </GEOMETRY> </BOX> <BOX COLOR="Blue" BOXTYPE="CT_PICT"> <ID NAME="CONTACT"/> <GEOMETRY> <STACKINGORDER>BRINGTOFRONT</STACKINGORDER> <RUNAROUND TYPE="ITEM" TOP="4" RIGHT="4" LEFT="4" BOTTOM="4"/> <ALLOWBOXOFFPAGE>false</ALLOWBOXOFFPAGE> </GEOMETRY> </BOX> </SPREAD> </LAYOUT> </PROJECT>
If you know the UID attribute of a <CONTENT> element, you can insert content into that
<CONTENT> element without having to specify where it is. For example:
<PROJECT> <CONTENT UID="0">NewPicture.jpg</CONTENT> </PROJECT>
You an also use a <CONTENT> element to insert additional text between two <RICHTEXT>
elements, like so:
<PROJECT> <STORY> <ID UID="0"/> <PARAGRAPH PARASTYLE="Normal"> <RICHTEXT>Text before external file</RICHTEXT> <CONTENT>file:NewText.doc<CONTENT> <RICHTEXT>Text after external file</RICHTEXT> </PARAGRAPH> </STORY> </PROJECT>
A preview of the QuarkXPress project with a new box created in the specified position.Response
File not found.Alerts
filename/pathname.
HTTP Error #404
QuarkXPress Server Error #–43
This alert displays if you specify an invalid XML file or request a document that is not available to QuarkXPress Server.
HTTP Error #404Bad
QuarkXPress Server Error #–37
This alert displays if you specify an invalid file name or path.
HTTP Error #500The XML document is not valid or well formed.
document
This alert displays if the XML you supply is not well-formed or does not adhere
to the Modifier DTD.
HTTP Error #500The XML
This alert displays if you supply an invalid value in the XML.
96 | A GUIDE TO QUARKXPRESS SERVER 9.5
contains an invalid tag value.
USING QUARKXPRESS SERVER
Logs
Example GET URL
Example 1, object model
If the request succeeds, a transaction success message is written to the QuarkXPress Server transaction log file. For example:
8/3/2005 11:27:42 jpeg/sample.qxp Type: image/jpeg Size: 31715 Client: 127.0.0.1
If an alert displays, an error message is written to the QuarkXPress Server error log file. For example:
When QuarkXPress Server is running on Windows, use a URL like the following:
http://localhost:8080/sample.qxp?modify= file:C:\updateBox.xml
When QuarkXPress Server is running on Mac OS, use a URL like the following:
http://localhost:8080/sample.qxp?modify= file:MacHD:xml:updateBox.xml
You can also supply a string that consists of valid XML commands. For example:
http://localhost:8080/sample.qxp?modify= <PROJECT><LAYOUT><ID UID="Layout1"/><SPREAD><ID UID="1"/> <BOX BOXTYPE="CT_PICT" COLOR="Blue" SHADE="50" OPACITY="50"> <ID NAME="MOUNTAINS"/><CONTENT> file:Services.eps</CONTENT> </BOX></SPREAD></LAYOUT></PROJECT>
Request object names:
ModifierRequest ModifierRequestContents Layout ID Box Geometry Runaround ModifierFileRequest
For ModifierFileRequest, the member contents are used to set the file path or send
the XML itself.
com.quark.qxpsm.QRequestContext rc = new com.quark.qxpsm.QRequestContext();
if(!this.DocumentSettings1.documentName.Text.Equals("")) rc.documentName = this.DocumentSettings1.documentName.Text;
//STEP 2(SPECIFIC TO REQUESTS): //Create the BOX modifier renderer request and //embed it in request context ModifierRequest request = new ModifierRequest(); Project contents = new Project(); Geometry geo = new Geometry(); geo.moveUp = this.moveup.Text; geo.color = this.color.Text; geo.growDown = this.growdown.Text; geo.shrinkAcross = this.shrinkacross.Text; Box box = new Box(); box.UID = this.Boxid.Text; box.geometry = geo; Layout layout1 = new Layout(); layout1.name = this.layout.Text; layout1.boxes = new Box[]{box}; if(this.runaround.Checked == true) { Runaround runaround = new Runaround(); runaround.type = this.runaroundtype.Text;
A GUIDE TO QUARKXPRESS SERVER 9.5 | 97
USING QUARKXPRESS SERVER
runaround.top = this.top.Text; runaround.left = this.left.Text; runaround.right = this.right.Text; geo.runaround = runaround; } contents.layouts = new Layout[]{layout1}; request.project = contents; rc.request = request;
//Create the service and call it with QRequestContext object RequestService svc = new RequestService(); com.quark.qxpsm.QContentData qc = svc.processRequest(rc);
Example 2, object model
To edit the geometrical properties of an existing box in a QuarkXPress project, use the following object hierarchy:
ModifierRequest < Project < Layout < Spread < Box < Geometry
The Geometry object has the following properties:
allowBoxOffPage allowBoxOnToPasteBoard angle growAcross growDown layer linestyle (of type 'Linestyle') moveDown moveLeft moveRight moveUp page position (of type 'Position') runaround (of type 'Runaround') shape shrinkAcross shrinkDown stackingOrder suppressOutput
The Runaround object has the following properties:
bottom edited invert left noise outset outsideOnly pathName restrictToBox right smoothness threshold top type
Creating boxes
To create a new box, use the following parameters in the Modifier DTD:
• "BOX (Modifier schema)"
• "ID (Modifier schema)"
98 | A GUIDE TO QUARKXPRESS SERVER 9.5
• "TEXT (Modifier schema)"
• "PICTURE (Modifier schema)"
• "GEOMETRY (Modifier schema)"
• "CONTENT (Modifier schema)"
• "SHADOW (Modifier schema)"
• "FRAME (Modifier schema)"
The following XML shows how some of these parameters work.
<PROJECT> <LAYOUT> <ID UID="layout 1"/> <SPREAD> <ID UID="1"/> <ID/> <BOX OPERATION="CREATE" BOXTYPE="CT_PICT"> <ID NAME="PRODUCTS"/> <GEOMETRY PAGE="2" SHAPE="SH_RECT"> <POSITION> <TOP>5</TOP> <LEFT>5</LEFT> <BOTTOM>10</BOTTOM> <RIGHT>10</RIGHT> </POSITION> </GEOMETRY> </BOX> </SPREAD> </LAYOUT> </PROJECT>
USING QUARKXPRESS SERVER
Logs
A preview of the QuarkXPress project with new box created in specified position.Response
File not found.Alerts
pathname.
is not valid or well formed.
contains an invalid tag value.
If the request succeeds, a transaction success message is written to the QuarkXPress Server transaction log file. For example:
The following is a sample of a transaction entry: 8/3/2005 11:27:42 jpeg/sample.qxp Type: image/jpeg Size: 31715 Client: 127.0.0.1
If an alert displays, an error message is written to the QuarkXPress Server error log file. For example:
4/12/2007 14:51:50 Error Error Code: 10207 The XML document is not valid or well formed. Project: /table.qxp
HTTP Error #404
QuarkXPress Server Error #–43
This alert displays if you specify an invalid XML file or request a document that is not available to QuarkXPress Server.
HTTP Error #404Bad filename/
QuarkXPress Server Error #–37
This alert displays if you specify an invalid file name or path.
HTTP Error #500The XML document
This alert displays if the XML you supply is not well-formed or does not adhere to the Modifier DTD.
HTTP Error #500The XML document
This alert displays if you supply an invalid value in the XML.
A GUIDE TO QUARKXPRESS SERVER 9.5 | 99
USING QUARKXPRESS SERVER
Example, GET URL
Example, object model
When QuarkXPress Server is running on Windows, use a URL like the following:
http://localhost:8080/sample.qxp?modify= file:C:\createBox.xml
When QuarkXPress Server is running on Mac OS, use a URL like the following:
http://localhost:8080/sample.qxp?modify= file:MacHD:xml:createBox.xml
You can also supply a string that consists of valid XML commands. For example:
http://localhost:8080/sample.qxp?modify=<PROJECT><LAYOUT> <ID UID="layout 1"/><SPREAD><ID UID="1"/><ID/> <BOX OPERATION="CREATE" BOXTYPE="CT_PICT"><ID NAME="PRODUCTS"/> <GEOMETRY PAGE="2" SHAPE="SH_RECT"><POSITION><TOP>5</TOP> <LEFT>5</LEFT><BOTTOM>10</BOTTOM><RIGHT>10</RIGHT></POSITION> </GEOMETRY></BOX></SPREAD></LAYOUT></PROJECT>
To create a new box, use code like the following:
Spread spread = new Spread(); Box box = new Box(); box.name = "textbox1"; Geometry geometry = new Geometry(); Position position = new Position();
position.top = "110"; position.left = "89"; position.bottom = "220"; position.right = "300";
geometry.position = position; geometry.shape = "SH_RECT"; geometry.page = "1"; geometry.layer = "Default";
box.geometry = geometry; box.boxType = "CT_TEXT";
box.operation = "CREATE"; spread.box = new Box[]{box};
Use the following object hierarchy:
ModifierRequest < Project < Layout < Spread < Box < Geometry
Deleting boxes
To delete a box, use the following parameters in the Modifier DTD:
• "BOX (Modifier schema)"
• "ID (Modifier schema)"
The following XML shows how these parameters work.
<PROJECT> <LAYOUT> <ID UID="Layout 1"/> <SPREAD> <ID UID="1"/> <BOX OPERATION="DELETE"> <ID NAME="SERVICES"/> </BOX> </SPREAD> </LAYOUT> </PROJECT>
100 | A GUIDE TO QUARKXPRESS SERVER 9.5
Loading...