Main Page   Namespace List   Compound List   File List   Compound Members   File Members   Related Pages  

xfoifc.h

Go to the documentation of this file.
00001 /**
00002  * @file    xfoifc.h
00003    * @brief Antenna House Formatter C++ Interface
00004   *
00005  * @author  Antenna House, Inc.
00006  *
00007  *
00008  * Copyright (C) 2002-2011 Antenna House, Inc. All rights reserved.
00009  */
00010 
00011 #ifndef XFOIFC_H__
00012 #define XFOIFC_H__
00013 
00014 #ifndef __cplusplus
00015 #error  This is a header for C++ compiler.
00016 #endif
00017 
00018 #include <iostream>
00019 #include "xfoifc_c.h"   /* include common definitions */
00020 
00021 namespace XfoInterface {
00022 
00023 class XfoCppIfObject;
00024 
00025 /***************************************************************
00026  * Event class that returns the error information in the formatting process.
00027  */
00028 class XFOINTERFACE_API MessageListener
00029 {
00030 public:
00031     MessageListener() {}
00032     virtual ~MessageListener() {}
00033 
00034     /**
00035      * Event that returns the error information(error level, error code, error message) in the formatting process.
00036      *
00037      * errLevel     - Returns the errorlevel
00038      * errCode      - Returns the errorcode
00039      * errMessage   - Returns the errormessage
00040      */
00041     virtual void onMessage(XfoIfErrorLevel errLevel, XfoIfErrorCode errCode, const char* errMessage) {}
00042     virtual void onMessageW(XfoIfErrorLevel errLevel, XfoIfErrorCode errCode, const wchar_t* errMessage) {}
00043 
00044 #if !defined(_DOXYGEN) && defined(_MSC_VER)
00045  /* Please do not use following methods directly. */
00046  #ifdef _NATIVE_WCHAR_T_DEFINED
00047     virtual void onMessageW(XfoIfErrorLevel errLevel, XfoIfErrorCode errCode, const unsigned short* errMessage) {}
00048  #else
00049     virtual void onMessageW(XfoIfErrorLevel errLevel, XfoIfErrorCode errCode, const __wchar_t* errMessage) {}
00050  #endif
00051 #endif
00052 };
00053 
00054 /***************************************************************
00055  * Event class that returns the page number in the formatting process.
00056  */
00057 class XFOINTERFACE_API FormatPageListener
00058 {
00059 public:
00060     FormatPageListener() {}
00061     virtual ~FormatPageListener() {}
00062 
00063     /**
00064      * Returns the formatted page number that occurred during the formatting process.
00065      * More than or equal to 1 : Page number when formatting finished.
00066      *  0 : All page formatting has finished.
00067      * -1 : Start of the first pass of 2 pass formatting.
00068      * -2 : Start of the second pass of 2 pass formatting.
00069      *
00070      * pageNo       - Returns the page number
00071      */
00072     virtual void onFormatPage(long pageNo) {}
00073 };
00074 
00075 /***************************************************************
00076 * Antenna House Formatter C++ Interface Object Class
00077  */
00078 class XFOINTERFACE_API XfoObj
00079 {
00080 private:
00081     XfoCppIfObject* m_pXfoObj;  /* instance of XfoObj */
00082 
00083 public:
00084     /**
00085      * Constructor
00086      */
00087     XfoObj();
00088 
00089     /**
00090      * Destructor
00091      */
00092     virtual ~XfoObj();
00093 
00094     /**
00095      * Get instance of XfoObj
00096      *
00097      * @return  pointer to XfoObj instance.
00098      */
00099     XfoCppIfObject* getXfoObj() const { return m_pXfoObj; }
00100 
00101     /**
00102      * Get formatter type.
00103      * only after Formatter 5.
00104      *
00105      * @return  type of formatter.
00106      */
00107     XfoFORMATTERTYPE getFormatterType() const;
00108 
00109     /**
00110      * Set formatter type.
00111      * only after Formatter 5.
00112      *
00113      * @param newVal type of formatter.
00114      */
00115     void setFormatterType(XfoFORMATTERTYPE newVal);
00116 
00117     /**
00118      * Get html default charset.
00119      * only after Formatter 5.
00120      *
00121      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00122      *          the string is truncated and terminated with a NULL character.
00123      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00124      * @return  Returns the 'pVal'.
00125      */
00126     char* getHtmlDefaultCharset(char* pVal, int size) const;
00127 
00128     /**
00129      * Get html default charset.
00130      * only after Formatter 5.
00131      *
00132      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00133      *          the string is truncated and terminated with a NULL character.
00134      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00135      * @return  Returns the 'pVal'.
00136      */
00137     wchar_t* getHtmlDefaultCharsetW(wchar_t* pVal, int size) const;
00138 
00139     /**
00140      * Set html default charset.
00141      *
00142      * @param   newVal  Pointer to a null-terminated string to be used as the html default charset.
00143      */
00144     void setHtmlDefaultCharset(const char* newVal);
00145 
00146     /**
00147      * Set html default charset.
00148      *
00149      * @param   newVal  Pointer to a null-terminated string to be used as the html default charset.
00150      */
00151     void setHtmlDefaultCharsetW(const wchar_t* newVal);
00152 
00153     /**
00154      * Get the URL of XML document you will format.
00155      *
00156      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00157      *          the string is truncated and terminated with a NULL character.
00158      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00159      * @return  Returns the 'pVal'.
00160      */
00161     char* getDocumentURI(char* pVal, int size) const;
00162     /**
00163      * Get the URL of XML document you will format.
00164      *
00165      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00166      *          the string is truncated and terminated with a NULL character.
00167      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00168      * @return  Returns the 'pVal'.
00169      */
00170     wchar_t* getDocumentURIW(wchar_t* pVal, int size) const;
00171 
00172     /**
00173      * Specifies the URL of XML document you will format.
00174      * If it is omitted or "\@STDIN" is specified, XML document is loaded from stdin.
00175      * The document loaded from stdin are supposed to be FO files.
00176      *
00177      * @param   newVal  Pointer to a null-terminated string to be used as the URL of XML document.
00178      */
00179     void setDocumentURI(const char* newVal);
00180 
00181     /**
00182      * Specifies the URL of XML document you will format.
00183      * If it is omitted or "\@STDIN" is specified, XML document is loaded from stdin.
00184      * The document loaded from stdin are supposed to be FO files.
00185      *
00186      * @param   newVal  Pointer to a null-terminated string to be used as the URL of XML document.
00187      */
00188     void setDocumentURIW(const wchar_t* newVal);
00189 
00190     /**
00191      * Get the URI of XSL stylesheet for formatting.
00192      *
00193      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00194      *          the string is truncated and terminated with a NULL character.
00195      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00196      * @return  Returns the 'pVal'.
00197      */
00198     char* getStylesheetURI(char* pVal, int size) const;
00199     /**
00200      * Get the URI of XSL stylesheet for formatting.
00201      *
00202      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00203      *          the string is truncated and terminated with a NULL character.
00204      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00205      * @return  Returns the 'pVal'.
00206      */
00207     wchar_t* getStylesheetURIW(wchar_t* pVal, int size) const;
00208 
00209     /**
00210      * Specifies the URI of XSL stylesheet for formatting.
00211      * If the specified XML document is FO, or the XML file contains the processing instruction
00212      * &lt;?xml-stylesheet ...?&gt; and the XSL stylesheet is specified, this setting is ignored.
00213      * Otherwise if there is no setting of this property, an error occurs.
00214      *
00215      * @param   newVal  Pointer to a null-terminated string to be used as the URL of XSL stylesheet.
00216      */
00217     void setStylesheetURI(const char* newVal);
00218 
00219     /**
00220      * Specifies the URI of XSL stylesheet for formatting.
00221      * If the specified XML document is FO, or the XML file contains the processing instruction
00222      * &lt;?xml-stylesheet ...?&gt; and the XSL stylesheet is specified, this setting is ignored.
00223      * Otherwise if there is no setting of this property, an error occurs.
00224      *
00225      * @param   newVal  Pointer to a null-terminated string to be used as the URL of XSL stylesheet.
00226      */
00227     void setStylesheetURIW(const wchar_t* newVal);
00228 
00229     /**
00230     * Append the path name of user stylesheet file which describes Antenna House Formatter options.
00231      * @since 5.0
00232      *
00233      * @param   newVal  Pointer to a null-terminated string to be used as the path name of HTML user stylesheet file.
00234      */
00235     void addUserStylesheetURI(const char* newVal);
00236     /**
00237     * Append the path name of user stylesheet file which describes Antenna House Formatter options.
00238      * @since 5.0
00239      *
00240      * @param   newVal  Pointer to a null-terminated string to be used as the path name of HTML user stylesheet file.
00241      */
00242     void addUserStylesheetURIW(const wchar_t* newVal);
00243 
00244     /**
00245      * Get the prior stylesheet title.
00246      *
00247      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00248      *          the string is truncated and terminated with a NULL character.
00249      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00250      * @return  Returns the 'pVal'.
00251      */
00252     char* getStylesheetTitle(char* pVal, int size) const;
00253     /**
00254      * Get the prior stylesheet title.
00255      *
00256      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00257      *          the string is truncated and terminated with a NULL character.
00258      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00259      * @return  Returns the 'pVal'.
00260      */
00261     wchar_t* getStylesheetTitleW(wchar_t* pVal, int size) const;
00262 
00263     /**
00264      * Set the prior stylesheet title.
00265      *
00266      * @param   newVal  Pointer to a null-terminated string to be used as the priority title.
00267      */
00268     void setStylesheetTitle(const char* newVal);
00269 
00270     /**
00271      * Set the prior stylesheet title.
00272      *
00273      * @param   newVal  Pointer to a null-terminated string to be used as the priority title.
00274      */
00275     void setStylesheetTitleW(const wchar_t* newVal);
00276 
00277     /**
00278      * Get the path name of the output file.
00279      *
00280      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00281      *          the string is truncated and terminated with a NULL character.
00282      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00283      * @return  Returns the 'pVal'.
00284      */
00285     char* getOutputFilePath(char* pVal, int size) const;
00286     /**
00287      * Get the path name of the output file.
00288      *
00289      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00290      *          the string is truncated and terminated with a NULL character.
00291      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00292      * @return  Returns the 'pVal'.
00293      */
00294     wchar_t* getOutputFilePathW(wchar_t* pVal, int size) const;
00295 
00296     /**
00297      * Specifies the path name of the output file. When "\@STDOUT" is specified, it is considered as stdout.
00298      * If both the printer name and this property are specified, the formatted result will be stored in
00299      * the file by the printer driver.
00300      * When "\@PDF" is specified as output, the PDF is stored in the file specified by this property.
00301      * If the property is not specified, it is considered as stdout.
00302      *
00303      * @param   newVal  Pointer to a null-terminated string to be used as the path name of the output file.
00304      */
00305     void setOutputFilePath(const char* newVal);
00306     /**
00307      * Specifies the path name of the output file. When "\@STDOUT" is specified, it is considered as stdout.
00308      * If both the printer name and this property are specified, the formatted result will be stored in
00309      * the file by the printer driver.
00310      * When "\@PDF" is specified as output, the PDF is stored in the file specified by this property.
00311      * If the property is not specified, it is considered as stdout.
00312      *
00313      * @param   newVal  Pointer to a null-terminated string to be used as the path name of the output file.
00314      */
00315     void setOutputFilePathW(const wchar_t* newVal);
00316 
00317     /**
00318     * Get the path name of XML-format Option setting file which describes Antenna House Formatter options.
00319      *
00320      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00321      *          the string is truncated and terminated with a NULL character.
00322      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00323      * @param   n       Specifies to get n-th URI. 0 means first URI.
00324      * @return  Returns the 'pVal'.
00325      */
00326     char* getOptionFileURI(char* pVal, int size, int n=0) const;
00327     /**
00328     * Get the path name of XML-format Option setting file which describes Antenna House Formatter options.
00329      *
00330      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00331      *          the string is truncated and terminated with a NULL character.
00332      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00333      * @param   n       Specifies to get n-th URI. 0 means first URI.
00334      * @return  Returns the 'pVal'.
00335      */
00336     wchar_t* getOptionFileURIW(wchar_t* pVal, int size, int n=0) const;
00337 
00338     /**
00339     * Specifies the path name of XML-format Option setting file which describes Antenna House Formatter options.
00340      * The set of former URIs is thrown away.
00341      *
00342      * @param   newVal  Pointer to a null-terminated string to be used as the path name of XML-format Option setting file.
00343      */
00344     void setOptionFileURI(const char* newVal);
00345     /**
00346     * Specifies the path name of XML-format Option setting file which describes Antenna House Formatter options.
00347      * The set of former URIs is thrown away.
00348      *
00349      * @param   newVal  Pointer to a null-terminated string to be used as the path name of XML-format Option setting file.
00350      */
00351     void setOptionFileURIW(const wchar_t* newVal);
00352 
00353     /**
00354     * Append the path name of XML-format Option setting file which describes Antenna House Formatter options.
00355      * @since 3.1
00356      *
00357      * @param   newVal  Pointer to a null-terminated string to be used as the path name of XML-format Option setting file.
00358      */
00359     void addOptionFileURI(const char* newVal);
00360     /**
00361     * Append the path name of XML-format Option setting file which describes Antenna House Formatter options.
00362      * @since 3.1
00363      *
00364      * @param   newVal  Pointer to a null-terminated string to be used as the path name of XML-format Option setting file.
00365      */
00366     void addOptionFileURIW(const wchar_t* newVal);
00367 
00368     /**
00369     * Get the number of URIs of XML-format Option setting file which describes Antenna House Formatter options.
00370      * @since 3.1
00371      *
00372      * @return  Returns the number of URIs.
00373      */
00374     int getOptionFileCount() const;
00375 
00376     /**
00377      * Get the output FO file as the result of XSLT when the input files are an XML document and XSL stylesheet.
00378      *
00379      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00380      *          the string is truncated and terminated with a NULL character.
00381      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00382      * @return  Returns the 'pVal'.
00383      */
00384     char* getOutputFOPath(char* pVal, int size) const;
00385     /**
00386      * Get the output FO file as the result of XSLT when the input files are an XML document and XSL stylesheet.
00387      *
00388      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00389      *          the string is truncated and terminated with a NULL character.
00390      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00391      * @return  Returns the 'pVal'.
00392      */
00393     wchar_t* getOutputFOPathW(wchar_t* pVal, int size) const;
00394 
00395     /**
00396      * Specifies the output FO file as the result of XSLT when the input files are an XML document and XSL stylesheet.
00397      * If the input file is FO, no file is outputted. When "\@STDOUT" is specified, it is considered as stdout.
00398      * If the setting is omitted, nothing outputs.
00399      *
00400      * @param   newVal  Pointer to a null-terminated string to be used as the path name of output FO file.
00401      */
00402     void setOutputFOPath(const char* newVal);
00403     /**
00404      * Specifies the output FO file as the result of XSLT when the input files are an XML document and XSL stylesheet.
00405      * If the input file is FO, no file is outputted. When "\@STDOUT" is specified, it is considered as stdout.
00406      * If the setting is omitted, nothing outputs.
00407      *
00408      * @param   newVal  Pointer to a null-terminated string to be used as the path name of output FO file.
00409      */
00410     void setOutputFOPathW(const wchar_t* newVal);
00411     /**
00412     * Get the hyphenation dictionary Path.
00413     *
00414     * @param    pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00415     *           the string is truncated and terminated with a NULL character.
00416     * @param    size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00417     * @return   Returns the 'pVal'.
00418     */
00419     char* getHyphenDicPath(char* pVal, int size) const;
00420     /**
00421     * Get the hyphenation dictionary Path.
00422     *
00423     * @param    pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00424     *           the string is truncated and terminated with a NULL character.
00425     * @param    size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00426     * @return   Returns the 'pVal'.
00427     */
00428     wchar_t* getHyphenDicPathW(wchar_t* pVal, int size) const;
00429 
00430     /**
00431     * Specifies the hyphenation dictionary Path.
00432     *
00433     * @param    newVal  Pointer to a null-terminated string to be used as the hyphenation dictionary Path.
00434     */
00435     void setHyphenDicPath(const char* newVal);
00436     /**
00437     * Specifies the hyphenation dictionary Path.
00438     *
00439     * @param    newVal  Pointer to a null-terminated string to be used as the hyphenation dictionary Path.
00440     */
00441     void setHyphenDicPathW(const wchar_t* newVal);
00442 
00443     /**
00444      * Get the command line of External XSLT Processor.
00445      *
00446      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00447      *          the string is truncated and terminated with a NULL character.
00448      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00449      * @return  Returns the 'pVal'.
00450      */
00451     char* getExternalXSLT(char* pVal, int size) const;
00452     /**
00453      * Get the command line of External XSLT Processor.
00454      *
00455      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00456      *          the string is truncated and terminated with a NULL character.
00457      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00458      * @return  Returns the 'pVal'.
00459      */
00460     wchar_t* getExternalXSLTW(wchar_t* pVal, int size) const;
00461 
00462     /**
00463      * Specifies the command line of External XSLT Processor.
00464      * If this is omitted, default MSXML3 will be used. For example:
00465      * <pre>
00466      *  xslt \%param -o \%3 \%1 \%2</pre>
00467      *
00468      * These meanings are as follows.<pre>
00469      *  \%1 : XML Document
00470      *  \%2 : XSL Stylesheet
00471      *  \%3 : XSLT Output File
00472      *  \%param : xsl:param</pre>
00473      * \%1 to \%3 are used to express only parameter positions. Do not replace them actual file names.
00474      * In case you use XSL:param for external XSLT processor, set the parameter in XSLTParamFormat and SetXSLTParam.
00475      *
00476      * @param   newVal  Pointer to a null-terminated string to be used as the command line of External XSLT Processor.
00477      */
00478     void setExternalXSLT(const char* newVal);
00479     /**
00480      * Specifies the command line of External XSLT Processor.
00481      * If this is omitted, default MSXML3 will be used. For example:
00482      * <pre>
00483      *  xslt \%param -o \%3 \%1 \%2</pre>
00484      *
00485      * These meanings are as follows.<pre>
00486      *  \%1 : XML Document
00487      *  \%2 : XSL Stylesheet
00488      *  \%3 : XSLT Output File
00489      *  \%param : xsl:param</pre>
00490      * \%1 to \%3 are used to express only parameter positions. Do not replace them actual file names.
00491      * In case you use XSL:param for external XSLT processor, set the parameter in XSLTParamFormat and SetXSLTParam.
00492      *
00493      * @param   newVal  Pointer to a null-terminated string to be used as the command line of External XSLT Processor.
00494      */
00495     void setExternalXSLTW(const wchar_t* newVal);
00496 
00497     /**
00498      * Get the default base URI.
00499      *
00500      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00501      *          the string is truncated and terminated with a NULL character.
00502      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00503      * @return  Returns the 'pVal'.
00504      */
00505     char* getBaseURI(char* pVal, int size) const;
00506     /**
00507      * Get the default base URI.
00508      *
00509      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00510      *          the string is truncated and terminated with a NULL character.
00511      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00512      * @return  Returns the 'pVal'.
00513      */
00514     wchar_t* getBaseURIW(wchar_t* pVal, int size) const;
00515 
00516     /**
00517      * Specifies the default base URI.
00518      *
00519      * @param   newVal  Pointer to a null-terminated string to be used as the default base URI.
00520      */
00521     void setBaseURI(const char* newVal);
00522     /**
00523      * Specifies the default base URI.
00524      *
00525      * @param   newVal  Pointer to a null-terminated string to be used as the default base URI.
00526      */
00527     void setBaseURIW(const wchar_t* newVal);
00528 
00529     /**
00530      * Get the parameter format of xsl:param when using External XSLT Processor.
00531      *
00532      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00533      *          the string is truncated and terminated with a NULL character.
00534      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00535      * @return  Returns the 'pVal'.
00536      */
00537     char* getXSLTParamFormat(char* pVal, int size) const;
00538     /**
00539      * Get the parameter format of xsl:param when using External XSLT Processor.
00540      *
00541      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00542      *          the string is truncated and terminated with a NULL character.
00543      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00544      * @return  Returns the 'pVal'.
00545      */
00546     wchar_t* getXSLTParamFormatW(wchar_t* pVal, int size);
00547 
00548     /**
00549      * Specifies the parameter format of xsl:param when using External XSLT Processor. For example:
00550      * <pre>
00551      *   -p \%p \%v</pre>
00552      *
00553      * These meanings are as follows.<pre>
00554      *  \%p : Parameter Name
00555      *  \%v : Parameter Value</pre>
00556      *
00557      * @param   newVal  Pointer to a null-terminated string to be used as the parameter format of xsl:param when using External XSLT Processor.
00558      */
00559     void setXSLTParamFormat(const char* newVal);
00560     /**
00561      * Specifies the parameter format of xsl:param when using External XSLT Processor. For example:
00562      * <pre>
00563      *   -p \%p \%v</pre>
00564      *
00565      * These meanings are as follows.<pre>
00566      *  \%p : Parameter Name
00567      *  \%v : Parameter Value</pre>
00568      *
00569      * @param   newVal  Pointer to a null-terminated string to be used as the parameter format of xsl:param when using External XSLT Processor.
00570      */
00571     void setXSLTParamFormatW(const wchar_t* newVal);
00572 
00573     /**
00574      * Get the start page number of document to output.
00575      *
00576      * @return  start page number of document to output.
00577      */
00578     long getStartPage() const;
00579 
00580     /**
00581      * Specifies the start page number of document to output.
00582      * If the start page is omitted or the specified value is 0 or less, the start page is
00583      * considered from the first page.
00584      * If the setting is inconsistent, (for example, StartPage=5 EndPage=3) an error occurs.
00585      *
00586      * @param   newVal  start page number of output.
00587      */
00588     void setStartPage(long newVal);
00589 
00590     /**
00591      * Get the end page number of document to output.
00592      *
00593      * @return  end page number of output.
00594      */
00595     long getEndPage() const;
00596 
00597     /**
00598      * Specifies the end page number of document to output.
00599      * If the end page is omitted or the specified value exceeds the actual page number, the end page
00600      * is considered as the last page.
00601      * If the setting is inconsistent, (for example, StartPage=5 EndPage=3) an error occurs.
00602      *
00603      * @param   newVal  end page number of output.
00604      */
00605     void setEndPage(long newVal);
00606 
00607     /**
00608      * @deprecated
00609      * Effective when outputting to PDF.
00610      * Specifies the master password for PDF. The password must be within 32 bytes.
00611      * @since 3.1
00612      *
00613      * @param   newVal  Pointer to a null-terminated string to be used as the master password.
00614      */
00615     void setPdfMasterPassword(const char* newVal);
00616 
00617     /**
00618      * @deprecated
00619      * Effective when outputting to PDF.
00620      * Specifies the master password for PDF. The password must be within 32 bytes.
00621      * @since 3.1
00622      *
00623      * @param   newVal  Pointer to a null-terminated string to be used as the master password.
00624      */
00625     void setPdfMasterPasswordW(const wchar_t* newVal);
00626 
00627     /**
00628      * Effective when outputting to PDF.
00629      * Specifies the owner password for PDF. The password must be within 32 bytes.
00630      * @since 3.1
00631      *
00632      * @param   newVal  Pointer to a null-terminated string to be used as the owner password.
00633      */
00634     void setPdfOwnerPassword(const char* newVal);
00635 
00636     /**
00637      * Effective when outputting to PDF.
00638      * Specifies the owner password for PDF. The password must be within 32 bytes.
00639      * @since 3.1
00640      *
00641      * @param   newVal  Pointer to a null-terminated string to be used as the owner password.
00642      */
00643     void setPdfOwnerPasswordW(const wchar_t* newVal);
00644 
00645     /**
00646      * Effective when outputting to PDF.
00647      * Specifies the user password for PDF. The password must be within 32 bytes.
00648      * @since 3.1
00649      *
00650      * @param   newVal  Pointer to a null-terminated string to be used as the user password.
00651      */
00652     void setPdfUserPassword(const char* newVal);
00653 
00654     /**
00655      * Effective when outputting to PDF.
00656      * Specifies the user password for PDF. The password must be within 32 bytes.
00657      * @since 3.1
00658      *
00659      * @param   newVal  Pointer to a null-terminated string to be used as the user password.
00660      */
00661     void setPdfUserPasswordW(const wchar_t* newVal);
00662 
00663     /**
00664      * Effective when outputting to PDF.
00665      * Disables printing the PDF file.
00666      * @since 3.1
00667      *
00668      * @param   newVal  If nonezero is specified, Disables printing the PDF file.
00669      */
00670     void setPdfNoPrinting(long newVal);
00671 
00672     /**
00673      * Effective when outputting to PDF.
00674      * Get disables printing the PDF file.
00675      * @since 3.1
00676      *
00677      * @return  If zero is returned, Enables printing the PDF file.
00678      *          If nonezero is returned, Disables printing the PDF file.
00679      */
00680     long getPdfNoPrinting() const;
00681 
00682     /**
00683      * Effective when outputting to PDF.
00684      * Disables making changes of the PDF file.
00685      * @since 3.1
00686      *
00687      * @param   newVal  If nonezero is specified, Disables making changes of the PDF file.
00688      */
00689     void setPdfNoChanging(long newVal);
00690 
00691     /**
00692      * Effective when outputting to PDF.
00693      * Get disables making changes of the PDF file.
00694      * @since 3.1
00695      *
00696      * @return  If zero is returned, Enables making changes of the PDF file.
00697      *          If nonezero is returned, Disables making changes of the PDF file.
00698      */
00699     long getPdfNoChanging() const;
00700 
00701     /**
00702      * Effective when outputting to PDF.
00703      * Disables copying the content of the PDF file.
00704      * @since 3.1
00705      *
00706      * @param   newVal  If nonezero is specified, Disables copying the content of the PDF file.
00707      */
00708     void setPdfNoContentCopying(long newVal);
00709 
00710     /**
00711      * Effective when outputting to PDF.
00712      * Get disables copying the content of the PDF file.
00713      * @since 3.1
00714      *
00715      * @return  If zero is returned, Enables copying the content of the PDF file.
00716      *          If nonezero is returned, Disables copying the content of the PDF file.
00717      */
00718     long getPdfNoContentCopying() const;
00719 
00720     /**
00721      * Effective when outputting to PDF.
00722      * Disables adding comments and form fields to the PDF file.
00723      * @since 3.1
00724      *
00725      * @param   newVal  If nonezero is specified, Disables adding comments and form fields to the PDF file.
00726      */
00727     void setPdfNoAddingOrChangingComments(long newVal);
00728 
00729     /**
00730      * Effective when outputting to PDF.
00731      * Get disables adding comments and form fields to the PDF file.
00732      * @since 3.1
00733      *
00734      * @return  If zero is returned, Enables adding comments and form fields to the PDF file.
00735      *          If nonezero is returned, Disables adding comments and form fields to the PDF file.
00736      */
00737     long getPdfNoAddingOrChangingComments() const;
00738 
00739     /**
00740      * Effective when outputting to PDF.
00741      * Set the version of PDF.
00742      * @since 3.1
00743      *
00744      * @param   newVal  Specifies the version of PDF.
00745      */
00746     void setPdfVersion(XfoPDFVERSION newVal);
00747 
00748     /**
00749      * Effective when outputting to PDF.
00750      * Get the version of PDF.
00751      * @since 3.1
00752      *
00753      * @return  the version of PDF.
00754      */
00755     XfoPDFVERSION   getPdfVersion() const;
00756 
00757     /**
00758      * Effective when outputting to PDF.
00759      * Disables filling in of form fields and signing of the PDF file.
00760      * This parameter is effective only when you specify PDF1.4 or later to PDF version.
00761      * @since 3.1
00762      *
00763      * @param   newVal  If nonezero is specified, Disables filling in of form fields and signing of the PDF file.
00764      */
00765     void setPdfNoFillForm(long newVal);
00766 
00767     /**
00768      * Effective when outputting to PDF.
00769      * Get disables filling in of form fields and signing of the PDF file.
00770      * @since 3.1
00771      *
00772      * @return  If zero is returned, Enables filling in of form fields and signing of the PDF file.
00773      *          If nonezero is returned, Disables filling in of form fields and signing of the PDF file.
00774      */
00775     long getPdfNoFillForm() const;
00776 
00777     /**
00778      * Effective when outputting to PDF.
00779      * Disables text access for screen reader devices of the PDF file.
00780      * This parameter is effective only when you specify 1.4 or later with PDF version.
00781      * @since 3.1
00782      *
00783      * @param   newVal  If nonezero is specified, Disables text access for screen reader devices of the PDF file.
00784      */
00785     void setPdfNoAccessibility(long newVal);
00786 
00787     /**
00788      * Effective when outputting to PDF.
00789      * Get disables text access for screen reader devices of the PDF file.
00790      * @since 3.1
00791      *
00792      * @return  If zero is returned, Enables text access for screen reader devices of the PDF file.
00793      *          If nonezero is returned, Disables text access for screen reader devices of the PDF file.
00794      */
00795     long getPdfNoAccessibility() const;
00796 
00797     /**
00798      * Effective when outputting to PDF.
00799      * Disables inserting, deleting and rotating the PDF pages.
00800      * This parameter is effective only when you specify 1.4 or later with PDF version
00801      * @since 3.1
00802      *
00803      * @param   newVal  If nonezero is specified, Disables inserting, deleting and rotating the PDF pages.
00804      */
00805     void setPdfNoAssembleDoc(long newVal);
00806 
00807     /**
00808      * Effective when outputting to PDF.
00809      * Get disables inserting, deleting and rotating the PDF pages.
00810      * @since 3.1
00811      *
00812      * @return  If zero is returned, Enables inserting, deleting and rotating the PDF pages.
00813      *          If nonezero is returned, Disables inserting, deleting and rotating the PDF pages.
00814      */
00815     long getPdfNoAssembleDoc() const;
00816 
00817     /**
00818      * Effective when outputting to PDF.
00819      * Specifies the key length when encrypting the PDF file during outputting.
00820      * The key length can be specified as either 40 or 128 (bit).
00821      * This parameter is effective only when you specify PDF1.4 or later with PDF version
00822      * @since 3.1
00823      *
00824      * @param   newVal  Specifies the key length.
00825      */
00826     void setPdfEncryptLevel(XfoPDFENCRYPTLEVEL newVal);
00827 
00828     /**
00829      * Effective when outputting to PDF.
00830      * Get the key length when encrypting the PDF file during outputting.
00831      * @since 3.1
00832      *
00833      * @return  the key length.
00834      */
00835     XfoPDFENCRYPTLEVEL  getPdfEncryptLevel() const;
00836 
00837     /**
00838      * Effective when outputting to PDF.
00839      * Gets the value of whether to embed all embeddable fonts in PDF.
00840      * @since 3.1
00841      *
00842      * @return  the value of whether to embed all embeddable fonts
00843      */
00844     long getPdfEmbedAllFonts() const;
00845 
00846     /**
00847      * Effective when outputting to PDF.
00848      * Embeds all embeddable fonts in PDF to create.
00849      * @since 3.1
00850      *
00851      * @param   newVal  If the value is 'true' is specified, Embeds all embeddable fonts
00852      */
00853     void setPdfEmbedAllFonts(long newVal);
00854 
00855     /**
00856      * Effective when outputting to PDF.
00857      * Gets the font specified to be embedded in PDF.
00858      * @since 3.1
00859      *
00860      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer, the string is truncated and terminated with a NULL character.
00861      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00862      * @return  the font specified to be embedded
00863      */
00864     char* getPdfEmbedFonts(char* pVal, int size) const;
00865 
00866     /**
00867      * Effective when outputting to PDF.
00868      * Gets the font specified to be embedded in PDF.
00869      * @since 3.1
00870      *
00871      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer, the string is truncated and terminated with a NULL character.
00872      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00873      * @return  the font specified to be embedded
00874      */
00875     wchar_t* getPdfEmbedFontsW(wchar_t* pVal, int size) const;
00876 
00877     /**
00878      * Effective when outputting to PDF.
00879      * Embeds the specified font in PDF to create. If you want to specify plural fonts, put commas between fonts.
00880      * @since 3.1
00881      *
00882      * @param   newVal  fonts specified to embed
00883      */
00884     void setPdfEmbedFonts(const char* newVal);
00885 
00886     /**
00887      * Effective when outputting to PDF.
00888      * Embeds the specified font in PDF to create. If you want to specify plural fonts, put commas between fonts.
00889      * @since 3.1
00890      *
00891      * @param   newVal  fonts specified to embed
00892      */
00893     void setPdfEmbedFontsW(const wchar_t* newVal);
00894 
00895     /**
00896      * Effective when outputting to PDF.
00897      * Gets the value of whether to issues the error when failing to embed fonts.
00898      * @since 3.1
00899      *
00900      * @return  the value of whether to issues the error
00901      */
00902     long getPdfErrorOnEmbedFault() const;
00903 
00904     /**
00905      * Effective when outputting to PDF.
00906      * An error is issued in case of failing to embed fonts.
00907      * @since 3.1
00908      *
00909      * @param   newVal  If the value is 'true' is specified, an error is issued.
00910      */
00911     void setPdfErrorOnEmbedFault(long newVal);
00912 
00913     /**
00914      * Effective when outputting to PDF.
00915      * Gets the value of whether to issues the error when missing glyph.
00916      * @since 3.3
00917      *
00918      * @return  the value of whether to issues the error
00919      */
00920     long getPdfErrorOnMissingGlyph() const;
00921 
00922     /**
00923      * Effective when outputting to PDF.
00924      * An error is issued in case of missing glyph.
00925      * @since 3.3
00926      *
00927      * @param   newVal  If the value is 'true' is specified, an error is issued.
00928      */
00929     void setPdfErrorOnMissingGlyph(long newVal);
00930 
00931     /**
00932      * Effective when outputting to PDF.
00933      * Subset embedded fonts when percent of characters used is less than.
00934      * @since 5.2
00935      *
00936      * @return  the value of percent to embeds subset font
00937      */
00938     long getPdfEmbedSubsetFontPercentage() const;
00939 
00940     /**
00941      * Effective when outputting to PDF.
00942      * Subset embedded fonts when percent of characters used is less than.
00943      * @since 5.2
00944      *
00945      * @param   newVal  percent to embeds subset font
00946      */
00947     void setPdfEmbedSubsetFontPercentage(long newVal);
00948 
00949     /**
00950      * Effective when outputting to PDF.
00951      * Gets the value of whether to print the resulting PDF file or not.
00952      * @since 3.1
00953      *
00954      * <table border="0" cellspacing="0" cellpadding="0">
00955      *  <tr><td>PRALLOW_NONE    </td><td>= 0 Not Allowed</td></tr>
00956      *  <tr><td>PRALLOW_LOW     </td><td>= 1 Low Resolution Printing</td></tr>
00957      *  <tr><td>PRALLOW_HIGH    </td><td>= 2 High Resolution Printing</td></tr>
00958      * </table>
00959      *
00960      * @return  the value of printing allowed
00961      */
00962     XfoPDFPRINTALLOW getPdfPrintingAllowed() const;
00963 
00964     /**
00965      * Effective when outputting to PDF.
00966      * Spesifies whether to permit printing PDF to create with one of the following values.
00967      * This parameter is effective only when you specify PDF1.4 or later to PDF version (setPdfVersion).
00968      * @since 3.1
00969      *
00970      * <table border="0" cellspacing="0" cellpadding="0">
00971      *  <tr><td>PRALLOW_NONE    </td><td>= 0 Not Allowed</td></tr>
00972      *  <tr><td>PRALLOW_LOW     </td><td>= 1 Low Resolution Printing</td></tr>
00973      *  <tr><td>PRALLOW_HIGH    </td><td>= 2 High Resolution Printing</td></tr>
00974      * </table>
00975      *
00976      * @param   newVal  the value of printing allowed
00977      */
00978     void setPdfPrintingAllowed(XfoPDFPRINTALLOW newVal);
00979 
00980     /**
00981      * Effective when outputting to PDF.
00982      * Gets the value of how to compress the color images embedded in PDF.
00983      * @since 3.1
00984      *
00985      * <table border="0" cellspacing="0" cellpadding="0">
00986      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 JPEG or ZLIB compression</td></tr>
00987      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG compression</td></tr>
00988      *  <tr><td>IMGCMPR_ZLIB    </td><td>= 2 ZLIB compression</td></tr>
00989      *  <tr><td>IMGCMPR_JPEG2K  </td><td>= 3 JPEG 2000 compression (PDF1.5 or later)</td></tr>
00990      *  <tr><td>IMGCMPR_KEEPLZW </td><td>= 4 LZW or JPEG or ZLIB compression</td></tr>
00991      *  <tr><td>IMGCMPR_AUTO2K  </td><td>= 5 JPEG 2000 or JPEG or ZLIB compression (PDF1.5 or later)</td></tr>
00992      *  <tr><td>IMGCMPR_KEEPLZW2K</td><td>= 6 LZW or JPEG 2000 or JPEG or ZLIB compression (PDF1.5 or later)</td></tr>
00993      * </table>
00994      *
00995      * @return  the value of how raster graphics are compressed and stored
00996      */
00997     XfoPDFIMAGECOMPRESSION getPdfImageCompression() const;
00998 
00999     /**
01000      * Effective when outputting to PDF.
01001      * When the color image format cannot be stored directly in PDF, the image is stored after being transformed into the bit map format which is compatible with PDF. The compression method of the data stored in a PDF file is then specified by one of the following values.<BR>
01002      * When IMGCMPR_AUTO is selected, the process is automatically done and creates the image data according to the setting of setPdfJPEGQuality and setPdfRasterizeResolution. Whichever has the smaller compressed size, JPEG or ZLIB, is selected. <BR>
01003 This is the setting for the color image. Spesify setPdfGrayscaleImageCompression for the grayscale image, and setPdfMonochromeImageCompression for the monochrome image.
01004      * @since 3.1
01005      *
01006      * <table border="0" cellspacing="0" cellpadding="0">
01007      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 JPEG or ZLIB compression</td></tr>
01008      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG compression</td></tr>
01009      *  <tr><td>IMGCMPR_ZLIB    </td><td>= 2 ZLIB compression</td></tr>
01010      *  <tr><td>IMGCMPR_JPEG2K  </td><td>= 3 JPEG 2000 compression (PDF1.5 or later)</td></tr>
01011      *  <tr><td>IMGCMPR_KEEPLZW </td><td>= 4 LZW or JPEG or ZLIB compression</td></tr>
01012      *  <tr><td>IMGCMPR_AUTO2K  </td><td>= 5 JPEG 2000 or JPEG or ZLIB compression (PDF1.5 or later)</td></tr>
01013      *  <tr><td>IMGCMPR_KEEPLZW2K</td><td>= 6 LZW or JPEG 2000 or JPEG or ZLIB compression (PDF1.5 or later)</td></tr>
01014      * </table>
01015      *
01016      * @param   newVal  the value of how raster graphics are compressed and stored
01017      */
01018     void setPdfImageCompression(XfoPDFIMAGECOMPRESSION newVal);
01019 
01020     /**
01021      * Gets the value of the quality of JPEG format that is specified by xfo_setPdfImageCompression() stored in PDF.
01022      * @since 3.1
01023      *
01024      * @return  the value of the quality of JPEG format
01025      */
01026     int getPdfJPEGQuality() const;
01027 
01028     /**
01029      * Effective when outputting to PDF.
01030      * For the color image format that can not be stored directly in PDF, specifies the image quality by the numerical value within the range of 1-100 when IMGCMPR_JPEG is specified by setPdfImageCompression. The quality becomes higher in proportion to the increase in the number; however the file size also becomes larger.<BR>
01031      * CAUTION:     It is not for changing the quality of a JPEG format image.<BR>
01032      * This is the setting for the color image. Spesify setPdfGrayscaleJPEGQuality for the grayscale image.
01033      * @since 3.1
01034      *
01035      * @param   newVal  the value of the quality of JPEG format
01036      */
01037     void setPdfJPEGQuality(int newVal);
01038 
01039     /**
01040      * Effective when outputting to PDF.
01041      * Gets the value of whether the text and the line art in PDF are compressed in order to make the size of PDF smaller or not.
01042      * @since 3.1
01043      *
01044      * @return  the value of whether make the size of PDF smaller or not
01045      */
01046     long getPdfCompressContentStream() const;
01047 
01048     /**
01049      * Effective when outputting to PDF.
01050      * Specifies whether the text and the line art in PDF are compressed in order to make the size of PDF smaller or not.
01051      * @since 3.1
01052      *
01053      * @param   newVal  If the value is 'true' is specified, make the PDF compress
01054      */
01055     void setPdfCompressContentStream(long newVal);
01056 
01057     /**
01058      * Effective when outputting to PDF.
01059      * Gets the value of how to transform external link specified by the relative address in the PDF link.
01060      * @since 3.1
01061      *
01062      * @return  the value of how to transform external link
01063      */
01064     long getPdfUseLaunchForRelativeURI() const;
01065 
01066     /**
01067      * Effective when outputting to PDF.
01068      * Specifies whether the external link specified by the relative address is transformed into 'Open the file' or into 'World Wide Web link' in the PDF link properties.
01069      * @since 3.1
01070      *
01071      * @param   newVal  If nonezero is specified, it is transformed to 'Open the file'. If zero is specified, it is transformed to 'World Wide Web link'
01072      */
01073     void setPdfUseLaunchForRelativeURI(long newVal);
01074 
01075     /**
01076      * Effective when outputting to PDF.
01077      * Gets the value of how to convert the RGB color space (DebiceRGB) to DeviceGray.
01078      * @since 3.1
01079      *
01080      * <table border="0" cellspacing="0" cellpadding="0">
01081      *  <tr><td>RGBCONV_NONE    </td><td>= 0 No Conversion</td></tr>
01082      *  <tr><td>RGBCONV_BLACK   </td><td>= 1 Black to DeviceGray</td></tr>
01083      *  <tr><td>RGBCONV_GRAY    </td><td>= 2 Gray to DeviceGray</td></tr>
01084      *  <tr><td>RGBCONV_ALL     </td><td>= 3 All RGB to DeviceGray</td></tr>
01085      * </table>
01086      *
01087      * @return  the value of how to convert
01088      */
01089     XfoPDFRGBCONVERSION getPdfRGBConversion() const;
01090 
01091     /**
01092      * Effective when outputting to PDF.
01093      * Specifies how to convert the RGB color space (DeviceRGB) to DeviceGray.
01094      * @since 3.1
01095      *
01096      * <table border="0" cellspacing="0" cellpadding="0">
01097      *  <tr><td>RGBCONV_NONE    </td><td>= 0 No Conversion</td></tr>
01098      *  <tr><td>RGBCONV_BLACK   </td><td>= 1 Black to DeviceGray</td></tr>
01099      *  <tr><td>RGBCONV_GRAY    </td><td>= 2 Gray to DeviceGray</td></tr>
01100      *  <tr><td>RGBCONV_ALL     </td><td>= 3 All RGB to DeviceGray</td></tr>
01101      * </table>
01102      *
01103      * @param   newVal  the value of how to convert
01104      */
01105     void setPdfRGBConversion(XfoPDFRGBCONVERSION newVal);
01106 
01107 #if defined(_DOXYGEN) || (defined(_MSC_VER) && defined(_WIN32))
01108 
01109     /**
01110      * Effective when outputting to PDF.
01111      * Gets the value of the rasterised-resolution of the transformed raster images.
01112      * @since 3.1
01113      *
01114      * @return  Rasterised-resolution
01115      */
01116     int getPdfRasterizeResolution() const;
01117 
01118     /**
01119      * Effective when outputting to PDF.
01120      * Specifies the value of the rasterised-resolution of the transformed raster images in the range from 70 to 500(dpi). SVG, EMF and WMF are drawn in PDF as vectors without being transformed to raster images.
01121      * This setting is effective only with Windows version.
01122      * @since 3.1
01123      *
01124      * @param   newVal  Rasterised-resolution (70 to 500)
01125      */
01126     void setPdfRasterizeResolution(int newVal);
01127 
01128 #endif
01129 
01130     /**
01131      * Effective when outputting to PDF.
01132      * Gets the value of whether to output linearize PDF or not.
01133      * @since 3.3
01134      *
01135      * @return  the value of whether to output linearize pdf or not.
01136      */
01137     long getPdfLinearize() const;
01138 
01139     /**
01140      * Effective when outputting to PDF.
01141      * Specifies whether to output linearize PDF or not.
01142      * @since 3.3
01143      *
01144      * @param   newVal  If the value is 'true' is specified, output linearlize PDF.
01145      */
01146     void setPdfLinearize(long newVal);
01147 
01148 #if defined(_DOXYGEN) || (defined(_MSC_VER) && defined(_WIN32))
01149 
01150     /**
01151      * Effective when outputting to PDF.
01152      * Gets the value of whether to sign a signature to PDF or not.
01153      * @since 4.2
01154      *
01155      * @return  the value of whether to sign a signature to PDF or not.
01156      */
01157     long getPdfSignature() const;
01158 
01159     /**
01160      * Effective when outputting to PDF.
01161      * Specifies whether to sign a signature to PDF or not.
01162      * @since 4.2
01163      *
01164      * @param   newVal  If the value is 'true' is specified, sign a signature to PDF.
01165      */
01166     void setPdfSignature(long newVal);
01167 
01168     /**
01169      * Effective when outputting to PDF.
01170      * Gets the value of a signature information name.
01171      * @since 4.2
01172      *
01173      * @return  the value of a signature information name.
01174      */
01175     char* getPdfSignatureName(char* pVal, int size) const;
01176 
01177     /**
01178      * Effective when outputting to PDF.
01179      * Gets the value of a signature information name.
01180      * @since 4.2
01181      *
01182      * @return  the value of a signature information name.
01183      */
01184     wchar_t* getPdfSignatureNameW(wchar_t* pVal, int size) const;
01185 
01186     /**
01187      * Effective when outputting to PDF.
01188      * Sets a signature information name.
01189      * @since 4.2
01190      *
01191      * @param   newVal  the value of a signature information name.
01192      */
01193     void setPdfSignatureName(const char* newVal);
01194 
01195     /**
01196      * Effective when outputting to PDF.
01197      * Sets a signature information name.
01198      * @since 4.2
01199      *
01200      * @param   newVal  the value of a signature information name.
01201      */
01202     void setPdfSignatureNameW(const wchar_t* newVal);
01203 
01204     /**
01205      * Effective when outputting to PDF.
01206      * Gets the value of a certificate information name.
01207      * @since 4.2
01208      *
01209      * @return  the value of a certificate information name.
01210      */
01211     char* getPdfCertificateName(char* pVal, int size) const;
01212 
01213     /**
01214      * Effective when outputting to PDF.
01215      * Gets the value of a certificate information name.
01216      * @since 4.2
01217      *
01218      * @return  the value of a certificate information name.
01219      */
01220     wchar_t* getPdfCertificateNameW(wchar_t* pVal, int size) const;
01221 
01222     /**
01223      * Effective when outputting to PDF.
01224      * Sets a certificate information name.
01225      * @since 4.2
01226      *
01227      * @param   newVal  the value of a certificate information name.
01228      */
01229     void setPdfCertificateName(const char* newVal);
01230 
01231     /**
01232      * Effective when outputting to PDF.
01233      * Sets a certificate information name.
01234      * @since 4.2
01235      *
01236      * @param   newVal  the value of a certificate information name.
01237      */
01238     void setPdfCertificateNameW(const wchar_t* newVal);
01239 
01240 #endif
01241 
01242     /**
01243      * Effective when outputting to PDF.
01244      * Gets the value of whether to embed all embeddable fonts
01245      * @since 3.3
01246      *
01247      * <table border="0" cellspacing="0" cellpadding="0">
01248      *  <tr><td>EMBALLFONT_PART </td><td>= 0 Specified fonts </td></tr>
01249      *  <tr><td>EMBALLFONT_ALL  </td><td>= 1 All fonts except Base14 fonts</td></tr>
01250      *  <tr><td>EMBALLFONT_BASE14   </td><td>= 2 All fonts</td></tr>
01251      * </table>
01252      *
01253      * @return  the value of whether to embed all embeddable fonts
01254      */
01255     XfoEMBEDALLFONT getPdfEmbedAllFontsEx(void) const;
01256 
01257     /**
01258      * Effective when outputting to PDF.
01259      * Specifies whether to embed the all outline data of fonts in PDF or not with one of the following values, which are True type fonts and Type1 Fonts and are embeddable in the formatted result.
01260      * @since 3.3
01261      *
01262      * <table border="0" cellspacing="0" cellpadding="0">
01263      *  <tr><td>EMBALLFONT_PART </td><td>= 0 Specified fonts </td></tr>
01264      *  <tr><td>EMBALLFONT_ALL  </td><td>= 1 All fonts except Base14 fonts</td></tr>
01265      *  <tr><td>EMBALLFONT_BASE14   </td><td>= 2 All fonts</td></tr>
01266      * </table>
01267      *
01268      *If the value is EMBALLFONT_PART, only fonts specified in setPdfEmbedFonts are embedded. If the value is EMBALLFONT_ALL, all fonts that can be embedded except Base 14 fonts will be embedded. If the value is EMBALLFONT_BASE14, all fonts including Base 14 fonts that can be embedded will be embedded.
01269      *
01270      * @param   newVal  the value of whether to embed all embeddable fonts
01271      */
01272     void setPdfEmbedAllFontsEx(XfoEMBEDALLFONT newVal);
01273 
01274     /**
01275      * Effective when outputting to PDF.
01276      * Gets the value of method to downsample the color image
01277      * @since 3.3
01278      *
01279      * @return  the value of method to downsample the color image
01280      */
01281     XfoIMAGEDOWNSAMPLING getPdfImageDownSampling(void) const;
01282 
01283     /**
01284      * Effective when outputting to PDF.
01285      * Specifies the following either of method to downsample the color image that is put into PDF.
01286      * @since 3.3
01287      *
01288      * <table border="0" cellspacing="0" cellpadding="0">
01289      *  <tr><td>IMGDOWNSAMPLING_NONE    </td><td>= 0 No downsampling </td></tr>
01290      *  <tr><td>IMGDOWNSAMPLING_AVERAGE </td><td>= 1 Average downsamplin</td></tr>
01291      *  <tr><td>IMGDOWNSAMPLING_BICUBIC </td><td>= 2 Bicubic downsampling</td></tr>
01292      *  <tr><td>IMGDOWNSAMPLING_SUBSAMPLING </td><td>= 3 Subsampling</td></tr>
01293      * </table>
01294      *
01295      * When the value except IMGDOWNSAMPLING_NONE is specified, the image that has the resolution larger than the one specified by setPdfImageDownSamplingDPI will be downsampled into the resolution specified by setPdfImageDownSamplingTarget.
01296 This is the setting for the color image. Spesify setPdfGrayscaleImageDownSampling for the grayscale image, and setPdfMonochromeImageDownSampling for the monochrome image.
01297      *
01298      * @param   newVal  the value of method to downsample the color image
01299      */
01300     void setPdfImageDownSampling(XfoIMAGEDOWNSAMPLING newVal);
01301 
01302     /**
01303      * Effective when outputting to PDF.
01304      * Gets resolution when the color image is downsampled.
01305      * @since 3.3
01306      *
01307      * @return  the value of resolution.
01308      */
01309     int getPdfImageDownSamplingTarget(void) const;
01310 
01311     /**
01312      * Effective when outputting to PDF.
01313      * Set resolution when the color image is downsampled.
01314      * @since 3.3
01315      *
01316      * @param   newVal  the value of resolution.
01317      */
01318     void setPdfImageDownSamplingTarget(int newVal);
01319 
01320     /**
01321      * Effective when outputting to PDF.
01322      * Gets resolution of the color image which performs a downsampling.
01323      * @since 3.3
01324      *
01325      * @return  the value of resolution.
01326      */
01327     int getPdfImageDownSamplingDPI(void) const;
01328 
01329     /**
01330      * Effective when outputting to PDF.
01331      * Set resolution of the color image which performs a downsampling.
01332      * @since 3.3
01333      *
01334      * @param   newVal  the value of resolution.
01335      */
01336     void setPdfImageDownSamplingDPI(int newVal);
01337 
01338     /**
01339      * Effective when outputting to PDF.
01340      * Gets specification whether to embed to PDF the color profile of the color image that will be embedded to PDF.
01341      * @since 3.3
01342      *
01343      * @return  If nonezero is specified, it is embedded. If zero is specified, it is not embedded.
01344      */
01345     long getPdfPutImageColorProfile(void) const;
01346 
01347     /**
01348      * Effective when outputting to PDF.
01349      * Specifies whether to embed to PDF the color profile of the color image that will be embedded to PDF.
01350      * @since 3.3
01351      *
01352      * @param   newVal  If nonezero is specified, it is embedded. If zero is specified, it is not embedded.
01353      */
01354     void setPdfPutImageColorProfile(long newVal);
01355 
01356     /**
01357      * Effective when outputting to PDF.
01358      * Gets the value of how to compress the grayscale images embedded in PDF.
01359      * @since 3.3
01360      *
01361      * <table border="0" cellspacing="0" cellpadding="0">
01362      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 JPEG or ZLIB compression</td></tr>
01363      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG compression</td></tr>
01364      *  <tr><td>IMGCMPR_ZLIB    </td><td>= 2 ZLIB compression</td></tr>
01365      *  <tr><td>IMGCMPR_JPEG2K  </td><td>= 3 JPEG 2000 compression (PDF1.5 or later)</td></tr>
01366      *  <tr><td>IMGCMPR_KEEPLZW </td><td>= 4 LZW or JPEG or ZLIB compression</td></tr>
01367      *  <tr><td>IMGCMPR_AUTO2K  </td><td>= 5 JPEG 2000 or JPEG or ZLIB compression (PDF1.5 or later)</td></tr>
01368      *  <tr><td>IMGCMPR_KEEPLZW2K</td><td>= 6 LZW or JPEG 2000 or JPEG or ZLIB compression (PDF1.5 or later)</td></tr>
01369      * </table>
01370      *
01371      * @return  the value of how raster graphics are compressed and stored
01372      */
01373     XfoPDFIMAGECOMPRESSION getPdfGrayscaleImageCompression(void) const;
01374 
01375     /**
01376      * Effective when outputting to PDF.
01377      * When the grayscale image format cannot be stored directly in PDF, the image is stored after being transformed into the bit map format which is compatible with PDF. The compression method of the data stored in a PDF file is then specified by one of the following values.<BR>
01378      * When IMGCMPR_AUTO is selected, the process is automatically done and creates the image data according to the setting of setPdfGrayscaleJPEGQuality and setPdfRasterizeResolution. Whichever has the smaller compressed size, JPEG or ZLIB, is selected. <BR>
01379 This is the setting for the grayscale image. Spesify setPdfImageCompression for the color image, and setPdfMonochromeImageCompression for the monochrome image.
01380      * @since 3.3
01381      *
01382      * <table border="0" cellspacing="0" cellpadding="0">
01383      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 JPEG or ZLIB compression</td></tr>
01384      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG compression</td></tr>
01385      *  <tr><td>IMGCMPR_ZLIB    </td><td>= 2 ZLIB compression</td></tr>
01386      *  <tr><td>IMGCMPR_JPEG2K  </td><td>= 3 JPEG 2000 compression (PDF1.5 or later)</td></tr>
01387      *  <tr><td>IMGCMPR_KEEPLZW </td><td>= 4 LZW or JPEG or ZLIB compression</td></tr>
01388      *  <tr><td>IMGCMPR_AUTO2K  </td><td>= 5 JPEG 2000 or JPEG or ZLIB compression (PDF1.5 or later)</td></tr>
01389      *  <tr><td>IMGCMPR_KEEPLZW2K</td><td>= 6 LZW or JPEG 2000 or JPEG or ZLIB compression (PDF1.5 or later)</td></tr>
01390      * </table>
01391      *
01392      * @param   newVal  the value of how raster graphics are compressed and stored
01393      */
01394     void setPdfGrayscaleImageCompression(XfoPDFIMAGECOMPRESSION newVal);
01395 
01396     /**
01397      * Effective when outputting to PDF.
01398      * Gets the value of the quality of JPEG format that is specified by xfo_setPdfGrayscaleImageCompression stored in PDF.
01399      * @since 3.3
01400      *
01401      * @return  the value of the quality of JPEG format
01402      */
01403     int getPdfGrayscaleJPEGQuality(void) const;
01404 
01405     /**
01406      * Effective when outputting to PDF.
01407      * For the grayscale image format that can not be stored directly in PDF, specifies the image quality by the numerical value within the range of 1-100 when IMGCMPR_JPEG is specified by setPdfGrayscaleImageCompression. The quality becomes higher in proportion to the increase in the number; however the file size also becomes larger.<BR>
01408      * CAUTION: It is not for changing the quality of a JPEG format image.<BR>
01409      * This is the setting for the grayscale image. Spesify setPdfJPEGQuality for the color image.
01410      * @since 3.3
01411      *
01412      * @param   newVal  the value of the quality of JPEG format
01413      */
01414     void setPdfGrayscaleJPEGQuality(int newVal);
01415 
01416     /**
01417      * Effective when outputting to PDF.
01418      * Gets the value of method to downsample the grayscale image
01419      * @since 3.3
01420      *
01421      * @return  the value of method to downsample the grayscale image
01422      */
01423     XfoIMAGEDOWNSAMPLING getPdfGrayscaleImageDownSampling(void) const;
01424 
01425     /**
01426      * Effective when outputting to PDF.
01427      * Specifies the following either of method to downsample the grayscale image that is put into PDF.
01428      * @since 3.3
01429      *
01430      * <table border="0" cellspacing="0" cellpadding="0">
01431      *  <tr><td>IMGDOWNSAMPLING_NONE    </td><td>= 0 No downsampling </td></tr>
01432      *  <tr><td>IMGDOWNSAMPLING_AVERAGE </td><td>= 1 Average downsamplin</td></tr>
01433      *  <tr><td>IMGDOWNSAMPLING_BICUBIC </td><td>= 2 Bicubic downsampling</td></tr>
01434      *  <tr><td>IMGDOWNSAMPLING_SUBSAMPLING </td><td>= 3 Subsampling</td></tr>
01435      * </table>
01436      *
01437      * When the value except IMGDOWNSAMPLING_NONE is specified, the image that has the resolution larger than the one specified by setPdfGrayscaleImageDownSamplingDPI will be downsampled into the resolution specified by setPdfGrayscaleImageDownSamplingTarget.
01438 This is the setting for the grayscale image. Spesify setPdfImageDownSampling for the color image, and setPdfMonochromeImageDownSampling for the monochrome image.
01439      *
01440      * @param   newVal  the value of method to downsample the grayscale image
01441      */
01442     void setPdfGrayscaleImageDownSampling(XfoIMAGEDOWNSAMPLING newVal);
01443 
01444     /**
01445      * Effective when outputting to PDF.
01446      * Gets resolution when the grayscale image is downsampled.
01447      * @since 3.3
01448      *
01449      * @return  the value of resolution.
01450      */
01451     int getPdfGrayscaleImageDownSamplingTarget(void) const;
01452 
01453     /**
01454      * Effective when outputting to PDF.
01455      * Set resolution when the grayscale image is downsampled.
01456      * @since 3.3
01457      *
01458      * @param   newVal  the value of resolution.
01459      */
01460     void setPdfGrayscaleImageDownSamplingTarget(int newVal);
01461 
01462     /**
01463      * Effective when outputting to PDF.
01464      * Gets resolution of the grayscale image which performs a downsampling.
01465      * @since 3.3
01466      *
01467      * @return  the value of resolution.
01468      */
01469     int getPdfGrayscaleImageDownSamplingDPI(void) const;
01470 
01471     /**
01472      * Effective when outputting to PDF.
01473      * Set resolution of the grayscale image which performs a downsampling.
01474      * @since 3.3
01475      *
01476      * @param   newVal  the value of resolution.
01477      */
01478     void setPdfGrayscaleImageDownSamplingDPI(int newVal);
01479 
01480     /**
01481      * Effective when outputting to PDF.
01482      * Gets the value of how to compress the monochrome images embedded in PDF.
01483      * @since 3.3
01484      *
01485      * <table border="0" cellspacing="0" cellpadding="0">
01486      *  <tr><td>MONOCMPR_CCITT4     </td><td>= 0 CCITTFaxDecode group 4 filter,default value</td></tr>
01487      *  <tr><td>MONOCMPR_CCITT3     </td><td>= 1 CCITTFaxDecode group 3 filter</td></tr>
01488      *  <tr><td>MONOCMPR_RUNLENGTH  </td><td>= 2 RunLengthDecode filter</td></tr>
01489      *  <tr><td>MONOCMPR_ZLIB       </td><td>= 3 FlateDecode filter</td></tr>
01490      *  <tr><td>MONOCMPR_OFF        </td><td>= 4 no filter</td></tr>
01491      * </table>
01492      *
01493      * @return  the value of how raster graphics are compressed and stored
01494      */
01495     XfoMONOCHROMECOMPRESSION getPdfMonochromeImageCompression(void) const;
01496 
01497     /**
01498      * Effective when outputting to PDF.
01499      * When the monochrome image format cannot be stored directly in PDF, the image is stored after being transformed into the bit map format which is compatible with PDF. The compression method of the data stored in a PDF file is then specified by one of the following values.<BR>
01500 This is the setting for the monochrome image. Spesify setPdfGrayscaleImageCompression for the grayscale image, and setPdfImageCompression for the color image.
01501      * @since 3.3
01502      *
01503      * <table border="0" cellspacing="0" cellpadding="0">
01504      *  <tr><td>MONOCMPR_CCITT4     </td><td>= 0 CCITTFaxDecode group 4 filter,default value</td></tr>
01505      *  <tr><td>MONOCMPR_CCITT3     </td><td>= 1 CCITTFaxDecode group 3 filter</td></tr>
01506      *  <tr><td>MONOCMPR_RUNLENGTH  </td><td>= 2 RunLengthDecode filter</td></tr>
01507      *  <tr><td>MONOCMPR_ZLIB       </td><td>= 3 FlateDecode filter</td></tr>
01508      *  <tr><td>MONOCMPR_OFF        </td><td>= 4 no filter</td></tr>
01509      * </table>
01510      *
01511      * @param   newVal  the value of how raster graphics are compressed and stored
01512      */
01513     void setPdfMonochromeImageCompression(XfoMONOCHROMECOMPRESSION newVal);
01514 
01515     /**
01516      * Effective when outputting to PDF.
01517      * Gets the value of method to downsample the monochrome image
01518      * @since 3.3
01519      *
01520      * @return  the value of method to downsample the monochrome image
01521      */
01522     XfoIMAGEDOWNSAMPLING getPdfMonochromeImageDownSampling(void) const;
01523 
01524     /**
01525      * Effective when outputting to PDF.
01526      * Specifies the following either of method to downsample the monochrome image that is put into PDF.
01527      * @since 3.3
01528      *
01529      * <table border="0" cellspacing="0" cellpadding="0">
01530      *  <tr><td>IMGDOWNSAMPLING_NONE    </td><td>= 0 No downsampling </td></tr>
01531      *  <tr><td>IMGDOWNSAMPLING_AVERAGE </td><td>= 1 Average downsamplin</td></tr>
01532      *  <tr><td>IMGDOWNSAMPLING_BICUBIC </td><td>= 2 Bicubic downsampling</td></tr>
01533      *  <tr><td>IMGDOWNSAMPLING_SUBSAMPLING </td><td>= 3 Subsampling</td></tr>
01534      * </table>
01535      *
01536      * When the value except IMGDOWNSAMPLING_NONE is specified, the image that has the resolution larger than the one specified by setPdfMonochromeImageDownSamplingDPI will be downsampled into the resolution specified by setPdfMonochromeImageDownSamplingTarget.
01537 This is the setting for the monochrome image. Spesify setPdfImageDownSampling for the color image, and setPdfGrayscaleImageDownSampling for the grayscale image.
01538      *
01539      * @param   newVal  the value of method to downsample the monochrome image
01540      */
01541     void setPdfMonochromeImageDownSampling(XfoIMAGEDOWNSAMPLING newVal);
01542 
01543     /**
01544      * Effective when outputting to PDF.
01545      * Gets resolution when the monochrome image is downsampled.
01546      * @since 3.3
01547      *
01548      * @return  the value of resolution.
01549      */
01550     int getPdfMonochromeImageDownSamplingTarget(void) const;
01551 
01552     /**
01553      * Effective when outputting to PDF.
01554      * Set resolution when the monochrome image is downsampled.
01555      * @since 3.3
01556      *
01557      * @param   newVal  the value of resolution.
01558      */
01559     void setPdfMonochromeImageDownSamplingTarget(int newVal);
01560 
01561     /**
01562      * Effective when outputting to PDF.
01563      * Gets resolution of the monochrome image which performs a downsampling.
01564      * @since 3.3
01565      *
01566      * @return  the value of resolution.
01567      */
01568     int getPdfMonochromeImageDownSamplingDPI(void) const;
01569 
01570     /**
01571      * Effective when outputting to PDF.
01572      * Set resolution of the monochrome image which performs a downsampling.
01573      * @since 3.3
01574      *
01575      * @param   newVal  the value of resolution.
01576      */
01577     void setPdfMonochromeImageDownSamplingDPI(int newVal);
01578 
01579     /**
01580      * Gets the specification of two pass format.
01581      * @since 4.1
01582      *
01583      * @return  the specification of two pass format.
01584      */
01585     long getTwoPassFormatting() const;
01586 
01587     /**
01588      * Set the specification of two pass format.
01589      * @since 4.1
01590      *
01591      * @param   newVal   the specification of two pass format.
01592      */
01593     void setTwoPassFormatting(long newVal);
01594 
01595     /**
01596      * Effective when outputting to PDF.
01597      * Gets the value of whether to output Tagged PDF or not.
01598      * @since 4.0
01599      *
01600      * @return  the value of whether to output Tagged pdf or not.
01601      */
01602     long getPdfTag() const;
01603 
01604     /**
01605      * Effective when outputting to PDF.
01606      * Generates Tagged PDF. Ignored if PDF cannot be tagged depending on the PDF versions.
01607      * @since 4.0
01608      *
01609      * @param   newVal  If the value is 'true' is specified, output Tagged PDF.
01610      */
01611     void setPdfTag(long newVal);
01612 
01613     /**
01614      * Effective when outputting to PDF.
01615      * Gets the width of PDF to output.
01616      * @since 4.0
01617      *
01618      * @param   pVal        Pointer to the buffer that will receive the width of PDF. If the string is as long or longer than the buffer,
01619      *          the string is truncated and terminated with a NULL character.
01620      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01621      * @return  Returns the 'pVal'.
01622      */
01623     char* getPdfOutputWidth(char* pVal, int size) const;
01624 
01625     /**
01626      * Effective when outputting to PDF.
01627      * Gets the width of PDF to output.
01628      * @since 4.0
01629      *
01630      * @param   pVal        Pointer to the buffer that will receive the width of PDF. If the string is as long or longer than the buffer,
01631      *          the string is truncated and terminated with a NULL character.
01632      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01633      * @return  Returns the 'pVal'.
01634      */
01635     wchar_t* getPdfOutputWidthW(wchar_t* pVal, int size) const;
01636 
01637     /**
01638      * Effective when outputting to PDF.
01639      * Scales the width of PDF to output. A value with a unit or % value can be specified as length.
01640      * @since 4.0
01641      *
01642      * @param   newVal  Pointer to a null-terminated string to be used as the width of PDF to output.
01643      */
01644     void setPdfOutputWidth(const char* newVal);
01645 
01646     /**
01647      * Effective when outputting to PDF.
01648      * Scales the width of PDF to output. A value with a unit or % value can be specified as length.
01649      * @since 4.0
01650      *
01651      * @param   newVal  Pointer to a null-terminated string to be used as the width of PDF to output.
01652      */
01653     void setPdfOutputWidthW(const wchar_t* newVal);
01654 
01655     /**
01656      * Effective when outputting to PDF.
01657      * Gets the height of PDF to output.
01658      * @since 4.0
01659      *
01660      * @param   pVal        Pointer to the buffer that will receive the height of PDF. If the string is as long or longer than the buffer,
01661      *          the string is truncated and terminated with a NULL character.
01662      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01663      * @return  Returns the 'pVal'.
01664      */
01665     char* getPdfOutputHeight(char* pVal, int size) const;
01666 
01667     /**
01668      * Effective when outputting to PDF.
01669      * Gets the height of PDF to output.
01670      * @since 4.0
01671      *
01672      * @param   pVal        Pointer to the buffer that will receive the height of PDF. If the string is as long or longer than the buffer,
01673      *          the string is truncated and terminated with a NULL character.
01674      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01675      * @return  Returns the 'pVal'.
01676      */
01677     wchar_t* getPdfOutputHeightW(wchar_t* pVal, int size) const;
01678 
01679     /**
01680      * Effective when outputting to PDF.
01681      * Scales the height of PDF to output. A value with a unit or % value can be specified as length.
01682      * @since 4.0
01683      *
01684      * @param   newVal  Pointer to a null-terminated string to be used as the width of PDF to output.
01685      */
01686     void setPdfOutputHeight(const char* newVal);
01687 
01688     /**
01689      * Effective when outputting to PDF.
01690      * Scales the height of PDF to output. A value with a unit or % value can be specified as length.
01691      * @since 4.0
01692      *
01693      * @param   newVal  Pointer to a null-terminated string to be used as the width of PDF to output.
01694      */
01695     void setPdfOutputHeightW(const wchar_t* newVal);
01696 
01697     /**
01698     * Specifies the scaling ratio of the PDF to output.
01699     * A value with a unit or % value can be specified as length.
01700     * Effective when outputting to PDF.
01701     *
01702     * @param    newVal      the scaling ratio of the PDF
01703     */
01704     void setPdfOutputScale(const char* newVal);
01705 
01706     /**
01707     * Specifies the scaling ratio of the PDF to output.
01708     * A value with a unit or % value can be specified as length.
01709     * Effective when outputting to PDF.
01710     *
01711     * @param    newVal      the scaling ratio of the PDF
01712     */
01713 #if defined(_NATIVE_WCHAR_T_DEFINED)
01714     void setPdfOutputScaleW(const unsigned short* newVal);
01715 #endif
01716     void setPdfOutputScaleW(const wchar_t* newVal);
01717 
01718     /**
01719      * Effective when outputting to PDF.
01720      * Gets the value of whether to issue error or not when PDF/X is generating.
01721      * @since 4.0
01722      *
01723      * @return  the value of whether to issue error.
01724      */
01725     long getPdfErrorOnPDFXFault();
01726 
01727     /**
01728      * Effective when outputting to PDF.
01729      * An error is not issued when PDF/X is generating.
01730      * @since 4.0
01731      *
01732      * @param   newVal  If the value is 'true' is specified, no error is issued.
01733      */
01734     void setPdfErrorOnPDFXFault(long newVal);
01735 
01736     /**
01737      * Effective when outputting to PDF.
01738      * Output reverse page or not.
01739      * @since 5.2
01740      *
01741      * @return  the value of whether to output reverse page or not.
01742      */
01743     bool getPdfReversePage() const;
01744 
01745     /**
01746      * Effective when outputting to PDF.
01747      * Output reverse page or not.
01748      * @since 5.2
01749      *
01750      * @param   newVal  If the value is 'true' is reverse page.
01751      */
01752     void setPdfReversePage(bool newVal);
01753 
01754     /**
01755      * Effective when outputting to PDF.
01756      * Import 3D annotations or not.
01757      * @since 5.2
01758      *
01759      * @return  the value of whether to import 3D annotations or not.
01760      */
01761     bool getPdfImport3DAnnotation() const;
01762 
01763     /**
01764      * Effective when outputting to PDF.
01765      * Import 3D annotations or not.
01766      * @since 5.2
01767      *
01768      * @param   newVal  If the value is 'true' is import 3D annotations.
01769      */
01770     void setPdfImport3DAnnotation(bool newVal);
01771 #if !defined(_DOXYGEN)
01772     /**
01773      * Effective when outputting to PDF.
01774      * Convert image color space or not.
01775      * @since 5.2
01776      *
01777      * @return  the value of whether to convert image color space or not.
01778      */
01779     bool getPdfConvertImageColorSpace() const;
01780 
01781     /**
01782      * Effective when outputting to PDF.
01783      * Convert image color space or not.
01784      * @since 5.2
01785      *
01786      * @param   newVal  If the value is 'true' is convert image color space.
01787      */
01788     void setPdfConvertImageColorSpace(bool newVal);
01789 #endif
01790     /**
01791      * Effective when outputting to SVG.
01792      * Get the version of SVG.
01793      * @since 3.3
01794      *
01795      * @return  the version of SVG.
01796      */
01797     XfoSVGVERSION   getSvgVersion() const;
01798 
01799     /**
01800      * Effective when outputting to SVG.
01801      * Enables specifying whether the version of SVG is 1.1, Basic or Tiny.
01802      * @since 3.3
01803      *
01804      * @param   newVal  Specifies the version of SVG.
01805      */
01806     void setSvgVersion(XfoSVGVERSION newVal);
01807 
01808     /**
01809      * Effective when outputting to SVG.
01810      * Gets the setting indicating whether to compress the outputted SVG into gzip format or not.
01811      * @since 3.3
01812      *
01813      * @return  whether gzip compression or not.
01814      */
01815     long getSvgGzipCompression() const;
01816 
01817     /**
01818      * Effective when outputting to SVG.
01819      * Specifies whether to compress the outputted SVG into gzip format or not.
01820      * @since 3.3
01821      *
01822      * @param   newVal      If the value is 'true' is specified, enables to compress data into gzip format.
01823      */
01824     void setSvgGzipCompression(long newVal);
01825 
01826     /**
01827      * Effective when outputting to SVG.
01828      * Gets the setting indicating whether to embed fonts in the outputted SVG.
01829      * @since 3.3
01830      *
01831      * @return  whether embeds fonts or not.
01832      */
01833     long getSvgEmbedAllFonts() const;
01834 
01835     /**
01836      * Effective when outputting to SVG.
01837      * Specifies whether to embed fonts in the outputted SVG.
01838      * @since 3.3
01839      *
01840      * @param   newVal      If the value is 'true' is specified, embeds fonts.
01841      */
01842     void setSvgEmbedAllFonts(long newVal);
01843 
01844     /**
01845      * Effective when outputting to SVG.
01846      * Gets the format for naming files when the outputted SVG becomes multiple.
01847      * @since 3.3
01848      *
01849      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer, the string is truncated and terminated with a NULL character.
01850      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01851      * @return  Returns the 'pVal'.
01852      */
01853     char* getSvgFormat(char* pVal, int size) const;
01854 
01855     /**
01856      * Effective when outputting to SVG.
01857      * Gets the format for naming files when the outputted SVG becomes multiple.
01858      * @since 3.3
01859      *
01860      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer, the string is truncated and terminated with a NULL character.
01861      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01862      * @return  Returns the 'pVal'.
01863      */
01864     wchar_t* getSvgFormatW(wchar_t* pVal, int size) const;
01865 
01866     /**
01867      * Effective when outputting to SVG.
01868      * Specifies the format for naming files when the outputted SVG becomes multiple.
01869      * @since 3.3
01870      *
01871      * @param   newVal  Pointer to a null-terminated string to be used as the SVG file name format.
01872      */
01873     void setSvgFormat(const char* newVal);
01874 
01875     /**
01876      * Effective when outputting to SVG.
01877      * Specifies the format for naming files when the outputted SVG becomes multiple.
01878      * @since 3.3
01879      *
01880      * @param   newVal  Pointer to a null-terminated string to be used as the SVG file name format.
01881      */
01882     void setSvgFormatW(const wchar_t* newVal);
01883 
01884     /**
01885      * Effective when outputting to SVG.
01886      * Gets the font specified to be embedded in SVG.
01887      * @since 3.3
01888      *
01889      * @param   pVal        Pointer to the buffer that will receive the fontnames. If the string is as long or longer than the buffer,
01890      *          the string is truncated and terminated with a NULL character.
01891      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01892      * @return  Returns the 'pVal'.
01893      */
01894     char* getSvgEmbedFonts(char* pVal, int size) const;
01895 
01896     /**
01897      * Effective when outputting to SVG.
01898      * Gets the font specified to be embedded in SVG.
01899      * @since 3.3
01900      *
01901      * @param   pVal        Pointer to the buffer that will receive the fontnames. If the string is as long or longer than the buffer,
01902      *          the string is truncated and terminated with a NULL character.
01903      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01904      * @return  Returns the 'pVal'.
01905      */
01906     wchar_t* getSvgEmbedFontsW(wchar_t* pVal, int size) const;
01907 
01908     /**
01909      * Effective when outputting to SVG.
01910      * Embeds the specified font in SVG to create. If you want to specify plural fonts, put commas between fonts.
01911      * @since 3.3
01912      *
01913      * @param   newVal  fonts specified to embed
01914      */
01915     void setSvgEmbedFonts(const char* newVal);
01916 
01917     /**
01918      * Effective when outputting to SVG.
01919      * Embeds the specified font in SVG to create. If you want to specify plural fonts, put commas between fonts.
01920      * @since 3.3
01921      *
01922      * @param   newVal  fonts specified to embed
01923      */
01924     void setSvgEmbedFontsW(const wchar_t* newVal);
01925 
01926     /**
01927      * Effective when outputting to SVG.
01928      * Gets the value of whether to issues the error when failing to embed fonts.
01929      * @since 3.3
01930      *
01931      * @return  the value of whether to issues the error
01932      */
01933     long getSvgErrorOnEmbedFault() const;
01934 
01935     /**
01936      * Effective when outputting to SVG.
01937      * An error is issued in case of failing to embed fonts.
01938      * @since 3.3
01939      *
01940      * @param   newVal  If the value is 'true' is specified, an error is issued.
01941      */
01942     void setSvgErrorOnEmbedFault(long newVal);
01943 
01944     /**
01945      * Effective when outputting to SVG.
01946      * Gets the value of how to compress the images embedded in SVG.
01947      * @since 3.3
01948      *
01949      * <table border="0" cellspacing="0" cellpadding="0">
01950      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 Auto conversion</td></tr>
01951      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG conversion</td></tr>
01952      *  <tr><td>IMGCMPR_PNG     </td><td>= 2 PNG conversion</td></tr>
01953      * </table>
01954      *
01955      * @return  the value of how raster graphics are compressed and stored
01956      */
01957     XfoIMAGECONVERSION getSvgImageConversion() const;
01958 
01959     /**
01960      * Effective when outputting to SVG.
01961      * Selects how to compress the images embedded in SVG to create from the following.
01962      * @since 3.3
01963      *
01964      * <table border="0" cellspacing="0" cellpadding="0">
01965      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 Auto conversion</td></tr>
01966      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG conversion</td></tr>
01967      *  <tr><td>IMGCMPR_PNG     </td><td>= 2 PNG conversion</td></tr>
01968      * </table>
01969      *
01970      * @param   newVal  the value of how raster graphics are compressed and stored
01971      */
01972     void setSvgImageConversion(XfoIMAGECONVERSION newVal);
01973 
01974     /**
01975      * Gets the value of the quality of JPEG format that is specified by setSvgImageConversion() stored in SVG.
01976      * @since 3.3
01977      *
01978      * @return  the value of the quality
01979      */
01980     int getSvgJPEGQuality() const;
01981 
01982     /**
01983      * Effective when outputting to SVG.
01984      * Specifies the quality of the Raster graphics when stored in JPEG format using the range of 1-100.
01985      * The quality becomes higher in proportion to the increase in the number; however the file size also becomes larger.
01986      * The initial value is 80.
01987      * @since 3.3
01988      *
01989      * @param   newVal  JPEG quality (1 to 100)
01990      */
01991     void setSvgJPEGQuality(int newVal);
01992 
01993     /**
01994      * Effective when outputting to SVG.
01995      * Gets specification how to treat the referred image.
01996      * @since 3.3
01997      *
01998      * <table border="0" cellspacing="0" cellpadding="0">
01999      *  <tr><td>IMGPT_EMBED_ALL </td><td>= 0 Embeds all images to SVG.</td></tr>
02000      *  <tr><td>IMGPT_COPY_ALL  </td><td>= 1 Copies all image files to the destination that is specified by setSvgImageCopyPath, and then links.</td></tr>
02001      *  <tr><td>IMGPT_LINK      </td><td>= 2 Links images that have been linked, and embeds the embedded image. However, the raster images other than JPEG and PNG are always embedded.</td></tr>
02002      *  <tr><td>IMGPT_COPY      </td><td>= 3 Copies images that have been linked to the destination that is specified by setSvgImageCopyPath, and links. The embedded image are embedded.</td></tr>
02003      * </table>
02004      *
02005      * @return  specification how to treat the referred image.
02006      */
02007     XfoIMAGEPROCTYPE getSvgImageProcessingType() const;
02008 
02009     /**
02010      * Effective when outputting to SVG.
02011      * Specifies how to treat the referred image.
02012      * @since 3.3
02013      *
02014      * <table border="0" cellspacing="0" cellpadding="0">
02015      *  <tr><td>IMGPT_EMBED_ALL </td><td>= 0 Embeds all images to SVG.</td></tr>
02016      *  <tr><td>IMGPT_COPY_ALL  </td><td>= 1 Copies all image files to the destination that is specified by setSvgImageCopyPath, and then links.</td></tr>
02017      *  <tr><td>IMGPT_LINK      </td><td>= 2 Links images that have been linked, and embeds the embedded image. However, the raster images other than JPEG and PNG are always embedded.</td></tr>
02018      *  <tr><td>IMGPT_COPY      </td><td>= 3 Copies images that have been linked to the destination that is specified by setSvgImageCopyPath, and links. The embedded image are embedded.</td></tr>
02019      * </table>
02020      *
02021      * @param   newVal  specification how to treat the referred image.
02022      */
02023     void setSvgImageProcessingType(XfoIMAGEPROCTYPE newVal);
02024 
02025     /**
02026      * Effective when outputting to SVG.
02027      * Gets the copy destination of image as specifying IMGPT_COPY_ALL or IMGPT_COPY by setSvgImageProcessingType.
02028      * @since 3.3
02029      *
02030      * @param   pVal        Pointer to the buffer that will receive the image copy path. If the string is as long or longer than the buffer,
02031      *          the string is truncated and terminated with a NULL character.
02032      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02033      * @return  Returns the 'pVal'.
02034      */
02035     char* getSvgImageCopyPath(char* pVal, int size) const;
02036 
02037     /**
02038      * Effective when outputting to SVG.
02039      * Specifies the copy destination of image as specifying IMGPT_COPY_ALL or IMGPT_COPY by setSvgImageProcessingType.
02040      * @since 3.3
02041      *
02042      * @param   newVal  Pointer to a null-terminated string to be used as image copy path
02043      */
02044     void setSvgImageCopyPath(const char* newVal);
02045     /**
02046     * Effective when outputting to SVG.
02047     * Gets specification to create the directory if the specified  copy destination of image does not exist.
02048     * @since 7.3
02049     *
02050     * @return   Returns the specification to create the directory if the specified  copy destination of image does not exist.
02051     */
02052     long getSvgCreateImageCopyPath() const;
02053 
02054     /**
02055     * Effective when outputting to SVG.
02056     * Specifies to create the directory if the specified  copy destination of image does not exist.
02057     * @since 7.3
02058     *
02059     * @param    newVal  If the value is 'true' is specified, create the directory if the specified  copy destination of image does not exist.
02060     */
02061     void setSvgCreateImageCopyPath(long newVal);
02062 
02063     /**
02064      * Effective when outputting to SVG.
02065      * Gets the copy destination of image as specifying IMGPT_COPY_ALL or IMGPT_COPY by setSvgImageProcessingType.
02066      * @since 3.3
02067      *
02068      * @param   pVal        Pointer to the buffer that will receive the image copy path. If the string is as long or longer than the buffer,
02069      *          the string is truncated and terminated with a NULL character.
02070      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02071      * @return  Returns the 'pVal'.
02072      */
02073     wchar_t* getSvgImageCopyPathW(wchar_t* pVal, int size) const;
02074 
02075     /**
02076      * Effective when outputting to SVG.
02077      * Specifies the copy destination of image as specifying IMGPT_COPY_ALL or IMGPT_COPY by setSvgImageProcessingType.
02078      * @since 3.3
02079      *
02080      * @param   newVal  Pointer to a null-terminated string to be used as image copy path
02081      */
02082     void setSvgImageCopyPathW(const wchar_t* newVal);
02083 
02084     /**
02085      * Effective when outputting to SVG.
02086      * Gets specification whether to divide into multiple SVG or to output as one SVG when the formatted result extends to multiple pages. <BR>
02087      * @since 3.3
02088      *
02089      * @return  specification whether to divide into multiple SVG or to output as one SVG when the formatted result extends to multiple pages.
02090      */
02091     long getSvgSingleFile() const;
02092 
02093     /**
02094      * Effective when outputting to SVG.
02095      * Specifies whether to divide into multiple SVG or to output as one SVG when the formatted result extends to multiple pages. <BR>
02096      * If the value is true, outputs one SVG. If the value is false, outputs multiple SVG. When multiple SVG is output, the file name is modified by specifying format. <BR>
02097      * Effective only when outputting to the file. It is invalid in the output without the file name like the stream etc.
02098      * @since 3.3
02099      *
02100      * @param   newVal  specification whether to divide into multiple SVG or to output as one SVG when the formatted result extends to multiple pages.
02101      */
02102     void setSvgSingleFile(long newVal);
02103 
02104 #if !defined(_DOXYGEN)
02105     /**
02106      * @deprecated
02107      */
02108     char* getSvgSingleFileMaxHeight(char* pVal, int size) const;
02109 
02110     /**
02111      * @deprecated
02112      */
02113     wchar_t* getSvgSingleFileMaxHeightW(wchar_t* pVal, int size) const;
02114 
02115     /**
02116      * @deprecated
02117      */
02118     void setSvgSingleFileMaxHeight(const char* newVal);
02119 
02120     /**
02121      * @deprecated
02122      */
02123     void setSvgSingleFileMaxHeightW(const wchar_t* newVal);
02124 
02125     /**
02126      * @deprecated
02127      */
02128     int getSvgSingleFileMaxPages() const;
02129 
02130     /**
02131      * @deprecated
02132      */
02133     void setSvgSingleFileMaxPages(int newVal);
02134 
02135     /**
02136      * @deprecated
02137      */
02138     int getSvgImageDownsamplingDPI() const;
02139 
02140     /**
02141      * @deprecated
02142      */
02143     void setSvgImageDownsamplingDPI(int dpi);
02144 
02145     /**
02146      * @deprecated
02147      */
02148     int getSvgImageDownsamplingMethod() const;
02149 
02150     /**
02151      * @deprecated
02152      */
02153     void setSvgImageDownsamplingMethod(int type);
02154 #endif
02155 
02156     /**
02157      * Effective when outputting to SVG.
02158      * Gets specification whether to rename all file name to prefix specified by setSvgImagePrefix, or use original name.
02159      * @since 3.3
02160      *
02161      * @return  specification whether to rename all file name to prefix specified by setSvgImagePrefix, or use original name.
02162      */
02163     long getSvgImageRename() const;
02164 
02165     /**
02166      * Effective when outputting to SVG.
02167      * When images are copied to the directory specified by setSvgImageCopyPath etc. and processed, specifies whether to rename all file name to prefix specified by setSvgImagePrefix, or use original name. When the file name overlaps, sequential number is added. When true is specified, all files are renamed.
02168      * @since 3.3
02169      *
02170      * @param   newVal  specification whether to rename all file name to prefix specified by xfo_setSvgImagePrefix, or use original nam
02171      */
02172     void setSvgImageRename(long newVal);
02173 
02174     /**
02175      * Effective when outputting to SVG.
02176      * Gets the prefix of the file name when images are copied to the directory specified by setSvgImageCopyPath and processed.
02177      * @since 3.3
02178      *
02179      * @param   pVal        Pointer to the buffer that will receive the prefix. If the string is as long or longer than the buffer,
02180      *          the string is truncated and terminated with a NULL character.
02181      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02182      * @return  Returns the 'pVal'.
02183      */
02184     char* getSvgImagePrefix(char* pVal, int size) const;
02185 
02186     /**
02187      * Effective when outputting to SVG.
02188      * When images are copied to the directory specified by setSvgImageCopyPath and processed, specifies the prefix of the file name. The file name will be prefix with sequence numbers. Default is empty character string with only sequential numbers.
02189      * @since 3.3
02190      *
02191      * @param   newVal  the prefix of the file name.
02192      */
02193     void setSvgImagePrefix(const char* newVal);
02194 
02195     /**
02196      * Effective when outputting to SVG.
02197      * Gets the prefix of the file name when images are copied to the directory specified by setSvgImageCopyPath and processed.
02198      * @since 3.3
02199      *
02200      * @param   pVal        Pointer to the buffer that will receive the prefix. If the string is as long or longer than the buffer,
02201      *          the string is truncated and terminated with a NULL character.
02202      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02203      * @return  Returns the 'pVal'.
02204      */
02205     wchar_t* getSvgImagePrefixW(wchar_t* pVal, int size) const;
02206 
02207     /**
02208      * Effective when outputting to SVG.
02209      * When images are copied to the directory specified by setSvgImageCopyPath and processed, specifies the prefix of the file name. The file name will be prefix with sequence numbers. Default is empty character string with only sequential numbers.
02210      * @since 3.3
02211      *
02212      * @param   newVal  the prefix of the file name.
02213      */
02214     void setSvgImagePrefixW(const wchar_t* newVal);
02215 
02216     /**
02217      * Effective when outputting to SVG.
02218      * Gets specification whether to add sequential number to the output SVG even if it has only one-page.
02219      * @since 3.3
02220      *
02221      * @return  specification whether to add sequential number to the output SVG even if it has only one-page.
02222      */
02223     long getSvgSinglePageNumber() const;
02224 
02225     /**
02226      * Effective when outputting to SVG.
02227      * When xfo_setSvgSingleFile = 0 is specified, specifies whether to add sequential number to the output SVG even if it has only one-page. It is not added in case of false.
02228      * @since 3.3
02229      *
02230      * @param   newVal  specification whether to add sequential number to the output SVG even if it has only one-page.
02231      */
02232     void setSvgSinglePageNumber(long newVal);
02233 
02234 
02235 #if defined(_DOXYGEN) || (defined(_MSC_VER) && defined(_WIN32))
02236     /**
02237      * Effective when outputting to SVG.
02238      * Gets the value of the rasterised-resolution of the transformed raster images.
02239      * @since 3.3
02240      *
02241      * @return  Rasterised-resolution
02242      */
02243     int getSvgRasterizeResolution() const;
02244 
02245     /**
02246      * Effective when outputting to SVG.
02247      * Specifies the value of the rasterised-resolution of the transformed raster images in the range from 70 to 500(dpi). SVG, EMF and WMF are drawn in SVG as vectors without being transformed to raster images.
02248      * This setting is effective only with Windows version.
02249      * @since 3.3
02250      *
02251      * @param   newVal  Rasterised-resolution (70 to 500)
02252      */
02253     void setSvgRasterizeResolution(int newVal);
02254 #endif
02255 
02256 
02257 
02258 
02259     /**
02260      * Get the start volume of document to output.
02261      * @since 3.2
02262      *
02263      * @return  start volume of document to output.
02264      */
02265     long getStartVolume() const;
02266 
02267     /**
02268      * Specifies the start volume of document to output.
02269      * If the start volume is omitted or the specified value is 0 or less, the start volume is
02270      * considered from the first volume.
02271      * If the setting is inconsistent, (for example, StartVolume=5 EndVolume=3) an error occurs.
02272      * @since 3.2
02273      *
02274      * @param   newVal  start volume of output.
02275      */
02276     void setStartVolume(long newVal);
02277 
02278     /**
02279      * Get the end volume of document to output.
02280      * @since 3.2
02281      *
02282      * @return  end volume of output.
02283      */
02284     long getEndVolume() const;
02285 
02286     /**
02287      * Specifies the end volume of document to output.
02288      * If the end volume is omitted or the specified value exceeds the actual volume, the end volume
02289      * is considered as the last volume.
02290      * If the setting is inconsistent, (for example, StartVolume=5 EndVolume=3) an error occurs.
02291      * @since 3.2
02292      *
02293      * @param   newVal  end volume of output.
02294      */
02295     void setEndVolume(long newVal);
02296 
02297     /**
02298      * Get multiple volume of PDF output.
02299      * @since 3.2
02300      *
02301      * @return  If zero is returned, multiple volume don't specified.
02302      *          If nonezero is returned, multiple volume specified.
02303      */
02304     long getMultiVolume() const;
02305 
02306     /**
02307      * Specifies multiple volume of PDF output.
02308      * @since 3.2
02309      *
02310      * @param   newVal  Specifies zero or nonzero.
02311      */
02312     void setMultiVolume(long newVal);
02313 
02314     /**
02315      * Gets the number of all the separate volumes when outputting PDF to multiple separate volumes.
02316      * @since 3.2
02317      *
02318      * @return  Returns total volume count.
02319      */
02320     long getTotalVolumeCount() const;
02321 
02322     /**
02323      * Gets the number of the actual separate volumes when outputting PDF to multiple separate volumes.
02324      * @since 3.2
02325      *
02326      * @return  Returns output volume count.
02327      */
02328     long getOutputVolumeCount() const;
02329 
02330     /**
02331      * Gets the split-by-pages setting
02332      * @since 6.1
02333      *
02334      * @return  split-by-pages setting (0:No split 1:Split by each page)
02335      */
02336     int getSplitPages() const;
02337 
02338     /**
02339      * Sets the split-by-pages setting
02340      * @since 6.1
02341      *
02342      * @param   newVal  split-by-pages setting (0:No split 1:Split by each page)
02343      */
02344     void setSplitPages(int newVal);
02345 
02346     /**
02347      * Gets the initial page number.
02348      * @since 6.1
02349      *
02350      * @return  initial page number
02351      */
02352     int getInitialPageNumber() const;
02353 
02354     /**
02355      * Sets the initial page number.
02356      * @since 6.1
02357      *
02358      * @param   newVal  initial page number
02359      */
02360     void setInitialPageNumber(int newVal);
02361 
02362     /**
02363      * Gets the initial volume number.
02364      * @since 6.1
02365      *
02366      * @return  initial volume number
02367      */
02368     int getInitialVolumeNumber() const;
02369 
02370     /**
02371      * Sets the initial volume number.
02372      * @since 6.1
02373      *
02374      * @param   newVal  initial volume number
02375      */
02376     void setInitialVolumeNumber(int newVal);
02377 
02378     /**
02379      * Gets the partial volume mode.
02380      * @since 6.1
02381      *
02382      * @return  partial volume mode
02383      */
02384     bool getPartialVolume() const;
02385 
02386     /**
02387      * Sets the partial volume mode.
02388      * @since 6.1
02389      *
02390      * @param   newVal  partial volume mode
02391      */
02392     void setPartialVolume(bool newVal);
02393 
02394     /**
02395      * Get the error level to abort formatting process.
02396      *
02397      * @return  Returns the error level.
02398      */
02399     XfoIfErrorLevel getExitLevel() const;
02400 
02401     /**
02402     * Error level to abort formatting process. Antenna House Formatter will stop formatting when the detected
02403      * error level is equal to ExitLevel property or higher. The default value is 2 (Warning).
02404      * Thus if an error occurred and error level is 2 (Warning) or higher, formatting process will be
02405      * aborted. Please use the value from 1 to 4. When the value of 5 or more specified, it is considered
02406      * to be the value of 4. If a error-level:4 (fatal error) occurs, the formatting process will be
02407      * aborted unconditionally.
02408      * BTW : An error is not displayed no matter what value may be specified to be this property.
02409      *
02410      * <table border="0" cellspacing="0" cellpadding="0">
02411      *  <tr><td>ELVL_INFORMATION    </td><td>= 1 Information</td></tr>
02412      *  <tr><td>ELVL_WARNING        </td><td>= 2 Warning</td></tr>
02413      *  <tr><td>ELVL_RECOVERABLE    </td><td>= 3 Recoveable Error</td></tr>
02414      *  <tr><td>ELVL_FATAL          </td><td>= 4 Fatal Error</td></tr>
02415      * </table>
02416      *
02417      * @param   newVal  error level to abort formatting process.
02418      */
02419     void setExitLevel(XfoIfErrorLevel newVal);
02420 
02421     /**
02422      * Returns the error level of the error that occurred during the formatting process.
02423      *
02424      * <table border="0" cellspacing="0" cellpadding="0">
02425      *  <tr><td>ELVL_INFORMATION    </td><td>= 1 Information</td></tr>
02426      *  <tr><td>ELVL_WARNING        </td><td>= 2 Warning</td></tr>
02427      *  <tr><td>ELVL_RECOVERABLE    </td><td>= 3 Recoveable Error</td></tr>
02428      *  <tr><td>ELVL_FATAL          </td><td>= 4 Fatal Error</td></tr>
02429      * </table>
02430      *
02431      * @return  Returns the error level.
02432      */
02433     XfoIfErrorLevel getErrorLevel() const;
02434 
02435     /**
02436      * Returns the error code of the error that occurred during the formatting process.
02437      * Zero means no error. Non-zero indicates any error occurred.
02438      *
02439      * @return  Returns the error code.
02440      */
02441     XfoIfErrorCode getErrorCode() const;
02442 
02443     /**
02444      * Returns the error message of the error that occurred during the formatting process.
02445      *
02446      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer, the string is truncated and terminated with a NULL character.
02447      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02448      * @return  Returns the 'pVal'.
02449      */
02450     char* getErrorMessage(char* pVal, int size) const;
02451     /**
02452      * Returns the error message of the error that occurred during the formatting process.
02453      *
02454      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer, the string is truncated and terminated with a NULL character.
02455      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02456      * @return  Returns the 'pVal'.
02457      */
02458     wchar_t* getErrorMessageW(wchar_t* pVal, int size) const;
02459 
02460     /**
02461      * Sets the substitution of font name. This substitution acts on the font names existing in FO.
02462      * The font name 'fontName' is replaced to 'aliasName'.
02463      *
02464      * @param   src     Specifies the font name which is replaced.
02465      * @param   dst     Specifies the aliasName.
02466      */
02467     void setFontAlias(const char* src, const char* dst);
02468     /**
02469      * Sets the substitution of font name. This substitution acts on the font names existing in FO.
02470      * The font name 'fontName' is replaced to 'aliasName'.
02471      *
02472      * @param   src     Specifies the font name which is replaced.
02473      * @param   dst     Specifies the aliasName.
02474      */
02475     void setFontAliasW(const wchar_t* src, const wchar_t* dst);
02476 
02477     /**
02478      * Clear all substitutions of font name.
02479      *
02480      */
02481     void clearFontAlias();
02482 
02483     /**
02484      * Erase the substitution of font name 'fontName'.
02485      *
02486      * @param   src Specifies the font name which is replaced.
02487      */
02488     void eraseFontAlias(const char* src);
02489     /**
02490      * Erase the substitution of font name 'fontName'.
02491      *
02492      * @param   src Specifies the font name which is replaced.
02493      */
02494     void eraseFontAliasW(const wchar_t* src);
02495 
02496     /**
02497      * Execute formatting and output to a PDF specified in OutputFilePath or printer specified in PrinterName.
02498      *
02499      * @return  Returns the error code. Zero means no error. Non-zero indicates any error occurred.
02500      */
02501     XfoIfErrorCode execute(bool bNoThrow=false);
02502 
02503     /**
02504      * Executes the formatting of XSL-FO document specified for inputStream, and outputs it to outputStream in the output form specified for setPrinterName.
02505      * @since 3.3
02506      *
02507      * @param   src Specifies XSL-FO document.
02508      * @param   out the output destination of the formatting result.
02509      */
02510     void render(std::istream& src, std::ostream& out);
02511 
02512     /**
02513      * Initialize formatting engine.
02514      *
02515      */
02516     void clear();
02517 
02518     /**
02519      * Set parameter name and value for xsl:param.
02520      *
02521      * @param   paramName name.
02522      * @param   value   parameter value.
02523      */
02524     void setXSLTParam(const char* paramName, const char* value);
02525     /**
02526      * Set parameter name and value for xsl:param.
02527      *
02528      * @param   paramName name.
02529      * @param   value   parameter value.
02530      */
02531     void setXSLTParamW(const wchar_t* paramName, const wchar_t* value);
02532 
02533     /**
02534      * Clear all parameter name and value for xsl:param.
02535      *
02536      */
02537     void clearXSLTParam();
02538 
02539     /**
02540      * Register the MessageListener interface to the instance of implemented class
02541      * The error that occurred during the formatting process can be received as the event.
02542      *
02543      * @param   listener Pointer of the MessageListener instance.
02544      */
02545     void setMessageListener(MessageListener* listener);
02546 
02547     /**
02548      * Register the FormatPageListener interface to the instance of implemented class
02549      * The page number that formatted during the formatting process can be received as the event.
02550      *
02551      * @param   listener Pointer of the FormatPageListener instance.
02552      */
02553     void setFormatPageListener(FormatPageListener* listener);
02554 
02555     /**
02556      * Get the error output type.
02557      *
02558      * @return  Error output type.
02559      */
02560     XfoErrorStreamType getErrorStreamType() const;
02561 
02562     /**
02563      * Set the error output type.
02564      *
02565      * @param   type        Error output type.
02566      *  <table border="0" cellspacing="0" cellpadding="0">
02567      *  <tr><td>OST_NONE    </td><td>: No error output</td></tr>
02568      *  <tr><td>OST_STDOUT  </td><td>: Error output to stdout</td></tr>
02569      *  <tr><td>OST_STDERR  </td><td>: Error output to stderr</td></tr>
02570      *  </table>
02571      */
02572     void setErrorStreamType(XfoErrorStreamType type);
02573 
02574     /**
02575      * Get the printer name where the formatted result is outputted.
02576      *
02577      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02578      *          the string is truncated and terminated with a NULL character.
02579      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02580      * @return  Returns the 'pVal'.
02581      */
02582     char* getPrinterName(char* pVal, int size) const;
02583     /**
02584      * Get the printer name where the formatted result is outputted.
02585      *
02586      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02587      *          the string is truncated and terminated with a NULL character.
02588      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02589      * @return  Returns the 'pVal'.
02590      */
02591     wchar_t* getPrinterNameW(wchar_t* pVal, int size) const;
02592     /**
02593      * Specifies the output format or the printer name to output.
02594      * When a printer name is specified, the formatted result is outputted to that printer.
02595      * When "\@STDPRN" is specified, the formatted result is outputted to the currently used printer.
02596      * When "\@PDF" is specified, the formatted result is outputted to PDF.
02597      * When "\@SVG" is specified, the formatted result is outputted to SVG.
02598      * When "\@PS" is specified, the formatted result is outputted to PostScript.
02599      * When "\@TEXT" is specified, the formatted result is outputted to a text format file.
02600      * When "\@DOCX" is specified, the formatted result is outputted to a docx format file.
02601      * When "\@AreaTree" is specified, the AreaTree will be outputted.
02602      * When omitted, it is considered as "\@PDF" was specified.
02603      * It's impossible to output to the printer with any OS's other than Windows.
02604      *
02605      * @param   newVal  Pointer to a null-terminated string to be used as the printer name.
02606      */
02607     void setPrinterName(const char* newVal);
02608 
02609 
02610     /**
02611      * Specifies the output format or the printer name to output.
02612      * When a printer name is specified, the formatted result is outputted to that printer.
02613      * When "\@STDPRN" is specified, the formatted result is outputted to the currently used printer.
02614      * When "\@PDF" is specified, the formatted result is outputted to PDF.
02615      * When "\@SVG" is specified, the formatted result is outputted to SVG.
02616      * When "\@PS" is specified, the formatted result is outputted to PostScript.
02617      * When "\@TEXT" is specified, the formatted result is outputted to a text format file.
02618      * When "\@DOCX" is specified, the formatted result is outputted to a docx format file.
02619      * When "\@AreaTree" is specified, the AreaTree will be outputted.
02620      * When omitted, it is considered as "\@PDF" was specified.
02621      * It's impossible to output to the printer with any OS's other than Windows.
02622      *
02623      * @param   newVal  Pointer to a null-terminated string to be used as the printer name.
02624      */
02625     void setPrinterNameW(const wchar_t* newVal);
02626 
02627     /**
02628      * Get formatted total pages.
02629      * @since 3.2
02630      *
02631      * @return  the value of formatted total pages.
02632      */
02633     long getFormattedPages() const;
02634 
02635 #if defined(_DOXYGEN) || (defined(_MSC_VER) && defined(_WIN32))
02636 
02637     /**
02638      * Get the printer setting file URI.
02639      *
02640      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02641      *          the string is truncated and terminated with a NULL character.
02642      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02643      * @return  Returns the 'pVal'.
02644      */
02645     char* getPrinterSettingURI(char* pVal, int size) const;
02646     /**
02647      * Get the printer setting file URI.
02648      *
02649      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02650      *          the string is truncated and terminated with a NULL character.
02651      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02652      * @return  Returns the 'pVal'.
02653      */
02654     wchar_t* getPrinterSettingURIW(wchar_t* pVal, int size) const;
02655 
02656     /**
02657      * Specifies the printer setting file URI.
02658      * This setting is effective only with Windows version.
02659      *
02660      * @param   newVal  Pointer to a null-terminated string to be used as the printer name.
02661      */
02662     void setPrinterSettingURI(const char* newVal);
02663     /**
02664      * Specifies the printer setting file URI.
02665      * This setting is effective only with Windows version.
02666      *
02667      * @param   newVal  Pointer to a null-terminated string to be used as the printer name.
02668      */
02669     void setPrinterSettingURIW(const wchar_t* newVal);
02670 
02671     /**
02672      * Get the number of copies. Effective when outputting to printer.
02673      *
02674      * @return  Returns the number of copies.
02675      */
02676     long getPrnCopies() const;
02677 
02678     /**
02679      * Specifies the number of copies. Effective when outputting to printer.
02680      * If nothing is specified, the value is considered as 1.
02681      * This setting is effective only with Windows version.
02682      *
02683      * @param   newVal  the number of copies.
02684      */
02685     void setPrnCopies(long newVal);
02686 
02687     /**
02688      * Get collation of multiple copies.
02689      *
02690      * @return  If zero is returned, the same page is multi-copied continuously.
02691      *          If nonezero is returned, the pages specified from start to end are printed repeatedly.
02692      */
02693     long getPrnCollate() const;
02694 
02695     /**
02696      * Specifies collation of multiple copies. Effective when outputting to printer and the number of
02697      * copies is plural. If it is not specified or the value zero is specified, the same page is
02698      * multi-copied continuously.
02699      * If nonezero is specified, the pages specified from start to end are printed repeatedly.
02700      * This setting is effective only with Windows version.
02701      *
02702      * @param   newVal  Zpecifies zero or nonzero.
02703      */
02704     void setPrnCollate(long newVal);
02705 
02706     /**
02707      * Get the setting of whether print dialog box is displayed or not when printing
02708      *
02709      * @return  If zero, the print dialog box is displayed. If nonezero, the print dialog box is not displayed.
02710      */
02711     long getBatchPrint() const;
02712 
02713     /**
02714      * When the value 'false' is specified, the print dialog box is displayed when printing.
02715      * If the setting is omitted or the value 'true' is specified, the print dialog is not displayed.
02716      * This setting is effective only with Windows version.
02717      *
02718      * @param   newVal  If zero, the print dialog box is displayed. If nonezero, the print dialog box is not displayed.
02719      */
02720     void setBatchPrint(long newVal);
02721 
02722 #if !defined(_DOXYGEN)
02723     /**
02724      * @deprecated
02725      * Get the text of XML document you will format.
02726      * the use of this method is not recommended, use render method.
02727      * @since 3.1
02728      *
02729      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02730      *          the string is truncated and terminated with a NULL character.
02731      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02732      * @return  Returns the 'pVal'.
02733      */
02734     char* getDocumentText(char* pVal, int size) const;
02735 
02736     /**
02737      * @deprecated
02738      * Get the text of XML document you will format.
02739      * the use of this method is not recommended, use render method.
02740      * @since 3.1
02741      *
02742      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02743      *          the string is truncated and terminated with a NULL character.
02744      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02745      * @return  Returns the 'pVal'.
02746      */
02747     wchar_t* getDocumentTextW(wchar_t* pVal, int size) const;
02748 
02749     /**
02750      * @deprecated
02751      * Specifies the XML document you will format.
02752      * MSXML3/MSXML4 is required when formatting.
02753      * This setting is effective only with Windows version.
02754      * the use of this method is not recommended, use render method.
02755      * @since 3.1
02756      *
02757      * @param   newVal  Pointer to a null-terminated string to be used as the text of XML document.
02758      */
02759     void setDocumentText(const char* newVal);
02760 
02761     /**
02762      * @deprecated
02763      * Specifies the XML document you will format.
02764      * MSXML3/MSXML4 is required when formatting.
02765      * This setting is effective only with Windows version.
02766      * the use of this method is not recommended, use render method.
02767      * @since 3.1
02768      *
02769      * @param   newVal  Pointer to a null-terminated string to be used as the text of XML document.
02770      */
02771     void setDocumentTextW(const wchar_t* newVal);
02772 #endif
02773 
02774     /**
02775      * Get the text of XSL stylesheet for formatting.
02776      * @since 3.1
02777      *
02778      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02779      *          the string is truncated and terminated with a NULL character.
02780      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02781      * @return  Returns the 'pVal'.
02782      */
02783     char* getStylesheetText(char* pVal, int size) const;
02784 
02785     /**
02786      * Get the text of XSL stylesheet for formatting.
02787      * @since 3.1
02788      *
02789      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02790      *          the string is truncated and terminated with a NULL character.
02791      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02792      * @return  Returns the 'pVal'.
02793      */
02794     wchar_t* getStylesheetTextW(wchar_t* pVal, int size) const;
02795 
02796     /**
02797      * Specifies the text of XSL stylesheet for formatting.
02798      * If the specified XML document is FO, or the XML file contains the processing instruction
02799      * &lt;?xml-stylesheet ...?&gt; and the XSL stylesheet is specified, this setting is ignored.
02800      * Otherwise if there is no setting of this property, an error occurs.
02801      * MSXML3/MSXML4 is required when formatting.
02802      * This setting is effective only with Windows version.
02803      * @since 3.1
02804      *
02805      * @param   newVal  Pointer to a null-terminated string to be used as the text of XSL stylesheet.
02806      */
02807     void setStylesheetText(const char* newVal);
02808 
02809     /**
02810      * Specifies the text of XSL stylesheet for formatting.
02811      * If the specified XML document is FO, or the XML file contains the processing instruction
02812      * &lt;?xml-stylesheet ...?&gt; and the XSL stylesheet is specified, this setting is ignored.
02813      * Otherwise if there is no setting of this property, an error occurs.
02814      * MSXML3/MSXML4 is required when formatting.
02815      * This setting is effective only with Windows version.
02816      * @since 3.1
02817      *
02818      * @param   newVal  Pointer to a null-terminated string to be used as the text of XSL stylesheet.
02819      */
02820     void setStylesheetTextW(const wchar_t* newVal);
02821 
02822 #endif  /* WIN32 */
02823 
02824     /**
02825     * Get the version string of Antenna House Formatter.
02826      * @since 4.0MR4
02827      *
02828      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02829      *          the string is truncated and terminated with a NULL character.
02830      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02831      * @return  Returns the 'pVal'.
02832      */
02833     char* getVersion(char* pVal, int size) const;
02834 
02835     /**
02836     * Get the version string of Antenna House Formatter.
02837      * @since 4.0MR4
02838      *
02839      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02840      *          the string is truncated and terminated with a NULL character.
02841      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02842      * @return  Returns the 'pVal'.
02843      */
02844     wchar_t* getVersionW(wchar_t* pVal, int size) const;
02845 
02846 #if defined(_DOXYGEN) || (defined(_MSC_VER) && defined(_WIN32))
02847     /**
02848      * Acquires the setting of the smoothing processing to text.
02849      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02850      *
02851      * @return  Specify whether to perform the smoothing processing to text.
02852      */
02853     bool getGdiTextAntialias() const;
02854 
02855     /**
02856      * Performs the smoothing processing to text.
02857      * Effective only when printing and outputting images.
02858      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02859      *
02860      * @param   newVal  Smoothing value.
02861      */
02862     void setGdiTextAntialias(bool newVal);
02863 
02864     /**
02865      * Acquires the setting of the smoothing processing to borders.
02866      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02867      *
02868      * @return  Specify whether to perform the smoothing processing to borders.
02869      */
02870     bool getGdiLineartSmoothing() const;
02871 
02872     /**
02873      * Performs the smoothing processing to borders.
02874      * Effective only when printing and outputting images.
02875      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02876      *
02877      * @param   newVal  Smoothing value.
02878      */
02879     void setGdiLineartSmoothing(bool newVal);
02880 
02881     /**
02882      * Acquires the setting of the smoothing processing to images.
02883      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02884      *
02885      * @return  Specify whether to perform the smoothing processing to images.
02886      */
02887     bool getGdiImageSmoothing() const;
02888 
02889     /**
02890      * Performs the smoothing processing to images.
02891      * Effective only when printing and outputting images.
02892      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02893      *
02894      * @param   newVal  Smoothing value.
02895      */
02896     void setGdiImageSmoothing(bool newVal);
02897 #endif
02898 
02899     /**
02900      * Get the watermark text on each page.
02901      *
02902      * @param   pVal
02903      *      Pointer to the buffer that will receive the text.
02904      *      If the string is as long or longer than the buffer,
02905      *      the string is truncated and terminated with a NULL character.
02906      * @param   size
02907      *      Specifies the number of the 'pVal' buffer, including the NULL character.
02908      *      If the text exceeds this limit, it is truncated.
02909      * @return  Returns the 'pVal'.
02910      */
02911     char* getWatermarkText(char* pVal, int size) const;
02912 
02913     /**
02914      * Get watermark text on each page.
02915      *
02916      * @param   pVal
02917      *      Pointer to the buffer that will receive the text.
02918      *      If the string is as long or longer than the buffer,
02919      *      the string is truncated and terminated with a NULL character.
02920      * @param   size
02921      *      Specifies the number of the 'pVal' buffer, including the NULL character.
02922      *      If the text exceeds this limit, it is truncated.
02923      * @return  Returns the 'pVal'.
02924      */
02925     wchar_t* getWatermarkTextW(wchar_t* pVal, int size) const;
02926 
02927     /**
02928      * Displays the specified watermark text on each page.
02929      * Possible to make it multiple lines by delimiting with the line feed \n.
02930      * This setting is invalid with the evaluation version.
02931      *
02932      * @param   newVal
02933      *      Pointer to a null-terminated string.
02934      */
02935     void setWatermarkText(const char* newVal);
02936 
02937     /**
02938      * Displays the specified watermark text on each page.
02939      * Possible to make it multiple lines by delimiting with the line feed \n.
02940      * This setting is invalid with the evaluation version.
02941      *
02942      * @param   newVal
02943      *      Pointer to a null-terminated string.
02944      */
02945     void setWatermarkTextW(const wchar_t* newVal);
02946 
02947     /**
02948      * Get the font family of the watermark text.
02949      *
02950      * @param   pVal
02951      *      Pointer to the buffer that will receive the text.
02952      *      If the string is as long or longer than the buffer,
02953      *      the string is truncated and terminated with a NULL character.
02954      * @param   size
02955      *      Specifies the number of the 'pVal' buffer, including the NULL character.
02956      *      If the text exceeds this limit, it is truncated.
02957      * @return  Returns the 'pVal'.
02958      */
02959     char* getWatermarkFontFamily(char* pVal, int size) const;
02960 
02961     /**
02962      * Get the font family of the watermark text.
02963      *
02964      * @param   pVal
02965      *      Pointer to the buffer that will receive the text.
02966      *      If the string is as long or longer than the buffer,
02967      *      the string is truncated and terminated with a NULL character.
02968      * @param   size
02969      *      Specifies the number of the 'pVal' buffer, including the NULL character.
02970      *      If the text exceeds this limit, it is truncated.
02971      * @return  Returns the 'pVal'.
02972      */
02973     wchar_t* getWatermarkFontFamilyW(wchar_t* pVal, int size) const;
02974 
02975     /**
02976      * Specifies the font family to the character string which you set to watermark-text.
02977      *
02978      * @param   newVal
02979      *      Pointer to a null-terminated string.
02980      */
02981     void setWatermarkFontFamily(const char* newVal);
02982 
02983     /**
02984      * Specifies the font family to the character string which you set to watermark-text.
02985      *
02986      * @param   newVal
02987      *      Pointer to a null-terminated string.
02988      */
02989     void setWatermarkFontFamilyW(const wchar_t* newVal);
02990 
02991     /**
02992      * Get the font weight of the watermark text.
02993      *
02994      * @param   pVal
02995      *      Pointer to the buffer that will receive the text.
02996      *      If the string is as long or longer than the buffer,
02997      *      the string is truncated and terminated with a NULL character.
02998      * @param   size
02999      *      Specifies the number of the 'pVal' buffer, including the NULL character.
03000      *      If the text exceeds this limit, it is truncated.
03001      * @return  Returns the 'pVal'.
03002      */
03003     char* getWatermarkFontWeight(char* pVal, int size) const;
03004 
03005     /**
03006      * Get the font weight of the watermark text.
03007      *
03008      * @param   pVal
03009      *      Pointer to the buffer that will receive the text.
03010      *      If the string is as long or longer than the buffer,
03011      *      the string is truncated and terminated with a NULL character.
03012      * @param   size
03013      *      Specifies the number of the 'pVal' buffer, including the NULL character.
03014      *      If the text exceeds this limit, it is truncated.
03015      * @return  Returns the 'pVal'.
03016      */
03017     wchar_t* getWatermarkFontWeightW(wchar_t* pVal, int size) const;
03018 
03019     /**
03020      * Specifies the font weight to the character string which you set to watermark-text.
03021      * Possible to specify normal, bold or the numerical value from 100 to 900.
03022      *
03023      * @param   newVal
03024      *      Pointer to a null-terminated string.
03025      */
03026     void setWatermarkFontWeight(const char* newVal);
03027 
03028     /**
03029      * Specifies the font weight to the character string which you set to watermark-text.
03030      * Possible to specify normal, bold or the numerical value from 100 to 900.
03031      *
03032      * @param   newVal
03033      *      Pointer to a null-terminated string.
03034      */
03035     void setWatermarkFontWeightW(const wchar_t* newVal);
03036 
03037     /**
03038      * Get the font style of the watermark text.
03039      *
03040      * @param   pVal
03041      *      Pointer to the buffer that will receive the text.
03042      *      If the string is as long or longer than the buffer,
03043      *      the string is truncated and terminated with a NULL character.
03044      * @param   size
03045      *      Specifies the number of the 'pVal' buffer, including the NULL character.
03046      *      If the text exceeds this limit, it is truncated.
03047      * @return  Returns the 'pVal'.
03048      */
03049     char* getWatermarkFontStyle(char* pVal, int size) const;
03050 
03051     /**
03052      * Get the font style of the watermark text.
03053      *
03054      * @param   pVal
03055      *      Pointer to the buffer that will receive the text.
03056      *      If the string is as long or longer than the buffer,
03057      *      the string is truncated and terminated with a NULL character.
03058      * @param   size
03059      *      Specifies the number of the 'pVal' buffer, including the NULL character.
03060      *      If the text exceeds this limit, it is truncated.
03061      * @return  Returns the 'pVal'.
03062      */
03063     wchar_t* getWatermarkFontStyleW(wchar_t* pVal, int size) const;
03064 
03065     /**
03066      * Specifies the font style to the character string which you set to watermark-text.
03067      *
03068      * @param   newVal
03069      *      Pointer to a null-terminated string.
03070      */
03071     void setWatermarkFontStyle(const char* newVal);
03072 
03073     /**
03074      * Specifies the font style to the character string which you set to watermark-text.
03075      *
03076      * @param   newVal
03077      *      Pointer to a null-terminated string.
03078      */
03079     void setWatermarkFontStyleW(const wchar_t* newVal);
03080 
03081     /**
03082      * Get the opacity of the watermark text.
03083      *
03084      * @param   pVal
03085      *      Pointer to the buffer that will receive the text.
03086      *      If the string is as long or longer than the buffer,
03087      *      the string is truncated and terminated with a NULL character.
03088      * @param   size
03089      *      Specifies the number of the 'pVal' buffer, including the NULL character.
03090      *      If the text exceeds this limit, it is truncated.
03091      * @return  Returns the 'pVal'.
03092      */
03093     char* getWatermarkOpacity(char* pVal, int size) const;
03094 
03095     /**
03096      * Get the opacity of the watermark text.
03097      *
03098      * @param   pVal
03099      *      Pointer to the buffer that will receive the text.
03100      *      If the string is as long or longer than the buffer,
03101      *      the string is truncated and terminated with a NULL character.
03102      * @param   size
03103      *      Specifies the number of the 'pVal' buffer, including the NULL character.
03104      *      If the text exceeds this limit, it is truncated.
03105      * @return  Returns the 'pVal'.
03106      */
03107     wchar_t* getWatermarkOpacityW(wchar_t* pVal, int size) const;
03108 
03109     /**
03110      * Specifies the opacity to the character string which you set to watermark-text.
03111      *
03112      * @param   newVal
03113      *      Pointer to a null-terminated string.
03114      */
03115     void setWatermarkOpacity(const char* newVal);
03116 
03117     /**
03118      * Specifies the opacity to the character string which you set to watermark-text.
03119      *
03120      * @param   newVal
03121      *      Pointer to a null-terminated string.
03122      */
03123     void setWatermarkOpacityW(const wchar_t* newVal);
03124 
03125 };
03126 
03127 
03128 /***************************************************************
03129  * Exception class that returns the error information in the formatting process.
03130  */
03131 class XFOINTERFACE_API XfoException
03132 {
03133 public:
03134     /**
03135      * Constructor
03136      */
03137     XfoException(XfoIfErrorLevel errorLevel, XfoIfErrorCode errorCode, const wchar_t* errorMessage);
03138 
03139     /**
03140      * Copy constructor
03141      */
03142     XfoException(const XfoException &e);
03143 
03144     /**
03145      * Destructor
03146      */
03147     ~XfoException();
03148 
03149 private:
03150     XfoIfErrorLevel m_errorLevel;           /* Error level */
03151     XfoIfErrorCode  m_errorCode;            /* Error code */
03152     wchar_t*        m_errorMessage;         /* Error message */
03153 
03154 public:
03155     /**
03156      * Get the error level.
03157      *
03158      * @return  Returns the error level.
03159      */
03160     XfoIfErrorLevel getErrorLevel() const;
03161 
03162     /**
03163      * Get the error code.
03164      *
03165      * @return  Returns the error code.
03166      */
03167     XfoIfErrorCode getErrorCode() const;
03168 
03169     /**
03170      * Get the error message.
03171      *
03172      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
03173      *          the string is truncated and terminated with a NULL character.
03174      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
03175      * @return  Returns the 'pVal'.
03176      */
03177     char* getErrorMessage(char* pVal, int size) const;
03178 
03179     /**
03180      * Get the error message.
03181      *
03182      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
03183      *          the string is truncated and terminated with a NULL character.
03184      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
03185      * @return  Returns the 'pVal'.
03186      */
03187     wchar_t* getErrorMessageW(wchar_t* pVal, int size) const;
03188 };
03189 
03190 
03191 }
03192 
03193 #endif  /* XFOIFC_H__ */

Generated on 10 Oct 2024 for Antenna House Formatter C/C++ Interface by Doxygen 1.3-rc2