A Guide to QuarkXPress Server 2015
CONTENTS Contents Conventions..................................................................................9 Getting started with QuarkXPress Server.................................10 QuarkXPress Server architecture....................................................................10 Understanding QuarkXPress Server...............................................................10 Server templates and static projects.......................................................................
CONTENTS Getting started: Web services.................................................................................41 QXP Server Manager...............................................................................................49 Using the Web interface..................................................................................49 Understanding rendering........................................................................................50 Understanding logging..............................
CONTENTS BOX (Modifier schema).................................................................................208 BOXATTRIBUTE (Modifier schema)...............................................................210 BOXREF (Modifier schema)...........................................................................211 CALLOUTANCHOR (Modifier schema)..........................................................212 CALLOUTBOXREF (Modifier schema)...........................................................
CONTENTS HEADTROWSTYLE (Modifier schema)...........................................................241 HEIGHT(Modifier schema).............................................................................241 HIDDEN (Modifier schema)...........................................................................241 HYPERLINK (Modifier schema)......................................................................243 ID (Modifier schema)................................................................................
CONTENTS POSITION (Modifier schema)........................................................................266 PROJECT (Modifier schema)..........................................................................267 PUBLICATION (Modifier schema)..................................................................267 PUBLICATIONCHANNEL (Modifier schema).................................................268 PUBLISHER (Modifier schema)......................................................................
CONTENTS TEXTNODEPH (Modifier schema).................................................................302 TEXTPH (Modifier schema)............................................................................303 TFOOT (Modifier schema).............................................................................303 THEAD (Modifier schema).............................................................................304 TITLE (Modifier schema)......................................................................
CONTENTS QuarkXPress Server Manager..................................................323 Understanding QuarkXPress Server Manager..............................................323 Load balancing......................................................................................................323 Request timeout interval.......................................................................................324 Determining QuarkXPress Server instance availability..........................................
CONVENTIONS 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." • Arrows: You will often see arrows (>), which map out the menu path to a feature.
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.
GETTING STARTED WITH 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.
GETTING STARTED WITH QUARKXPRESS SERVER 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.
GETTING STARTED WITH QUARKXPRESS SERVER 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.
GETTING STARTED WITH QUARKXPRESS SERVER renderers as they become available. The number of renderers available for launch is determined by the number of licenses available from the QLA server.
GETTING STARTED WITH QUARKXPRESS SERVER 5 To define the logging level for other activity, scroll to the . The structure is as follows: 6 Save and close "log4j.xml." Understanding QuarkXPress Server XTensions software QuarkXPress Server ships with a collection of XTensions software that adds capabilities to QuarkXPress Server.
GETTING STARTED WITH QUARKXPRESS SERVER • 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.
GETTING STARTED WITH QUARKXPRESS SERVER 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.
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.
THE QUARKXPRESS SERVER USER INTERFACE 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. • 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.
THE QUARKXPRESS SERVER USER INTERFACE Fonts screen To search fonts, use the list search box in the top right corner. To add fonts to the Server machine, click the Add Fonts button. This will copy the fonts to the "privatefonts" folder in the QuarkXPress Renderer folder. Administration menu The administration menu lets you manage QuarkXPress Server. You do not have to restart the server in GUI mode to set preferences.
THE QUARKXPRESS SERVER USER INTERFACE 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.
THE QUARKXPRESS SERVER USER INTERFACE • 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.
THE QUARKXPRESS SERVER USER INTERFACE 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).
THE QUARKXPRESS SERVER USER INTERFACE 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). To change the separators used for indicating sequential ranges for output, enter a value in the Sequential Page Range Separator.
THE QUARKXPRESS SERVER USER INTERFACE To specify default replacement fonts, check Specify Default Replacement Font and choose options from the Roman and East Asian drop-down menu. 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.
THE QUARKXPRESS SERVER USER INTERFACE The default path to the log file is /Documents. If you choose to change the default, the log folder specified must be a pre-existing folder on the system. 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.
THE QUARKXPRESS SERVER USER INTERFACE 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.
THE QUARKXPRESS SERVER USER INTERFACE 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 QUARKXPRESS SERVER USER INTERFACE 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.
THE QUARKXPRESS SERVER USER INTERFACE • 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).
THE QUARKXPRESS SERVER USER INTERFACE 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.
THE QUARKXPRESS SERVER USER INTERFACE 5 Click Submit. The QuarkXPress Server Job Jackets file is replaced with the modified version. 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).
USING QUARKXPRESS SERVER 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.
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).
USING QUARKXPRESS SERVER 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: 1 In this Guide, go to the page that documents the render type you want to use.
USING QUARKXPRESS SERVER • 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.
USING QUARKXPRESS SERVER 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.
USING 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: 500 -43 File not found.
USING QUARKXPRESS SERVER
USING QUARKXPRESS SERVER 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 QUARKXPRESS SERVER 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.
USING QUARKXPRESS SERVER serverName String Server name. Default is NULL. Load balancer searches for the host itself in this case. serverPort Integer Port at which the desired server is listening. userName String Server admin username. userPassword String Server admin password. maxRetries Integer Max number of times to try executing the command before returning failure. requestTimeout Integer Max time out in milliseconds.
USING QUARKXPRESS SERVER timeout closeAlldocs closeDoc closeSession getOpenDocs Long 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. Closes all open documents in the session without saving them. If the session does not exist, an error is returned.
USING QUARKXPRESS SERVER openDoc docName String Document to be opened for modification. Provide the name only. You can proivde a relative path when you save the document. jobJacketName String Name of the Job Jackets file to be used. The Job Jackets file is assumed to be already available on the QuarkXPress server computer. jobTicketName String Name of the Job Ticket to be used. host String The QuarkXPress Server instance that should be used for this document modification.
USING QUARKXPRESS SERVER sessionId saveAllDocs saveDoc getXPressDOMEx String 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. 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.
USING QUARKXPRESS SERVER getXPressDOMFromXML 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. Example, object model 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.
USING QUARKXPRESS SERVER paramName String Name of the parameter. In most cases this will be the name/ID of the box. textValue String Text value of the box. (You can set either textValue or streamValue.) streamValue byte[] Stream value of the box. (You can set either textValue or streamValue.) contentType String The MIME content type of the parameter. QContentData Description A response to a Web Services call to QuarkXPress Server.
USING QUARKXPRESS SERVER Example, object model httpResponseCode String HTTP response code. managerErrorCode String QuarkXPress Server Manager error code. managerErrorMessage String QuarkXPress Server Manager localized error message. serverErrorCode String QuarkXPress Server error code. serverErrorMessage String QuarkXPress Server response message. serverExtendedMessage String QuarkXPress Server extended error message. String docName = "notexisting.
USING QUARKXPRESS SERVER • 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. • 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.
USING QUARKXPRESS SERVER Example, GET URL http://localhost:8080/sample.qxp Notes There are two ways to specify a render format: 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.
USING QUARKXPRESS SERVER Function Description QuarkXPress Server Manager object model classes png Returns a PNG image. PNGRenderRequest postscript Returns a PostScript file. PostScriptRenderRequest qcddoc Returns a QuarkCopyDesk article. CopyDeskDocRequest qxpdoc Returns a QuarkXPress project file. QuarkXPressRenderRequest qxpr Returns an RLE Raw Custom format image. RLERawCustomRenderRequest raw Returns a project in a QuarkXPress internal RawCustomRenderRequest format.
USING QUARKXPRESS SERVER config String Lets you retrieve the current publication hierarchy from the App Studio Publishing Portal. For example: http://qxpserver:port/ appstudio/config Render modifier parameters layout String Lets you specify a layout by name or ID. The first layout is Layout 1. page Integer Lets you specify a page. pages String (page range) Lets you specify a range of pages. Response A .zip file containing an HTML5 article.
USING QUARKXPRESS SERVER 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 format String Lets you specify an output format. Use avemag for AVE-Mag or avedoc for AVE-Doc. The default is avemag. layout String Lets you specify a layout by name or ID. The first layout is Layout 1. page Integer Lets you specify a page.
USING QUARKXPRESS SERVER //STEP3: Create the service and call the //processRequest() API RequestService service = new RequestServiceStub(); com.quark.qxpsm.QContentData data = service.processRequest(requestCtx); Notes The default AVE output style is used. eps The eps render type returns an EPS rendering of a page or spread. Namespace EPS Parameters outputstyle stylename Lets you specify an output style. To use a named output style, use the name of that output style.
USING QUARKXPRESS SERVER document, spread 1 consists of the first page. layout String Lets you specify a layout by name or ID. The first layout is Layout 1. downloadlayoutFonts 1 | 0 | true | false | yes | no Lets you specify whether to download all fonts used in the layout and all system fonts. downloadImportedPdfEpsFonts 1 | 0 | true | false | yes | no Lets you specify whether to download all fonts required by imported PDF and EPS files. Response An EPS file.
USING QUARKXPRESS SERVER If you do not specify an EPS output style, the default EPS output style is used. epub The epub render type returns an ePUB rendering of a layout. Namespace ePUB Render modifier parameters layout String Lets you specify a layout by name or ID. The first layout is Layout 1. outputstyle String Lets you specify an ePUB output style by name or ID. Response An ePUB (.epub) file. Alerts The renderer for this image type has no way of rendering the desired objects.
USING QUARKXPRESS SERVER quality), 3 (medium quality), and 4 (lowest quality). The default value is 1. upadateimage true | false Lets you specify whether to update imported pictures. updateflow true | false Lets you specify whether to update the text flow version of a project to the current version. pasteboard true | false 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.
USING QUARKXPRESS SERVER kindle The kindle render type returns a rendering of a layout that can be viewed on Amazon Kindle readers. Namespace kindle Render modifier parameters layout String Lets you specify a layout by name or ID. The first layout is Layout 1. outputstyle String Lets you specify a Kindle output style by name or ID. Response A Kindle (.mobi) file. Alerts The renderer for this image type has no way of rendering the desired objects.
USING QUARKXPRESS SERVER Response The requested file returned in the HTTP response. Alerts HTTP Error #401 Incorrect administration This alert displays if you specify an invalid administrator user name and realm username password. 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.
USING QUARKXPRESS SERVER exportlistsasbookmarks 1 | 0 | true | Lets you specify whether to export lists as false | yes | no bookmarks. To use this parameter, you must set includehyperlinks to true. mode composite or separations printcolors cmyk, rgb, Lets you specify the color space of the PDF file. grayscale, This option is available only when mode is set cmykandspot, to composite.
USING QUARKXPRESS SERVER pdffile String Lets you specify the PDF name. This option is available only when PDF to Folder is selected in QuarkXPress Server PDF preferences. psfile String Lets you specify the PostScript file name. This option is available only when PostScript for later Distilling is selected in QuarkXPress Server PDF preferences. thumbnail bw | color Lets you embed a thumbnail in the PDF file. mode composite | separations Lets you specify the PDF file's color mode.
USING QUARKXPRESS SERVER true | false Lets you specify whether to update the text flow version of a project to the current version. Integer Lets you specify a single page. String (page range) Lets you specify a range of pages. spread Integer Lets you specify a spread. The first spread is spread 1. In a facing-page document, spread 1 consists of the first page. layout String Lets you specify a layout by name or ID. The first layout is Layout 1.
USING QUARKXPRESS SERVER if( strLowResolution !=null && strLowResolution.equals("True")) pdfreq.setLowResolution("true"); requestCtx.setRequest(pdfreq); // 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. Notes There are three ways to generate PDF files with QuarkXPress Server.
USING QUARKXPRESS SERVER transparentpng true | false Lets you specify whether to generate a PNG file that uses transparency. upadateimage true | false Lets you specify whether to update imported pictures. updateflow true | false Lets you specify whether to update the text flow version of a project to the current version. String Lets you request multiple boxes. Integer Lets you specify a single page. scale Float .1 to 6.92 for Windows .1 to 8 on Mac OS Lets you specify a scaling percentage.
USING QUARKXPRESS SERVER top, bottom, left, right | sym, clip, amount 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.
USING QUARKXPRESS SERVER contains only blank pages. PostScript printer HTTP Error #500 mapped to file This alert displays if the PostScript printer or driver is not set to Print to not found File. This Output Style This alert displays if you specify a nonexistent output style. does not exist. This Output Style This alert displays if you specify an output style that is incompatible with cannot be used this render type. with this render type.
USING QUARKXPRESS SERVER Parameters article String Lets you specify which article in a project to render. For example: http://localhost:8080/qcddoc/ abc.qxp?article=article1 component String Lets you specify which component in an article to render. For example: http://localhost:8080/copydesk/ abc.qcd?component=comp1 format lightweight | fullfeatured Lets you render an article in lightweight or full-featured format. For example: http://localhost:8080/qcddoc/ abc.
USING QUARKXPRESS SERVER Example, GET URL http://localhost:8080/qcddoc/copydesk/sample.qcd Example, object model Request object name: CopyDeskDocRequest qxpdoc The qxpdoc render type returns a QuarkXPress project. Namespace qxpdoc Parameters qxpdocver 8|9 Indicates the QuarkXPress version format to use. For example: http://localhost:8080/qxpdoc/ construct/project1.
USING QUARKXPRESS SERVER requestCtx.setDocumentName(docName); // 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.
USING QUARKXPRESS SERVER printcolors cmyk, rgb, grayscale, cmykandspot, asis Lets you specify the color space of the PDF file. This option is available only when mode is set to composite. plates inripseps Lets you specify a separation method. This option is available only when mode is set to separations. produceblankpages 1 | 0 | true | false | yes | no Lets you specify whether to include blank pages. This option is available only when mode is set to composite.
USING QUARKXPRESS SERVER Render modifier parameters thumbnail bw | color Lets you embed a thumbnail in the PDF file. mode composite | separations Lets you specify the PDF file's color mode. fontdownload yes | no Lets you turn font download on or off. You cannot specify which fonts are downloaded. layers String Lets you specify which layers should be included, as a comma-separated list. transparencyres Integer value from Lets you specify the resolution for flattened 36 to 3600 content.
USING QUARKXPRESS SERVER // 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.
USING QUARKXPRESS SERVER Response spreads Boolean 1 | 0 | Lets you specify that the output use spreads. true | false | Applicable only to Print layouts. yes | no updateimage true | false Lets you specify whether to update imported pictures. updateflow true | false Lets you specify whether to update the text flow version of a project to the current version. A single SWF file or a multipart reply containing an SWF file and a set of support files.
USING QUARKXPRESS SERVER call the processRequest() API RequestService service = new RequestServiceStub(); com.quark.qxpsm.QContentData data = service.processRequest(requestCtx); 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: Property Description box The box render modifier lets you render a single box.
USING QUARKXPRESS SERVER appenderrors 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. Parameters appenderrors String Includes descriptions of rendering errors after the last page in the layout. Compatible with pdf, qxpdoc, xml, postscript Logs See Understanding logging Example GET URL http://localhost:8080/png/sample.
USING QUARKXPRESS SERVER overlap String Lets you specify whether to show the area overlapped by the specified boxes. Compatible with jpeg, png, raw Alerts There is no box with HTTP Error #500 the specified This alert displays if you request a box that does not exist. identifier. Cannot render box. The box must be within the page boundaries. HTTP Error #500 This alert displays if you request a box that is outside the page boundary. .
USING QUARKXPRESS SERVER Parameters layer String Lets you specify which layer to render. You can specify multiple layer names in one request. addlayer String Lets you add a new layer. You can add one layer per request. deletelayer String Lets you delete a layer and the items on that layer. You can delete one layer per request. alllayers Boolean (1 | 0 | true Lets you render every layer in the project, including | false | yes | no) hidden and suppressed layers.
USING QUARKXPRESS SERVER Invalid parameter value. HTTP Error #500 This layer has been locked and cannot be modified. HTTP Error #500 This alert displays if you do not specify additional attributes or specify attributes with invalid values in an addlayer or layerattribute request. This alert displays if you try to add or modify an item on a locked layer. Logs See Understanding logging Example GET URL To render a single layer, use a URL like the following: http://localhost:8080/doc.
USING QUARKXPRESS SERVER Alerts The requested layout does not exist. HTTP Error #500 This alert displays if you supply an invalid layout value. Logs See Understanding logging Example GET URL 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 movepages The movepages render modifier lets you move pages prior to rendering.
USING QUARKXPRESS SERVER 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 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.
USING QUARKXPRESS SERVER This alert displays if you try to render a page range that exceeds the number of pages in the project. The renderer for this image type has no way of rendering the desired objects. HTTP Error #406 This alert displays if you use the pages parameter with the jpeg, eps, png, or qxpdoc render type. Logs See Understanding logging Example, GET URL http://localhost:8080/pdf/sample.
USING QUARKXPRESS SERVER 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". spreads 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. Parameters spreads Boolean (1 | 0 | true | false | yes | no) Lets you specify whether to render spreads (true) or individual pages (false).
USING QUARKXPRESS SERVER QuarkXPress Server Error #–43 This alert displays if the imported file is not available to 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 displays, an error message is written to the QuarkXPress Server error log file.
USING QUARKXPRESS SERVER 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. Example, GET URL To apply Comic Sans MS to text in the box named "HeadBox," use a URL like the following: http://localhost:8080/png/sample.
USING QUARKXPRESS SERVER 8/10/2005 10:39:07 — Error — Error Code: 10339 — The specified file failed to load in the picture box. Example, GET URL http://localhost:8080/sample.qxp? PictureBox=file:FrenchOpen.pdf Example, object Request object name: RequestParameters model com.quark.qxpsm.QRequestContext rc = new com.quark.qxpsm.QRequestContext(); if(!this.DocumentSettings1.documentName.Text.Equals("")) rc.documentName = this.DocumentSettings1.documentName.
USING QUARKXPRESS SERVER This alert displays if you supply an incorrect file name or the file is not available to QuarkXPress Server. Bad filename/ pathname. HTTP Error #404 QuarkXPress Server Error #–43 This alert displays if you supply an incorrect file name or the file is not available to QuarkXPress Server. The file path is invalid. HTTP Error #500 This alert displays if you supply an invalid path parameter. What to do: Specify the correct file path with the path parameter.
USING QUARKXPRESS SERVER Parameters 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. layout String Lets you specify which layout to render. The first layout is layout 1. You can also specify a layout by name. paginate XML Lets you specify the XML file containing the data to import.
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.
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.
USING QUARKXPRESS SERVER Response The updated QuarkXPress project. 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.
USING QUARKXPRESS SERVER 30 30 BRINGTOFRONT false If you know the UID attribute of a element, you can insert content into that element without having to speci
USING QUARKXPRESS SERVER 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= file:Services.
USING QUARKXPRESS SERVER 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 b
USING QUARKXPRESS SERVER 5 10 10 Response A preview of the QuarkXPress project with new box created in specified position. Alerts File not found. 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. Bad filename/ pathname.
USING QUARKXPRESS SERVER geometry.position = position; geometry.shape = "SH_RECT"; geometry.page = "1"; geometry.layer = "Default"; box.geometry = geometry; box.boxType = "CT_TEXT"; box.operation = "CREATE"; spread.
USING QUARKXPRESS SERVER Example GET URL When QuarkXPress Server is running on Windows, use a URL like the following: http://localhost:8080/sample.qxp?modify= file:C:\deleteBox.xml When QuarkXPress Server is running on Mac OS, use a URL like the following: http://localhost:8080/sample.qxp?modify= file:MacHD:xml:deleteBox.xml You can also supply a string that consists of valid XML commands. For example: http://localhost:8080/sample.
USING QUARKXPRESS SERVER The order of the elements in a indicates the order in which the boxes were selected prior to grouping. The z-order of boxes in the layout is determined by the order of the elements in the XML, from rearmost to frontmost. XML representations of groups created by versions of QuarkXPress Server prior to 8.1 are ignored during construct and modify calls, as they were in earlier versions of QuarkXPress Server.
USING QUARKXPRESS SERVER SIZE="20">This text is bold, red, italic, and 20pt. Response A preview of a QuarkXPress project with the values in the ModifierXT tags applied on text boxes. Alerts File not found. 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. Bad filename/ pathname.
USING QUARKXPRESS SERVER Example GET URL When QuarkXPress Server is running on Windows, use a URL like the following: http://localhost:8080/sample.qxp?modify= file:C:\modifier.xml When QuarkXPress Server is running on Mac OS, use a URL like the following: http://localhost:8080/sample.qxp?modify= file:MacHD:xml:modifier.xml You can also supply a string that consists of valid XML commands. For example: http://localhost:8080/sample.
USING QUARKXPRESS SERVER Example 2, object model To edit the properties of an existing text box in a QuarkXPress project, use the following object hierarchy: ModifierRequest < Project < Layout < Spread < Box < Text < Story < Paragraph < RichText For a list of the RichText object's properties, see the JavaDoc installed with QuarkXPress Manager. The Story object also contains some text-related properties: fitTextToBox, includeStylesheets, convertQuotes, and clearOldText.
USING QUARKXPRESS SERVER Bad filename/ pathname. HTTP Error #404 QuarkXPress Server Error #–37 This alert displays if you specify an invalid file name or path. The XML HTTP Error #500 document is not This alert displays if the XML you supply is not well-formed or does not valid or well adhere to the Modifier DTD. formed. There is no box with the specified identifier. HTTP Error #500 The value of Scale Across should be between 10% and 1000%.
USING QUARKXPRESS SERVER 8/10/2005 10:39:07 — Error — Error Code: 10339 — The specified file failed to load in the picture box. Example GET URL When QuarkXPress Server is running on Windows, use a URL like the following: http://localhost:8080/sample.qxp?modify= file:C:\imageProperties.xml When QuarkXPress Server is running on Mac OS, use a URL like the following: http://localhost:8080/sample.qxp?modify= file:MacHD:xml:imageProperties.xml You can also supply a string that consists of valid XML commands.
USING QUARKXPRESS SERVER Example 2, object model To edit the properties of an existing text box in a QuarkXPress project, use the following object hierarchy: ModifierRequest < Project < Layout < Spread < Box < Picture For a list of the Picture object's properties, see the JavaDoc installed with QuarkXPress Manager. Notes You cannot replace an image with the Modifier XTensions software.
USING QUARKXPRESS SERVER The XML document is not valid or well formed. HTTP Error #500 This alert displays if the XML you supply is not well-formed or does not adhere to the Modifier DTD. There is no box HTTP Error #500 with the This alert displays if the box specified by the child text node of the specified element does not exist. identifier. The specified box is not a picture or text box. HTTP Error #500 A locked layer cannot be manipulated.
USING QUARKXPRESS SERVER When you import a file that uses style sheets, you can control how those style sheets are handled. For example: http://localhost:8080/Documentname? textboxname@dataimport=file:c:\file.doc& textboxnameincludestylesheets@dataimport=yes You can control how quotation marks are handled at import. For example: http://localhost:8080/Documentname? textboxname@dataimport=file:c:\file.
USING QUARKXPRESS SERVER Notes BoxParam XTensions software lets you import only files in the document pool. Modifier XTensions software, however, lets you import files that are located anywhere on the server computer, at any accessible network location, or supplied as part of a multipart HTTP request.
USING QUARKXPRESS SERVER Deconstructing a project The xml namespace returns an XML representation of the target project. To use this namespace, use a URL like the following: http://QXPServer8:8080/xml/project1.qxp When you use the xml namespace, QuarkXPress Server returns an XML file that represents the deconstructed project. This XML file adheres to the Modifier DTD (see "Modifier schema (annotated)").
USING QUARKXPRESS SERVER elements in which ORIGIN@RELATIVETO="page" (as opposed to "spread"). copyfitinfo QuarkXPress Server returns copyfitting information for QuarkCopyDesk articles by default. To retrieve copyfitting information when deconstructing a QuarkXPress project, include copyfitinfo=true in the xml request. For example: http://localhost:8080/xml/sample.qxp? copyfitinfo=true Refer to the Modifier DTD Response Sample response:
USING QUARKXPRESS SERVER 0 0 800 600 false Logs If the request succeeds, a transaction success message is writ
USING QUARKXPRESS SERVER When you create a project using the construct namespace, you must supply the path to the Job Jackets file that will supply the project's resources. To do so, indicate the URL of the Job Jackets file in the PROJECT@JOBJACKET attribute and the name of the Job Ticket in the PROJECT@JOBTICKET attribute. ( is the root element of the Modifier DTD. For more information, see "Modifier schema (annotated).
USING QUARKXPRESS SERVER The XML document is not valid or well formed. HTTP Error #500 This alert displays if the XML you supply is not well-formed or do not adhere to the Modifier DTD. The XML document HTTP Error #500 contains an invalid tag This alert displays if you supply an invalid value in the XML. value. 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/construct/table.
USING QUARKXPRESS SERVER Construct and modify The modify parameter lets you modify existing projects. For example: http://QXPServer8:8080/project1.qxp? modify=file:path to XML file on server or: http://QXPServer8:8080/project1.qxp?modify=XML string It's important to understand that although the construct namespace uses the same DTD that you use when you modify an existing project, the construct namespace uses it differently.
USING QUARKXPRESS SERVER You can assign items to a page using the GEOMETRY element, which is a child of the BOX and TABLE elements. For example: 90 95 190 195 Master pages are stored in a deconstructed project’s Job Jackets file.
USING QUARKXPRESS SERVER To create a layout using a layout specification in the template's Job Jackets structure, use XML like the following: Scrollable Layout To create a la
USING QUARKXPRESS SERVER This is the text file:MyFile.jpg Column1 Column2 When QuarkXPress Server creates a new layout this way, it adds an automatic text box.
USING QUARKXPRESS SERVER 475 This is text in a box.
USING QUARKXPRESS SERVER For example: 224.001 110.003 381 253.253 To use this feature, you must have FitBoxToContent XTensions software loaded. For pictures, is equivalent to PICTURE@FIT="FITBOXTOPICTURE". and have no effect.
USING QUARKXPRESS SERVER If the volume of text (represented by PARAGRAPH) is potentially large, the INLINEBOX automatically continues to flow the remaining text across pages. Automatic text flow example The INLINEBOX element allows to have autommatic column balanced sections. This allows you to have the text flow and bottom-align across multiple columns on a page automatically.
USING QUARKXPRESS SERVER A child INTERACTIVITY element facilitates the application of interactivity on boxes. This allows for the deconstruct and modifiability of App Studio Interactivities, as shown below: file:Images/2pdf.
USING QUARKXPRESS SERVER You can nest one group within another by adding a that refers to the child group, like so:
USING QUARKXPRESS SERVER image.
USING QUARKXPRESS SERVER New text Story IDs are unique across layouts. Applying style sheets Like other resources, style sheets are defined in a deconstructed project’s Job Jackets file. To apply a paragraph style sheet to text, use the PARASTYLE attribute of the element.
USING QUARKXPRESS SERVER sun has risen. Formatting across paragraph boundaries You can use two methods to describe a run of formatting that crosses a paragraph boundary. The first is to simply close the first element and then open a new one. For example: The sun has risen. The sun has set.
USING QUARKXPRESS SERVER ... ...
USING QUARKXPRESS SERVER Response A preview of the QuarkXPress project with new table created in the specified position. Logs If the request succeeds, a transaction success message is written to the QuarkXPress Server transaction log file. For example: 4/10/2007 17:54:37 — tab.qxp — Type: image/jpeg — Size: 9049 — Client: 127.0.0.1 Example GET URL When QuarkXPress Server is running on Windows, use a URL like the following: http://localhost:8080/sample.qxp?modify= file:C:\createTable.
USING QUARKXPRESS SERVER To add a picture cell, use XML like the following: MacintoshHD:DocPool:flower1.jpg Merging and splitting table cells To merge table cells, use XML like the following:
USING QUARKXPRESS SERVER Using inline tables The Inline Tables feature makes it easy to create an anchored table.
USING QUARKXPRESS SERVER ... The INDEX value indicates the column number. You can specify the WIDTH of a column in points by omitting a unit indicator, or as a percentage of the table width by including a % after the number. If no width is indicated, the column widths will be automatically computed depending on the length of the text in a cell or image in a cell.
USING QUARKXPRESS SERVER ... A lets you specify the following things: • : A row style to be applied to every row in the table. One of the two mandatory elements of . Includes the INSET attribute, which lets you specify the inset to apply on all four sides. • : A row style to be applied only to the header row.
USING QUARKXPRESS SERVER . The story continues on page .
USING QUARKXPRESS SERVER If you are creating App Studio issues, you can use this technique to create scrollable layouts on the fly. When doing so, use the HORIZONTALBINDING and VERTICALBINDING attributes to indicate which direction the layout should scroll.
USING QUARKXPRESS SERVER 56 56 200 300 LIST is a child of the STORY element. The value of LISTSTYLE will be the name of the list that had been created in QuarkXPress.
USING QUARKXPRESS SERVER project. Also, it allows some structure to be preserved within the QuarkXPress project format.
USING QUARKXPRESS SERVER To create a new box with metadata, use XML like the following. In this example, QuarkXPress Server creates a box named "box1" and asssociates Asset, Date, and Password key-value pairs with it.
USING QUARKXPRESS SERVER The structure of a hidden text marker In Modifier XML, hidden text is represented by the HIDDEN element. By default, hidden text is not output from the xml namespace. To output hidden text, specify the opcode= parameter in your request, like so: http://server:port/xml/projectname.qxp?opcode=51434450 This example URL outputs all of the hidden text inserted by the XTensions software with this ID.
USING QUARKXPRESS SERVER Iceland is located north of the Equator. The example XML extract above shows the output from the xml namespace of text that contains a note inserted by the Notes XT XTensions software. The note contains "This is the text of a CopyDesk note," which is represented as VGhpcyBpcyB0aGUgdGV4dCBvZiBhIENvcHlEZXNrIG5vdGU=.
USING QUARKXPRESS SERVER gotofirstpage Scroll Zone interactivity Below is an example of App Studio Scroll Zone interactivity.
USING QUARKXPRESS SERVER true6.000000 Images\slideshow1.jpg Images\slideshow2.
USING QUARKXPRESS SERVER false true true 1 Audio\abc.mp3 false Go to URL interactivity Below is an example of App Studio Go to URL interactivity.
USING QUARKXPRESS SERVER true false true false 0 360 degree interactivity Below is an example of App Studio 360 degree interactivity.
USING QUARKXPRESS SERVER Specifying colors When specifying colors, you can use named Web colors such as "Silver" and "MediumSlateBlue" by name. You can also use RGB colors by specifying their hexadecimal values. For example: This text is teal. Creating and using hyperlinks There are three types of hyperlink: • Web (WWWURL). • Anchor (ANCHOR).
USING QUARKXPRESS SERVER To link to this Page hyperlink, use something like this: Page2 You can use a Page hyperlink without creating it at the level, but this is not the preferred method. Using the Streaming Document Provider The Streaming Document Provider feature allows all of the assets required for a transaction to be provided as part of a multi-part HTTP request. Assets that can be streamed include: • QuarkXPress templates.
USING QUARKXPRESS SERVER parameter of this API is a pointer to a request handler function implemented in QuarkXPress Server XTensions software. The second parameter is a namespace string that identifies the request. When a user submits a request that has the same namespace string as a suffix to the request URL, QuarkXPress Server calls the request handler function with all the user-specified parameters in the ServerRequest structure.
USING QUARKXPRESS SERVER Example, object model Request object name: AddFileRequest // STEP 1 (COMMON FOR ALL REQUESTS): com.quark.qxpsm.QRequestContext rc = new com.quark.qxpsm.QRequestContext(); if(!this.DocumentSettings1.documentName.Text.Equals("")) rc.documentName = this.DocumentSettings1.documentName.Text; Stream theStream = uplTheFile.PostedFile.InputStream; long length = theStream.
USING QUARKXPRESS SERVER The following example demonstrates how to use an HTML form to create a POST request that uses the addfile request handler. The form looks like this: To use this form: 1 Enter the name or IP address of the computer on which QuarkXPress Server is running. 2 Enter the port number in the port number field. 3 Enter the file name along with the extension in the file field. Click Browse if you need to find the file on your computer. The file will be uploaded with this name.
USING QUARKXPRESS SERVER NAME="uploadFile">