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      * Effective when outputting to SVG.
01827      * Gets the format for naming files when the outputted SVG becomes multiple.
01828      * @since 3.3
01829      *
01830      * @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.
01831      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01832      * @return  Returns the 'pVal'.
01833      */
01834     char* getSvgFormat(char* pVal, int size) const;
01835 
01836     /**
01837      * Effective when outputting to SVG.
01838      * Gets the format for naming files when the outputted SVG becomes multiple.
01839      * @since 3.3
01840      *
01841      * @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.
01842      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01843      * @return  Returns the 'pVal'.
01844      */
01845     wchar_t* getSvgFormatW(wchar_t* pVal, int size) const;
01846 
01847     /**
01848      * Effective when outputting to SVG.
01849      * Specifies the format for naming files when the outputted SVG becomes multiple.
01850      * @since 3.3
01851      *
01852      * @param   newVal  Pointer to a null-terminated string to be used as the SVG file name format.
01853      */
01854     void setSvgFormat(const char* newVal);
01855 
01856     /**
01857      * Effective when outputting to SVG.
01858      * Specifies the format for naming files when the outputted SVG becomes multiple.
01859      * @since 3.3
01860      *
01861      * @param   newVal  Pointer to a null-terminated string to be used as the SVG file name format.
01862      */
01863     void setSvgFormatW(const wchar_t* newVal);
01864     /**
01865      * Effective when outputting to SVG.
01866      * Gets the value of how to compress the images embedded in SVG.
01867      * @since 3.3
01868      *
01869      * <table border="0" cellspacing="0" cellpadding="0">
01870      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 Auto conversion</td></tr>
01871      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG conversion</td></tr>
01872      *  <tr><td>IMGCMPR_PNG     </td><td>= 2 PNG conversion</td></tr>
01873      * </table>
01874      *
01875      * @return  the value of how raster graphics are compressed and stored
01876      */
01877     XfoIMAGECONVERSION getSvgImageConversion() const;
01878 
01879     /**
01880      * Effective when outputting to SVG.
01881      * Selects how to compress the images embedded in SVG to create from the following.
01882      * @since 3.3
01883      *
01884      * <table border="0" cellspacing="0" cellpadding="0">
01885      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 Auto conversion</td></tr>
01886      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG conversion</td></tr>
01887      *  <tr><td>IMGCMPR_PNG     </td><td>= 2 PNG conversion</td></tr>
01888      * </table>
01889      *
01890      * @param   newVal  the value of how raster graphics are compressed and stored
01891      */
01892     void setSvgImageConversion(XfoIMAGECONVERSION newVal);
01893 
01894     /**
01895      * Gets the value of the quality of JPEG format that is specified by setSvgImageConversion() stored in SVG.
01896      * @since 3.3
01897      *
01898      * @return  the value of the quality
01899      */
01900     int getSvgJPEGQuality() const;
01901 
01902     /**
01903      * Effective when outputting to SVG.
01904      * Specifies the quality of the Raster graphics when stored in JPEG format using the range of 1-100.
01905      * The quality becomes higher in proportion to the increase in the number; however the file size also becomes larger.
01906      * The initial value is 80.
01907      * @since 3.3
01908      *
01909      * @param   newVal  JPEG quality (1 to 100)
01910      */
01911     void setSvgJPEGQuality(int newVal);
01912 
01913     /**
01914      * Effective when outputting to SVG.
01915      * Gets specification how to treat the referred image.
01916      * @since 3.3
01917      *
01918      * <table border="0" cellspacing="0" cellpadding="0">
01919      *  <tr><td>IMGPT_EMBED_ALL </td><td>= 0 Embeds all images to SVG.</td></tr>
01920      *  <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>
01921      *  <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>
01922      *  <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>
01923      * </table>
01924      *
01925      * @return  specification how to treat the referred image.
01926      */
01927     XfoIMAGEPROCTYPE getSvgImageProcessingType() const;
01928 
01929     /**
01930      * Effective when outputting to SVG.
01931      * Specifies how to treat the referred image.
01932      * @since 3.3
01933      *
01934      * <table border="0" cellspacing="0" cellpadding="0">
01935      *  <tr><td>IMGPT_EMBED_ALL </td><td>= 0 Embeds all images to SVG.</td></tr>
01936      *  <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>
01937      *  <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>
01938      *  <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>
01939      * </table>
01940      *
01941      * @param   newVal  specification how to treat the referred image.
01942      */
01943     void setSvgImageProcessingType(XfoIMAGEPROCTYPE newVal);
01944 
01945     /**
01946      * Effective when outputting to SVG.
01947      * Gets the copy destination of image as specifying IMGPT_COPY_ALL or IMGPT_COPY by setSvgImageProcessingType.
01948      * @since 3.3
01949      *
01950      * @param   pVal        Pointer to the buffer that will receive the image copy path. If the string is as long or longer than the buffer,
01951      *          the string is truncated and terminated with a NULL character.
01952      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01953      * @return  Returns the 'pVal'.
01954      */
01955     char* getSvgImageCopyPath(char* pVal, int size) const;
01956 
01957     /**
01958      * Effective when outputting to SVG.
01959      * Specifies the copy destination of image as specifying IMGPT_COPY_ALL or IMGPT_COPY by setSvgImageProcessingType.
01960      * @since 3.3
01961      *
01962      * @param   newVal  Pointer to a null-terminated string to be used as image copy path
01963      */
01964     void setSvgImageCopyPath(const char* newVal);
01965     /**
01966     * Effective when outputting to SVG.
01967     * Gets specification to create the directory if the specified  copy destination of image does not exist.
01968     * @since 7.3
01969     *
01970     * @return   Returns the specification to create the directory if the specified  copy destination of image does not exist.
01971     */
01972     long getSvgCreateImageCopyPath() const;
01973 
01974     /**
01975     * Effective when outputting to SVG.
01976     * Specifies to create the directory if the specified  copy destination of image does not exist.
01977     * @since 7.3
01978     *
01979     * @param    newVal  If the value is 'true' is specified, create the directory if the specified  copy destination of image does not exist.
01980     */
01981     void setSvgCreateImageCopyPath(long newVal);
01982 
01983     /**
01984      * Effective when outputting to SVG.
01985      * Gets the copy destination of image as specifying IMGPT_COPY_ALL or IMGPT_COPY by setSvgImageProcessingType.
01986      * @since 3.3
01987      *
01988      * @param   pVal        Pointer to the buffer that will receive the image copy path. If the string is as long or longer than the buffer,
01989      *          the string is truncated and terminated with a NULL character.
01990      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01991      * @return  Returns the 'pVal'.
01992      */
01993     wchar_t* getSvgImageCopyPathW(wchar_t* pVal, int size) const;
01994 
01995     /**
01996      * Effective when outputting to SVG.
01997      * Specifies the copy destination of image as specifying IMGPT_COPY_ALL or IMGPT_COPY by setSvgImageProcessingType.
01998      * @since 3.3
01999      *
02000      * @param   newVal  Pointer to a null-terminated string to be used as image copy path
02001      */
02002     void setSvgImageCopyPathW(const wchar_t* newVal);
02003 
02004     /**
02005      * Effective when outputting to SVG.
02006      * Gets specification whether to divide into multiple SVG or to output as one SVG when the formatted result extends to multiple pages. <BR>
02007      * @since 3.3
02008      *
02009      * @return  specification whether to divide into multiple SVG or to output as one SVG when the formatted result extends to multiple pages.
02010      */
02011     long getSvgSingleFile() const;
02012 
02013     /**
02014      * Effective when outputting to SVG.
02015      * Specifies whether to divide into multiple SVG or to output as one SVG when the formatted result extends to multiple pages. <BR>
02016      * 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>
02017      * Effective only when outputting to the file. It is invalid in the output without the file name like the stream etc.
02018      * @since 3.3
02019      *
02020      * @param   newVal  specification whether to divide into multiple SVG or to output as one SVG when the formatted result extends to multiple pages.
02021      */
02022     void setSvgSingleFile(long newVal);
02023 
02024 #if !defined(_DOXYGEN)
02025     /**
02026      * @deprecated
02027      */
02028     char* getSvgSingleFileMaxHeight(char* pVal, int size) const;
02029 
02030     /**
02031      * @deprecated
02032      */
02033     wchar_t* getSvgSingleFileMaxHeightW(wchar_t* pVal, int size) const;
02034 
02035     /**
02036      * @deprecated
02037      */
02038     void setSvgSingleFileMaxHeight(const char* newVal);
02039 
02040     /**
02041      * @deprecated
02042      */
02043     void setSvgSingleFileMaxHeightW(const wchar_t* newVal);
02044 
02045     /**
02046      * @deprecated
02047      */
02048     int getSvgSingleFileMaxPages() const;
02049 
02050     /**
02051      * @deprecated
02052      */
02053     void setSvgSingleFileMaxPages(int newVal);
02054 
02055     /**
02056      * @deprecated
02057      */
02058     int getSvgImageDownsamplingDPI() const;
02059 
02060     /**
02061      * @deprecated
02062      */
02063     void setSvgImageDownsamplingDPI(int dpi);
02064 
02065     /**
02066      * @deprecated
02067      */
02068     int getSvgImageDownsamplingMethod() const;
02069 
02070     /**
02071      * @deprecated
02072      */
02073     void setSvgImageDownsamplingMethod(int type);
02074 #endif
02075 
02076     /**
02077      * Effective when outputting to SVG.
02078      * Gets specification whether to rename all file name to prefix specified by setSvgImagePrefix, or use original name.
02079      * @since 3.3
02080      *
02081      * @return  specification whether to rename all file name to prefix specified by setSvgImagePrefix, or use original name.
02082      */
02083     long getSvgImageRename() const;
02084 
02085     /**
02086      * Effective when outputting to SVG.
02087      * 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.
02088      * @since 3.3
02089      *
02090      * @param   newVal  specification whether to rename all file name to prefix specified by xfo_setSvgImagePrefix, or use original nam
02091      */
02092     void setSvgImageRename(long newVal);
02093 
02094     /**
02095      * Effective when outputting to SVG.
02096      * Gets the prefix of the file name when images are copied to the directory specified by setSvgImageCopyPath and processed.
02097      * @since 3.3
02098      *
02099      * @param   pVal        Pointer to the buffer that will receive the prefix. If the string is as long or longer than the buffer,
02100      *          the string is truncated and terminated with a NULL character.
02101      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02102      * @return  Returns the 'pVal'.
02103      */
02104     char* getSvgImagePrefix(char* pVal, int size) const;
02105 
02106     /**
02107      * Effective when outputting to SVG.
02108      * 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.
02109      * @since 3.3
02110      *
02111      * @param   newVal  the prefix of the file name.
02112      */
02113     void setSvgImagePrefix(const char* newVal);
02114 
02115     /**
02116      * Effective when outputting to SVG.
02117      * Gets the prefix of the file name when images are copied to the directory specified by setSvgImageCopyPath and processed.
02118      * @since 3.3
02119      *
02120      * @param   pVal        Pointer to the buffer that will receive the prefix. If the string is as long or longer than the buffer,
02121      *          the string is truncated and terminated with a NULL character.
02122      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02123      * @return  Returns the 'pVal'.
02124      */
02125     wchar_t* getSvgImagePrefixW(wchar_t* pVal, int size) const;
02126 
02127     /**
02128      * Effective when outputting to SVG.
02129      * 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.
02130      * @since 3.3
02131      *
02132      * @param   newVal  the prefix of the file name.
02133      */
02134     void setSvgImagePrefixW(const wchar_t* newVal);
02135 
02136     /**
02137      * Effective when outputting to SVG.
02138      * Gets specification whether to add sequential number to the output SVG even if it has only one-page.
02139      * @since 3.3
02140      *
02141      * @return  specification whether to add sequential number to the output SVG even if it has only one-page.
02142      */
02143     long getSvgSinglePageNumber() const;
02144 
02145     /**
02146      * Effective when outputting to SVG.
02147      * 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.
02148      * @since 3.3
02149      *
02150      * @param   newVal  specification whether to add sequential number to the output SVG even if it has only one-page.
02151      */
02152     void setSvgSinglePageNumber(long newVal);
02153 
02154 
02155 #if defined(_DOXYGEN) || (defined(_MSC_VER) && defined(_WIN32))
02156     /**
02157      * Effective when outputting to SVG.
02158      * Gets the value of the rasterised-resolution of the transformed raster images.
02159      * @since 3.3
02160      *
02161      * @return  Rasterised-resolution
02162      */
02163     int getSvgRasterizeResolution() const;
02164 
02165     /**
02166      * Effective when outputting to SVG.
02167      * 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.
02168      * This setting is effective only with Windows version.
02169      * @since 3.3
02170      *
02171      * @param   newVal  Rasterised-resolution (70 to 500)
02172      */
02173     void setSvgRasterizeResolution(int newVal);
02174 #endif
02175 
02176 
02177 
02178 
02179     /**
02180      * Get the start volume of document to output.
02181      * @since 3.2
02182      *
02183      * @return  start volume of document to output.
02184      */
02185     long getStartVolume() const;
02186 
02187     /**
02188      * Specifies the start volume of document to output.
02189      * If the start volume is omitted or the specified value is 0 or less, the start volume is
02190      * considered from the first volume.
02191      * If the setting is inconsistent, (for example, StartVolume=5 EndVolume=3) an error occurs.
02192      * @since 3.2
02193      *
02194      * @param   newVal  start volume of output.
02195      */
02196     void setStartVolume(long newVal);
02197 
02198     /**
02199      * Get the end volume of document to output.
02200      * @since 3.2
02201      *
02202      * @return  end volume of output.
02203      */
02204     long getEndVolume() const;
02205 
02206     /**
02207      * Specifies the end volume of document to output.
02208      * If the end volume is omitted or the specified value exceeds the actual volume, the end volume
02209      * is considered as the last volume.
02210      * If the setting is inconsistent, (for example, StartVolume=5 EndVolume=3) an error occurs.
02211      * @since 3.2
02212      *
02213      * @param   newVal  end volume of output.
02214      */
02215     void setEndVolume(long newVal);
02216 
02217     /**
02218      * Get multiple volume of PDF output.
02219      * @since 3.2
02220      *
02221      * @return  If zero is returned, multiple volume don't specified.
02222      *          If nonezero is returned, multiple volume specified.
02223      */
02224     long getMultiVolume() const;
02225 
02226     /**
02227      * Specifies multiple volume of PDF output.
02228      * @since 3.2
02229      *
02230      * @param   newVal  Specifies zero or nonzero.
02231      */
02232     void setMultiVolume(long newVal);
02233 
02234     /**
02235      * Gets the number of all the separate volumes when outputting PDF to multiple separate volumes.
02236      * @since 3.2
02237      *
02238      * @return  Returns total volume count.
02239      */
02240     long getTotalVolumeCount() const;
02241 
02242     /**
02243      * Gets the number of the actual separate volumes when outputting PDF to multiple separate volumes.
02244      * @since 3.2
02245      *
02246      * @return  Returns output volume count.
02247      */
02248     long getOutputVolumeCount() const;
02249 
02250     /**
02251      * Gets the split-by-pages setting
02252      * @since 6.1
02253      *
02254      * @return  split-by-pages setting (0:No split 1:Split by each page)
02255      */
02256     int getSplitPages() const;
02257 
02258     /**
02259      * Sets the split-by-pages setting
02260      * @since 6.1
02261      *
02262      * @param   newVal  split-by-pages setting (0:No split 1:Split by each page)
02263      */
02264     void setSplitPages(int newVal);
02265 
02266     /**
02267      * Gets the initial page number.
02268      * @since 6.1
02269      *
02270      * @return  initial page number
02271      */
02272     int getInitialPageNumber() const;
02273 
02274     /**
02275      * Sets the initial page number.
02276      * @since 6.1
02277      *
02278      * @param   newVal  initial page number
02279      */
02280     void setInitialPageNumber(int newVal);
02281 
02282     /**
02283      * Gets the initial volume number.
02284      * @since 6.1
02285      *
02286      * @return  initial volume number
02287      */
02288     int getInitialVolumeNumber() const;
02289 
02290     /**
02291      * Sets the initial volume number.
02292      * @since 6.1
02293      *
02294      * @param   newVal  initial volume number
02295      */
02296     void setInitialVolumeNumber(int newVal);
02297 
02298     /**
02299      * Gets the partial volume mode.
02300      * @since 6.1
02301      *
02302      * @return  partial volume mode
02303      */
02304     bool getPartialVolume() const;
02305 
02306     /**
02307      * Sets the partial volume mode.
02308      * @since 6.1
02309      *
02310      * @param   newVal  partial volume mode
02311      */
02312     void setPartialVolume(bool newVal);
02313 
02314     /**
02315      * Get the error level to abort formatting process.
02316      *
02317      * @return  Returns the error level.
02318      */
02319     XfoIfErrorLevel getExitLevel() const;
02320 
02321     /**
02322     * Error level to abort formatting process. Antenna House Formatter will stop formatting when the detected
02323      * error level is equal to ExitLevel property or higher. The default value is 2 (Warning).
02324      * Thus if an error occurred and error level is 2 (Warning) or higher, formatting process will be
02325      * aborted. Please use the value from 1 to 4. When the value of 5 or more specified, it is considered
02326      * to be the value of 4. If a error-level:4 (fatal error) occurs, the formatting process will be
02327      * aborted unconditionally.
02328      * BTW : An error is not displayed no matter what value may be specified to be this property.
02329      *
02330      * <table border="0" cellspacing="0" cellpadding="0">
02331      *  <tr><td>ELVL_INFORMATION    </td><td>= 1 Information</td></tr>
02332      *  <tr><td>ELVL_WARNING        </td><td>= 2 Warning</td></tr>
02333      *  <tr><td>ELVL_RECOVERABLE    </td><td>= 3 Recoveable Error</td></tr>
02334      *  <tr><td>ELVL_FATAL          </td><td>= 4 Fatal Error</td></tr>
02335      * </table>
02336      *
02337      * @param   newVal  error level to abort formatting process.
02338      */
02339     void setExitLevel(XfoIfErrorLevel newVal);
02340 
02341     /**
02342      * Returns the error level of the error that occurred during the formatting process.
02343      *
02344      * <table border="0" cellspacing="0" cellpadding="0">
02345      *  <tr><td>ELVL_INFORMATION    </td><td>= 1 Information</td></tr>
02346      *  <tr><td>ELVL_WARNING        </td><td>= 2 Warning</td></tr>
02347      *  <tr><td>ELVL_RECOVERABLE    </td><td>= 3 Recoveable Error</td></tr>
02348      *  <tr><td>ELVL_FATAL          </td><td>= 4 Fatal Error</td></tr>
02349      * </table>
02350      *
02351      * @return  Returns the error level.
02352      */
02353     XfoIfErrorLevel getErrorLevel() const;
02354 
02355     /**
02356      * Returns the error code of the error that occurred during the formatting process.
02357      * Zero means no error. Non-zero indicates any error occurred.
02358      *
02359      * @return  Returns the error code.
02360      */
02361     XfoIfErrorCode getErrorCode() const;
02362 
02363     /**
02364      * Returns the error message of the error that occurred during the formatting process.
02365      *
02366      * @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.
02367      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02368      * @return  Returns the 'pVal'.
02369      */
02370     char* getErrorMessage(char* pVal, int size) const;
02371     /**
02372      * Returns the error message of the error that occurred during the formatting process.
02373      *
02374      * @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.
02375      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02376      * @return  Returns the 'pVal'.
02377      */
02378     wchar_t* getErrorMessageW(wchar_t* pVal, int size) const;
02379 
02380     /**
02381      * Sets the substitution of font name. This substitution acts on the font names existing in FO.
02382      * The font name 'fontName' is replaced to 'aliasName'.
02383      *
02384      * @param   src     Specifies the font name which is replaced.
02385      * @param   dst     Specifies the aliasName.
02386      */
02387     void setFontAlias(const char* src, const char* dst);
02388     /**
02389      * Sets the substitution of font name. This substitution acts on the font names existing in FO.
02390      * The font name 'fontName' is replaced to 'aliasName'.
02391      *
02392      * @param   src     Specifies the font name which is replaced.
02393      * @param   dst     Specifies the aliasName.
02394      */
02395     void setFontAliasW(const wchar_t* src, const wchar_t* dst);
02396 
02397     /**
02398      * Clear all substitutions of font name.
02399      *
02400      */
02401     void clearFontAlias();
02402 
02403     /**
02404      * Erase the substitution of font name 'fontName'.
02405      *
02406      * @param   src Specifies the font name which is replaced.
02407      */
02408     void eraseFontAlias(const char* src);
02409     /**
02410      * Erase the substitution of font name 'fontName'.
02411      *
02412      * @param   src Specifies the font name which is replaced.
02413      */
02414     void eraseFontAliasW(const wchar_t* src);
02415 
02416     /**
02417      * Execute formatting and output to a PDF specified in OutputFilePath or printer specified in PrinterName.
02418      *
02419      * @return  Returns the error code. Zero means no error. Non-zero indicates any error occurred.
02420      */
02421     XfoIfErrorCode execute(bool bNoThrow=false);
02422 
02423     /**
02424      * Executes the formatting of XSL-FO document specified for inputStream, and outputs it to outputStream in the output form specified for setPrinterName.
02425      * @since 3.3
02426      *
02427      * @param   src Specifies XSL-FO document.
02428      * @param   out the output destination of the formatting result.
02429      */
02430     void render(std::istream& src, std::ostream& out);
02431 
02432     /**
02433      * Initialize formatting engine.
02434      *
02435      */
02436     void clear();
02437 
02438     /**
02439      * Set parameter name and value for xsl:param.
02440      *
02441      * @param   paramName name.
02442      * @param   value   parameter value.
02443      */
02444     void setXSLTParam(const char* paramName, const char* value);
02445     /**
02446      * Set parameter name and value for xsl:param.
02447      *
02448      * @param   paramName name.
02449      * @param   value   parameter value.
02450      */
02451     void setXSLTParamW(const wchar_t* paramName, const wchar_t* value);
02452 
02453     /**
02454      * Clear all parameter name and value for xsl:param.
02455      *
02456      */
02457     void clearXSLTParam();
02458 
02459     /**
02460      * Register the MessageListener interface to the instance of implemented class
02461      * The error that occurred during the formatting process can be received as the event.
02462      *
02463      * @param   listener Pointer of the MessageListener instance.
02464      */
02465     void setMessageListener(MessageListener* listener);
02466 
02467     /**
02468      * Register the FormatPageListener interface to the instance of implemented class
02469      * The page number that formatted during the formatting process can be received as the event.
02470      *
02471      * @param   listener Pointer of the FormatPageListener instance.
02472      */
02473     void setFormatPageListener(FormatPageListener* listener);
02474 
02475     /**
02476      * Get the error output type.
02477      *
02478      * @return  Error output type.
02479      */
02480     XfoErrorStreamType getErrorStreamType() const;
02481 
02482     /**
02483      * Set the error output type.
02484      *
02485      * @param   type        Error output type.
02486      *  <table border="0" cellspacing="0" cellpadding="0">
02487      *  <tr><td>OST_NONE    </td><td>: No error output</td></tr>
02488      *  <tr><td>OST_STDOUT  </td><td>: Error output to stdout</td></tr>
02489      *  <tr><td>OST_STDERR  </td><td>: Error output to stderr</td></tr>
02490      *  </table>
02491      */
02492     void setErrorStreamType(XfoErrorStreamType type);
02493 
02494     /**
02495      * Get the printer name where the formatted result is outputted.
02496      *
02497      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02498      *          the string is truncated and terminated with a NULL character.
02499      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02500      * @return  Returns the 'pVal'.
02501      */
02502     char* getPrinterName(char* pVal, int size) const;
02503     /**
02504      * Get the printer name where the formatted result is outputted.
02505      *
02506      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02507      *          the string is truncated and terminated with a NULL character.
02508      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02509      * @return  Returns the 'pVal'.
02510      */
02511     wchar_t* getPrinterNameW(wchar_t* pVal, int size) const;
02512     /**
02513      * Specifies the output format or the printer name to output.
02514      * When a printer name is specified, the formatted result is outputted to that printer.
02515      * When "\@STDPRN" is specified, the formatted result is outputted to the currently used printer.
02516      * When "\@PDF" is specified, the formatted result is outputted to PDF.
02517      * When "\@SVG" is specified, the formatted result is outputted to SVG.
02518      * When "\@PS" is specified, the formatted result is outputted to PostScript.
02519      * When "\@TEXT" is specified, the formatted result is outputted to a text format file.
02520      * When "\@DOCX" is specified, the formatted result is outputted to a docx format file.
02521      * When "\@AreaTree" is specified, the AreaTree will be outputted.
02522      * When omitted, it is considered as "\@PDF" was specified.
02523      * It's impossible to output to the printer with any OS's other than Windows.
02524      *
02525      * @param   newVal  Pointer to a null-terminated string to be used as the printer name.
02526      */
02527     void setPrinterName(const char* newVal);
02528 
02529 
02530     /**
02531      * Specifies the output format or the printer name to output.
02532      * When a printer name is specified, the formatted result is outputted to that printer.
02533      * When "\@STDPRN" is specified, the formatted result is outputted to the currently used printer.
02534      * When "\@PDF" is specified, the formatted result is outputted to PDF.
02535      * When "\@SVG" is specified, the formatted result is outputted to SVG.
02536      * When "\@PS" is specified, the formatted result is outputted to PostScript.
02537      * When "\@TEXT" is specified, the formatted result is outputted to a text format file.
02538      * When "\@DOCX" is specified, the formatted result is outputted to a docx format file.
02539      * When "\@AreaTree" is specified, the AreaTree will be outputted.
02540      * When omitted, it is considered as "\@PDF" was specified.
02541      * It's impossible to output to the printer with any OS's other than Windows.
02542      *
02543      * @param   newVal  Pointer to a null-terminated string to be used as the printer name.
02544      */
02545     void setPrinterNameW(const wchar_t* newVal);
02546 
02547     /**
02548      * Get formatted total pages.
02549      * @since 3.2
02550      *
02551      * @return  the value of formatted total pages.
02552      */
02553     long getFormattedPages() const;
02554 
02555 #if defined(_DOXYGEN) || (defined(_MSC_VER) && defined(_WIN32))
02556 
02557     /**
02558      * Get the printer setting file URI.
02559      *
02560      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02561      *          the string is truncated and terminated with a NULL character.
02562      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02563      * @return  Returns the 'pVal'.
02564      */
02565     char* getPrinterSettingURI(char* pVal, int size) const;
02566     /**
02567      * Get the printer setting file URI.
02568      *
02569      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02570      *          the string is truncated and terminated with a NULL character.
02571      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02572      * @return  Returns the 'pVal'.
02573      */
02574     wchar_t* getPrinterSettingURIW(wchar_t* pVal, int size) const;
02575 
02576     /**
02577      * Specifies the printer setting file URI.
02578      * This setting is effective only with Windows version.
02579      *
02580      * @param   newVal  Pointer to a null-terminated string to be used as the printer name.
02581      */
02582     void setPrinterSettingURI(const char* newVal);
02583     /**
02584      * Specifies the printer setting file URI.
02585      * This setting is effective only with Windows version.
02586      *
02587      * @param   newVal  Pointer to a null-terminated string to be used as the printer name.
02588      */
02589     void setPrinterSettingURIW(const wchar_t* newVal);
02590 
02591     /**
02592      * Get the number of copies. Effective when outputting to printer.
02593      *
02594      * @return  Returns the number of copies.
02595      */
02596     long getPrnCopies() const;
02597 
02598     /**
02599      * Specifies the number of copies. Effective when outputting to printer.
02600      * If nothing is specified, the value is considered as 1.
02601      * This setting is effective only with Windows version.
02602      *
02603      * @param   newVal  the number of copies.
02604      */
02605     void setPrnCopies(long newVal);
02606 
02607     /**
02608      * Get collation of multiple copies.
02609      *
02610      * @return  If zero is returned, the same page is multi-copied continuously.
02611      *          If nonezero is returned, the pages specified from start to end are printed repeatedly.
02612      */
02613     long getPrnCollate() const;
02614 
02615     /**
02616      * Specifies collation of multiple copies. Effective when outputting to printer and the number of
02617      * copies is plural. If it is not specified or the value zero is specified, the same page is
02618      * multi-copied continuously.
02619      * If nonezero is specified, the pages specified from start to end are printed repeatedly.
02620      * This setting is effective only with Windows version.
02621      *
02622      * @param   newVal  Zpecifies zero or nonzero.
02623      */
02624     void setPrnCollate(long newVal);
02625 
02626     /**
02627      * Get the setting of whether print dialog box is displayed or not when printing
02628      *
02629      * @return  If zero, the print dialog box is displayed. If nonezero, the print dialog box is not displayed.
02630      */
02631     long getBatchPrint() const;
02632 
02633     /**
02634      * When the value 'false' is specified, the print dialog box is displayed when printing.
02635      * If the setting is omitted or the value 'true' is specified, the print dialog is not displayed.
02636      * This setting is effective only with Windows version.
02637      *
02638      * @param   newVal  If zero, the print dialog box is displayed. If nonezero, the print dialog box is not displayed.
02639      */
02640     void setBatchPrint(long newVal);
02641 
02642 #if !defined(_DOXYGEN)
02643     /**
02644      * @deprecated
02645      * Get the text of XML document you will format.
02646      * the use of this method is not recommended, use render method.
02647      * @since 3.1
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     char* getDocumentText(char* pVal, int size) const;
02655 
02656     /**
02657      * @deprecated
02658      * Get the text of XML document you will format.
02659      * the use of this method is not recommended, use render method.
02660      * @since 3.1
02661      *
02662      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02663      *          the string is truncated and terminated with a NULL character.
02664      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02665      * @return  Returns the 'pVal'.
02666      */
02667     wchar_t* getDocumentTextW(wchar_t* pVal, int size) const;
02668 
02669     /**
02670      * @deprecated
02671      * Specifies the XML document you will format.
02672      * MSXML3/MSXML4 is required when formatting.
02673      * This setting is effective only with Windows version.
02674      * the use of this method is not recommended, use render method.
02675      * @since 3.1
02676      *
02677      * @param   newVal  Pointer to a null-terminated string to be used as the text of XML document.
02678      */
02679     void setDocumentText(const char* newVal);
02680 
02681     /**
02682      * @deprecated
02683      * Specifies the XML document you will format.
02684      * MSXML3/MSXML4 is required when formatting.
02685      * This setting is effective only with Windows version.
02686      * the use of this method is not recommended, use render method.
02687      * @since 3.1
02688      *
02689      * @param   newVal  Pointer to a null-terminated string to be used as the text of XML document.
02690      */
02691     void setDocumentTextW(const wchar_t* newVal);
02692 #endif
02693 
02694     /**
02695      * Get the text of XSL stylesheet for formatting.
02696      * @since 3.1
02697      *
02698      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02699      *          the string is truncated and terminated with a NULL character.
02700      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02701      * @return  Returns the 'pVal'.
02702      */
02703     char* getStylesheetText(char* pVal, int size) const;
02704 
02705     /**
02706      * Get the text of XSL stylesheet for formatting.
02707      * @since 3.1
02708      *
02709      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02710      *          the string is truncated and terminated with a NULL character.
02711      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02712      * @return  Returns the 'pVal'.
02713      */
02714     wchar_t* getStylesheetTextW(wchar_t* pVal, int size) const;
02715 
02716     /**
02717      * Specifies the text of XSL stylesheet for formatting.
02718      * If the specified XML document is FO, or the XML file contains the processing instruction
02719      * &lt;?xml-stylesheet ...?&gt; and the XSL stylesheet is specified, this setting is ignored.
02720      * Otherwise if there is no setting of this property, an error occurs.
02721      * MSXML3/MSXML4 is required when formatting.
02722      * This setting is effective only with Windows version.
02723      * @since 3.1
02724      *
02725      * @param   newVal  Pointer to a null-terminated string to be used as the text of XSL stylesheet.
02726      */
02727     void setStylesheetText(const char* newVal);
02728 
02729     /**
02730      * Specifies the text of XSL stylesheet for formatting.
02731      * If the specified XML document is FO, or the XML file contains the processing instruction
02732      * &lt;?xml-stylesheet ...?&gt; and the XSL stylesheet is specified, this setting is ignored.
02733      * Otherwise if there is no setting of this property, an error occurs.
02734      * MSXML3/MSXML4 is required when formatting.
02735      * This setting is effective only with Windows version.
02736      * @since 3.1
02737      *
02738      * @param   newVal  Pointer to a null-terminated string to be used as the text of XSL stylesheet.
02739      */
02740     void setStylesheetTextW(const wchar_t* newVal);
02741 
02742 #endif  /* WIN32 */
02743 
02744     /**
02745     * Get the version string of Antenna House Formatter.
02746      * @since 4.0MR4
02747      *
02748      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02749      *          the string is truncated and terminated with a NULL character.
02750      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02751      * @return  Returns the 'pVal'.
02752      */
02753     char* getVersion(char* pVal, int size) const;
02754 
02755     /**
02756     * Get the version string of Antenna House Formatter.
02757      * @since 4.0MR4
02758      *
02759      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02760      *          the string is truncated and terminated with a NULL character.
02761      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02762      * @return  Returns the 'pVal'.
02763      */
02764     wchar_t* getVersionW(wchar_t* pVal, int size) const;
02765 
02766 #if defined(_DOXYGEN) || (defined(_MSC_VER) && defined(_WIN32))
02767     /**
02768      * Acquires the setting of the smoothing processing to text.
02769      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02770      *
02771      * @return  Specify whether to perform the smoothing processing to text.
02772      */
02773     bool getGdiTextAntialias() const;
02774 
02775     /**
02776      * Performs the smoothing processing to text.
02777      * Effective only when printing and outputting images.
02778      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02779      *
02780      * @param   newVal  Smoothing value.
02781      */
02782     void setGdiTextAntialias(bool newVal);
02783 
02784     /**
02785      * Acquires the setting of the smoothing processing to borders.
02786      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02787      *
02788      * @return  Specify whether to perform the smoothing processing to borders.
02789      */
02790     bool getGdiLineartSmoothing() const;
02791 
02792     /**
02793      * Performs the smoothing processing to borders.
02794      * Effective only when printing and outputting images.
02795      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02796      *
02797      * @param   newVal  Smoothing value.
02798      */
02799     void setGdiLineartSmoothing(bool newVal);
02800 
02801     /**
02802      * Acquires the setting of the smoothing processing to images.
02803      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02804      *
02805      * @return  Specify whether to perform the smoothing processing to images.
02806      */
02807     bool getGdiImageSmoothing() const;
02808 
02809     /**
02810      * Performs the smoothing processing to images.
02811      * Effective only when printing and outputting images.
02812      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02813      *
02814      * @param   newVal  Smoothing value.
02815      */
02816     void setGdiImageSmoothing(bool newVal);
02817 #endif
02818 
02819     /**
02820      * Get the watermark text on each page.
02821      *
02822      * @param   pVal
02823      *      Pointer to the buffer that will receive the text.
02824      *      If the string is as long or longer than the buffer,
02825      *      the string is truncated and terminated with a NULL character.
02826      * @param   size
02827      *      Specifies the number of the 'pVal' buffer, including the NULL character.
02828      *      If the text exceeds this limit, it is truncated.
02829      * @return  Returns the 'pVal'.
02830      */
02831     char* getWatermarkText(char* pVal, int size) const;
02832 
02833     /**
02834      * Get watermark text on each page.
02835      *
02836      * @param   pVal
02837      *      Pointer to the buffer that will receive the text.
02838      *      If the string is as long or longer than the buffer,
02839      *      the string is truncated and terminated with a NULL character.
02840      * @param   size
02841      *      Specifies the number of the 'pVal' buffer, including the NULL character.
02842      *      If the text exceeds this limit, it is truncated.
02843      * @return  Returns the 'pVal'.
02844      */
02845     wchar_t* getWatermarkTextW(wchar_t* pVal, int size) const;
02846 
02847     /**
02848      * Displays the specified watermark text on each page.
02849      * Possible to make it multiple lines by delimiting with the line feed \n.
02850      * This setting is invalid with the evaluation version.
02851      *
02852      * @param   newVal
02853      *      Pointer to a null-terminated string.
02854      */
02855     void setWatermarkText(const char* newVal);
02856 
02857     /**
02858      * Displays the specified watermark text on each page.
02859      * Possible to make it multiple lines by delimiting with the line feed \n.
02860      * This setting is invalid with the evaluation version.
02861      *
02862      * @param   newVal
02863      *      Pointer to a null-terminated string.
02864      */
02865     void setWatermarkTextW(const wchar_t* newVal);
02866 
02867     /**
02868      * Get the font family of the watermark text.
02869      *
02870      * @param   pVal
02871      *      Pointer to the buffer that will receive the text.
02872      *      If the string is as long or longer than the buffer,
02873      *      the string is truncated and terminated with a NULL character.
02874      * @param   size
02875      *      Specifies the number of the 'pVal' buffer, including the NULL character.
02876      *      If the text exceeds this limit, it is truncated.
02877      * @return  Returns the 'pVal'.
02878      */
02879     char* getWatermarkFontFamily(char* pVal, int size) const;
02880 
02881     /**
02882      * Get the font family of the watermark text.
02883      *
02884      * @param   pVal
02885      *      Pointer to the buffer that will receive the text.
02886      *      If the string is as long or longer than the buffer,
02887      *      the string is truncated and terminated with a NULL character.
02888      * @param   size
02889      *      Specifies the number of the 'pVal' buffer, including the NULL character.
02890      *      If the text exceeds this limit, it is truncated.
02891      * @return  Returns the 'pVal'.
02892      */
02893     wchar_t* getWatermarkFontFamilyW(wchar_t* pVal, int size) const;
02894 
02895     /**
02896      * Specifies the font family to the character string which you set to watermark-text.
02897      *
02898      * @param   newVal
02899      *      Pointer to a null-terminated string.
02900      */
02901     void setWatermarkFontFamily(const char* newVal);
02902 
02903     /**
02904      * Specifies the font family to the character string which you set to watermark-text.
02905      *
02906      * @param   newVal
02907      *      Pointer to a null-terminated string.
02908      */
02909     void setWatermarkFontFamilyW(const wchar_t* newVal);
02910 
02911     /**
02912      * Get the font weight of the watermark text.
02913      *
02914      * @param   pVal
02915      *      Pointer to the buffer that will receive the text.
02916      *      If the string is as long or longer than the buffer,
02917      *      the string is truncated and terminated with a NULL character.
02918      * @param   size
02919      *      Specifies the number of the 'pVal' buffer, including the NULL character.
02920      *      If the text exceeds this limit, it is truncated.
02921      * @return  Returns the 'pVal'.
02922      */
02923     char* getWatermarkFontWeight(char* pVal, int size) const;
02924 
02925     /**
02926      * Get the font weight of the watermark text.
02927      *
02928      * @param   pVal
02929      *      Pointer to the buffer that will receive the text.
02930      *      If the string is as long or longer than the buffer,
02931      *      the string is truncated and terminated with a NULL character.
02932      * @param   size
02933      *      Specifies the number of the 'pVal' buffer, including the NULL character.
02934      *      If the text exceeds this limit, it is truncated.
02935      * @return  Returns the 'pVal'.
02936      */
02937     wchar_t* getWatermarkFontWeightW(wchar_t* pVal, int size) const;
02938 
02939     /**
02940      * Specifies the font weight to the character string which you set to watermark-text.
02941      * Possible to specify normal, bold or the numerical value from 100 to 900.
02942      *
02943      * @param   newVal
02944      *      Pointer to a null-terminated string.
02945      */
02946     void setWatermarkFontWeight(const char* newVal);
02947 
02948     /**
02949      * Specifies the font weight to the character string which you set to watermark-text.
02950      * Possible to specify normal, bold or the numerical value from 100 to 900.
02951      *
02952      * @param   newVal
02953      *      Pointer to a null-terminated string.
02954      */
02955     void setWatermarkFontWeightW(const wchar_t* newVal);
02956 
02957     /**
02958      * Get the font style of the watermark text.
02959      *
02960      * @param   pVal
02961      *      Pointer to the buffer that will receive the text.
02962      *      If the string is as long or longer than the buffer,
02963      *      the string is truncated and terminated with a NULL character.
02964      * @param   size
02965      *      Specifies the number of the 'pVal' buffer, including the NULL character.
02966      *      If the text exceeds this limit, it is truncated.
02967      * @return  Returns the 'pVal'.
02968      */
02969     char* getWatermarkFontStyle(char* pVal, int size) const;
02970 
02971     /**
02972      * Get the font style of the watermark text.
02973      *
02974      * @param   pVal
02975      *      Pointer to the buffer that will receive the text.
02976      *      If the string is as long or longer than the buffer,
02977      *      the string is truncated and terminated with a NULL character.
02978      * @param   size
02979      *      Specifies the number of the 'pVal' buffer, including the NULL character.
02980      *      If the text exceeds this limit, it is truncated.
02981      * @return  Returns the 'pVal'.
02982      */
02983     wchar_t* getWatermarkFontStyleW(wchar_t* pVal, int size) const;
02984 
02985     /**
02986      * Specifies the font style to the character string which you set to watermark-text.
02987      *
02988      * @param   newVal
02989      *      Pointer to a null-terminated string.
02990      */
02991     void setWatermarkFontStyle(const char* newVal);
02992 
02993     /**
02994      * Specifies the font style to the character string which you set to watermark-text.
02995      *
02996      * @param   newVal
02997      *      Pointer to a null-terminated string.
02998      */
02999     void setWatermarkFontStyleW(const wchar_t* newVal);
03000 
03001     /**
03002      * Get the opacity of the watermark text.
03003      *
03004      * @param   pVal
03005      *      Pointer to the buffer that will receive the text.
03006      *      If the string is as long or longer than the buffer,
03007      *      the string is truncated and terminated with a NULL character.
03008      * @param   size
03009      *      Specifies the number of the 'pVal' buffer, including the NULL character.
03010      *      If the text exceeds this limit, it is truncated.
03011      * @return  Returns the 'pVal'.
03012      */
03013     char* getWatermarkOpacity(char* pVal, int size) const;
03014 
03015     /**
03016      * Get the opacity of the watermark text.
03017      *
03018      * @param   pVal
03019      *      Pointer to the buffer that will receive the text.
03020      *      If the string is as long or longer than the buffer,
03021      *      the string is truncated and terminated with a NULL character.
03022      * @param   size
03023      *      Specifies the number of the 'pVal' buffer, including the NULL character.
03024      *      If the text exceeds this limit, it is truncated.
03025      * @return  Returns the 'pVal'.
03026      */
03027     wchar_t* getWatermarkOpacityW(wchar_t* pVal, int size) const;
03028 
03029     /**
03030      * Specifies the opacity to the character string which you set to watermark-text.
03031      *
03032      * @param   newVal
03033      *      Pointer to a null-terminated string.
03034      */
03035     void setWatermarkOpacity(const char* newVal);
03036 
03037     /**
03038      * Specifies the opacity to the character string which you set to watermark-text.
03039      *
03040      * @param   newVal
03041      *      Pointer to a null-terminated string.
03042      */
03043     void setWatermarkOpacityW(const wchar_t* newVal);
03044 
03045 };
03046 
03047 
03048 /***************************************************************
03049  * Exception class that returns the error information in the formatting process.
03050  */
03051 class XFOINTERFACE_API XfoException
03052 {
03053 public:
03054     /**
03055      * Constructor
03056      */
03057     XfoException(XfoIfErrorLevel errorLevel, XfoIfErrorCode errorCode, const wchar_t* errorMessage);
03058 
03059     /**
03060      * Copy constructor
03061      */
03062     XfoException(const XfoException &e);
03063 
03064     /**
03065      * Destructor
03066      */
03067     ~XfoException();
03068 
03069 private:
03070     XfoIfErrorLevel m_errorLevel;           /* Error level */
03071     XfoIfErrorCode  m_errorCode;            /* Error code */
03072     wchar_t*        m_errorMessage;         /* Error message */
03073 
03074 public:
03075     /**
03076      * Get the error level.
03077      *
03078      * @return  Returns the error level.
03079      */
03080     XfoIfErrorLevel getErrorLevel() const;
03081 
03082     /**
03083      * Get the error code.
03084      *
03085      * @return  Returns the error code.
03086      */
03087     XfoIfErrorCode getErrorCode() const;
03088 
03089     /**
03090      * Get the error message.
03091      *
03092      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
03093      *          the string is truncated and terminated with a NULL character.
03094      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
03095      * @return  Returns the 'pVal'.
03096      */
03097     char* getErrorMessage(char* pVal, int size) const;
03098 
03099     /**
03100      * Get the error message.
03101      *
03102      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
03103      *          the string is truncated and terminated with a NULL character.
03104      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
03105      * @return  Returns the 'pVal'.
03106      */
03107     wchar_t* getErrorMessageW(wchar_t* pVal, int size) const;
03108 };
03109 
03110 
03111 }
03112 
03113 #endif  /* XFOIFC_H__ */

Generated on 19 Sep 2025 for Antenna House Formatter C/C++ Interface by Doxygen 1.3-rc2