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

Generated on 6 Apr 2020 for AHFormatter C/C++ Interface by Doxygen 1.3-rc2