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 Auto</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 JPEG2000 compression</td></tr>
00959      * </table>
00960      *
00961      * @return  the value of how raster graphics are compressed and stored
00962      */
00963     XfoPDFIMAGECOMPRESSION getPdfImageCompression() const;
00964 
00965     /**
00966      * Effective when outputting to PDF.
00967      * 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>
00968      * 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>
00969 This is the setting for the color image. Spesify setPdfGrayscaleImageCompression for the grayscale image, and setPdfMonochromeImageCompression for the monochrome image.
00970      * @since 3.1
00971      *
00972      * <table border="0" cellspacing="0" cellpadding="0">
00973      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 Auto</td></tr>
00974      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG compression</td></tr>
00975      *  <tr><td>IMGCMPR_ZLIB    </td><td>= 2 ZLIB compression</td></tr>
00976      *  <tr><td>IMGCMPR_JPEG2K  </td><td>= 3 JPEG2000 compression</td></tr>
00977      * </table>
00978      *
00979      * @param   newVal  the value of how raster graphics are compressed and stored
00980      */
00981     void setPdfImageCompression(XfoPDFIMAGECOMPRESSION newVal);
00982 
00983     /**
00984      * Gets the value of the quality of JPEG format that is specified by xfo_setPdfImageCompression() stored in PDF.
00985      * @since 3.1
00986      *
00987      * @return  the value of the quality of JPEG format
00988      */
00989     int getPdfJPEGQuality() const;
00990 
00991     /**
00992      * Effective when outputting to PDF.
00993      * 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>
00994      * CAUTION:     It is not for changing the quality of a JPEG format image.<BR>
00995      * This is the setting for the color image. Spesify setPdfGrayscaleJPEGQuality for the grayscale image.
00996      * @since 3.1
00997      *
00998      * @param   newVal  the value of the quality of JPEG format
00999      */
01000     void setPdfJPEGQuality(int newVal);
01001 
01002     /**
01003      * Effective when outputting to PDF.
01004      * 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.
01005      * @since 3.1
01006      *
01007      * @return  the value of whether make the size of PDF smaller or not
01008      */
01009     long getPdfCompressContentStream() const;
01010 
01011     /**
01012      * Effective when outputting to PDF.
01013      * Specifies whether the text and the line art in PDF are compressed in order to make the size of PDF smaller or not.
01014      * @since 3.1
01015      *
01016      * @param   newVal  If the value is 'true' is specified, make the PDF compress
01017      */
01018     void setPdfCompressContentStream(long newVal);
01019 
01020     /**
01021      * Effective when outputting to PDF.
01022      * Gets the value of how to transform external link specified by the relative address in the PDF link.
01023      * @since 3.1
01024      *
01025      * @return  the value of how to transform external link
01026      */
01027     long getPdfUseLaunchForRelativeURI() const;
01028 
01029     /**
01030      * Effective when outputting to PDF.
01031      * 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.
01032      * @since 3.1
01033      *
01034      * @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'
01035      */
01036     void setPdfUseLaunchForRelativeURI(long newVal);
01037 
01038     /**
01039      * Effective when outputting to PDF.
01040      * Gets the value of how to convert the RGB color space (DebiceRGB) to DeviceGray.
01041      * @since 3.1
01042      *
01043      * <table border="0" cellspacing="0" cellpadding="0">
01044      *  <tr><td>RGBCONV_NONE    </td><td>= 0 No Conversion</td></tr>
01045      *  <tr><td>RGBCONV_BLACK   </td><td>= 1 Black to DeviceGray</td></tr>
01046      *  <tr><td>RGBCONV_GRAY    </td><td>= 2 Gray to DeviceGray</td></tr>
01047      *  <tr><td>RGBCONV_ALL     </td><td>= 3 All RGB to DeviceGray</td></tr>
01048      * </table>
01049      *
01050      * @return  the value of how to convert
01051      */
01052     XfoPDFRGBCONVERSION getPdfRGBConversion() const;
01053 
01054     /**
01055      * Effective when outputting to PDF.
01056      * Specifies how to convert the RGB color space (DeviceRGB) to DeviceGray.
01057      * @since 3.1
01058      *
01059      * <table border="0" cellspacing="0" cellpadding="0">
01060      *  <tr><td>RGBCONV_NONE    </td><td>= 0 No Conversion</td></tr>
01061      *  <tr><td>RGBCONV_BLACK   </td><td>= 1 Black to DeviceGray</td></tr>
01062      *  <tr><td>RGBCONV_GRAY    </td><td>= 2 Gray to DeviceGray</td></tr>
01063      *  <tr><td>RGBCONV_ALL     </td><td>= 3 All RGB to DeviceGray</td></tr>
01064      * </table>
01065      *
01066      * @param   newVal  the value of how to convert
01067      */
01068     void setPdfRGBConversion(XfoPDFRGBCONVERSION newVal);
01069 
01070 #if defined(_DOXYGEN) || (defined(_MSC_VER) && defined(_WIN32))
01071 
01072     /**
01073      * Effective when outputting to PDF.
01074      * Gets the value of the rasterised-resolution of the transformed raster images.
01075      * @since 3.1
01076      *
01077      * @return  Rasterised-resolution
01078      */
01079     int getPdfRasterizeResolution() const;
01080 
01081     /**
01082      * Effective when outputting to PDF.
01083      * 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.
01084      * This setting is effective only with Windows version.
01085      * @since 3.1
01086      *
01087      * @param   newVal  Rasterised-resolution (70 to 500)
01088      */
01089     void setPdfRasterizeResolution(int newVal);
01090 
01091 #endif
01092 
01093     /**
01094      * Effective when outputting to PDF.
01095      * Gets the value of whether to output linearize PDF or not.
01096      * @since 3.3
01097      *
01098      * @return  the value of whether to output linearize pdf or not.
01099      */
01100     long getPdfLinearize() const;
01101 
01102     /**
01103      * Effective when outputting to PDF.
01104      * Specifies whether to output linearize PDF or not.
01105      * @since 3.3
01106      *
01107      * @param   newVal  If the value is 'true' is specified, output linearlize PDF.
01108      */
01109     void setPdfLinearize(long newVal);
01110 
01111 #if defined(_DOXYGEN) || (defined(_MSC_VER) && defined(_WIN32))
01112 
01113     /**
01114      * Effective when outputting to PDF.
01115      * Gets the value of whether to sign a signature to PDF or not.
01116      * @since 4.2
01117      *
01118      * @return  the value of whether to sign a signature to PDF or not.
01119      */
01120     long getPdfSignature() const;
01121 
01122     /**
01123      * Effective when outputting to PDF.
01124      * Specifies whether to sign a signature to PDF or not.
01125      * @since 4.2
01126      *
01127      * @param   newVal  If the value is 'true' is specified, sign a signature to PDF.
01128      */
01129     void setPdfSignature(long newVal);
01130 
01131     /**
01132      * Effective when outputting to PDF.
01133      * Gets the value of a signature information name.
01134      * @since 4.2
01135      *
01136      * @return  the value of a signature information name.
01137      */
01138     char* getPdfSignatureName(char* pVal, int size) const;
01139 
01140     /**
01141      * Effective when outputting to PDF.
01142      * Gets the value of a signature information name.
01143      * @since 4.2
01144      *
01145      * @return  the value of a signature information name.
01146      */
01147     wchar_t* getPdfSignatureNameW(wchar_t* pVal, int size) const;
01148 
01149     /**
01150      * Effective when outputting to PDF.
01151      * Sets a signature information name.
01152      * @since 4.2
01153      *
01154      * @param   newVal  the value of a signature information name.
01155      */
01156     void setPdfSignatureName(const char* newVal);
01157 
01158     /**
01159      * Effective when outputting to PDF.
01160      * Sets a signature information name.
01161      * @since 4.2
01162      *
01163      * @param   newVal  the value of a signature information name.
01164      */
01165     void setPdfSignatureNameW(const wchar_t* newVal);
01166 
01167     /**
01168      * Effective when outputting to PDF.
01169      * Gets the value of a certificate information name.
01170      * @since 4.2
01171      *
01172      * @return  the value of a certificate information name.
01173      */
01174     char* getPdfCertificateName(char* pVal, int size) const;
01175 
01176     /**
01177      * Effective when outputting to PDF.
01178      * Gets the value of a certificate information name.
01179      * @since 4.2
01180      *
01181      * @return  the value of a certificate information name.
01182      */
01183     wchar_t* getPdfCertificateNameW(wchar_t* pVal, int size) const;
01184 
01185     /**
01186      * Effective when outputting to PDF.
01187      * Sets a certificate information name.
01188      * @since 4.2
01189      *
01190      * @param   newVal  the value of a certificate information name.
01191      */
01192     void setPdfCertificateName(const char* newVal);
01193 
01194     /**
01195      * Effective when outputting to PDF.
01196      * Sets a certificate information name.
01197      * @since 4.2
01198      *
01199      * @param   newVal  the value of a certificate information name.
01200      */
01201     void setPdfCertificateNameW(const wchar_t* newVal);
01202 
01203 #endif
01204 
01205     /**
01206      * Effective when outputting to PDF.
01207      * Gets the value of whether to embed all embeddable fonts
01208      * @since 3.3
01209      *
01210      * <table border="0" cellspacing="0" cellpadding="0">
01211      *  <tr><td>EMBALLFONT_PART </td><td>= 0 Specified fonts </td></tr>
01212      *  <tr><td>EMBALLFONT_ALL  </td><td>= 1 All fonts except Base14 fonts</td></tr>
01213      *  <tr><td>EMBALLFONT_BASE14   </td><td>= 2 All fonts</td></tr>
01214      * </table>
01215      *
01216      * @return  the value of whether to embed all embeddable fonts
01217      */
01218     XfoEMBEDALLFONT getPdfEmbedAllFontsEx(void) const;
01219 
01220     /**
01221      * Effective when outputting to PDF.
01222      * 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.
01223      * @since 3.3
01224      *
01225      * <table border="0" cellspacing="0" cellpadding="0">
01226      *  <tr><td>EMBALLFONT_PART </td><td>= 0 Specified fonts </td></tr>
01227      *  <tr><td>EMBALLFONT_ALL  </td><td>= 1 All fonts except Base14 fonts</td></tr>
01228      *  <tr><td>EMBALLFONT_BASE14   </td><td>= 2 All fonts</td></tr>
01229      * </table>
01230      *
01231      *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.
01232      *
01233      * @param   newVal  the value of whether to embed all embeddable fonts
01234      */
01235     void setPdfEmbedAllFontsEx(XfoEMBEDALLFONT newVal);
01236 
01237     /**
01238      * Effective when outputting to PDF.
01239      * Gets the value of method to downsample the color image
01240      * @since 3.3
01241      *
01242      * @return  the value of method to downsample the color image
01243      */
01244     XfoIMAGEDOWNSAMPLING getPdfImageDownSampling(void) const;
01245 
01246     /**
01247      * Effective when outputting to PDF.
01248      * Specifies the following either of method to downsample the color image that is put into PDF.
01249      * @since 3.3
01250      *
01251      * <table border="0" cellspacing="0" cellpadding="0">
01252      *  <tr><td>IMGDOWNSAMPLING_NONE    </td><td>= 0 No downsampling </td></tr>
01253      *  <tr><td>IMGDOWNSAMPLING_AVERAGE </td><td>= 1 Average downsamplin</td></tr>
01254      *  <tr><td>IMGDOWNSAMPLING_BICUBIC </td><td>= 2 Bicubic downsampling</td></tr>
01255      *  <tr><td>IMGDOWNSAMPLING_SUBSAMPLING </td><td>= 3 Subsampling</td></tr>
01256      * </table>
01257      *
01258      * 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.
01259 This is the setting for the color image. Spesify setPdfGrayscaleImageDownSampling for the grayscale image, and setPdfMonochromeImageDownSampling for the monochrome image.
01260      *
01261      * @param   newVal  the value of method to downsample the color image
01262      */
01263     void setPdfImageDownSampling(XfoIMAGEDOWNSAMPLING newVal);
01264 
01265     /**
01266      * Effective when outputting to PDF.
01267      * Gets resolution when the color image is downsampled.
01268      * @since 3.3
01269      *
01270      * @return  the value of resolution.
01271      */
01272     int getPdfImageDownSamplingTarget(void) const;
01273 
01274     /**
01275      * Effective when outputting to PDF.
01276      * Set resolution when the color image is downsampled.
01277      * @since 3.3
01278      *
01279      * @param   newVal  the value of resolution.
01280      */
01281     void setPdfImageDownSamplingTarget(int newVal);
01282 
01283     /**
01284      * Effective when outputting to PDF.
01285      * Gets resolution of the color image which performs a downsampling.
01286      * @since 3.3
01287      *
01288      * @return  the value of resolution.
01289      */
01290     int getPdfImageDownSamplingDPI(void) const;
01291 
01292     /**
01293      * Effective when outputting to PDF.
01294      * Set resolution of the color image which performs a downsampling.
01295      * @since 3.3
01296      *
01297      * @param   newVal  the value of resolution.
01298      */
01299     void setPdfImageDownSamplingDPI(int newVal);
01300 
01301     /**
01302      * Effective when outputting to PDF.
01303      * Gets specification whether to embed to PDF the color profile of the color image that will be embedded to PDF.
01304      * @since 3.3
01305      *
01306      * @return  If nonezero is specified, it is embedded. If zero is specified, it is not embedded.
01307      */
01308     long getPdfPutImageColorProfile(void) const;
01309 
01310     /**
01311      * Effective when outputting to PDF.
01312      * Specifies whether to embed to PDF the color profile of the color image that will be embedded to PDF.
01313      * @since 3.3
01314      *
01315      * @param   newVal  If nonezero is specified, it is embedded. If zero is specified, it is not embedded.
01316      */
01317     void setPdfPutImageColorProfile(long newVal);
01318 
01319     /**
01320      * Effective when outputting to PDF.
01321      * Gets the value of how to compress the grayscale images embedded in PDF.
01322      * @since 3.3
01323      *
01324      * <table border="0" cellspacing="0" cellpadding="0">
01325      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 Auto</td></tr>
01326      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG compression</td></tr>
01327      *  <tr><td>IMGCMPR_ZLIB    </td><td>= 2 ZLIB compression</td></tr>
01328      *  <tr><td>IMGCMPR_JPEG2K  </td><td>= 3 JPEG2000 compression</td></tr>
01329      * </table>
01330      *
01331      * @return  the value of how raster graphics are compressed and stored
01332      */
01333     XfoPDFIMAGECOMPRESSION getPdfGrayscaleImageCompression(void) const;
01334 
01335     /**
01336      * Effective when outputting to PDF.
01337      * 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>
01338      * 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>
01339 This is the setting for the grayscale image. Spesify setPdfImageCompression for the color image, and setPdfMonochromeImageCompression for the monochrome image.
01340      * @since 3.3
01341      *
01342      * <table border="0" cellspacing="0" cellpadding="0">
01343      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 Auto</td></tr>
01344      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG compression</td></tr>
01345      *  <tr><td>IMGCMPR_ZLIB    </td><td>= 2 ZLIB compression</td></tr>
01346      *  <tr><td>IMGCMPR_JPEG2K  </td><td>= 3 JPEG2000 compression</td></tr>
01347      * </table>
01348      *
01349      * @param   newVal  the value of how raster graphics are compressed and stored
01350      */
01351     void setPdfGrayscaleImageCompression(XfoPDFIMAGECOMPRESSION newVal);
01352 
01353     /**
01354      * Effective when outputting to PDF.
01355      * Gets the value of the quality of JPEG format that is specified by xfo_setPdfGrayscaleImageCompression stored in PDF.
01356      * @since 3.3
01357      *
01358      * @return  the value of the quality of JPEG format
01359      */
01360     int getPdfGrayscaleJPEGQuality(void) const;
01361 
01362     /**
01363      * Effective when outputting to PDF.
01364      * 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>
01365      * CAUTION: It is not for changing the quality of a JPEG format image.<BR>
01366      * This is the setting for the grayscale image. Spesify setPdfJPEGQuality for the color image.
01367      * @since 3.3
01368      *
01369      * @param   newVal  the value of the quality of JPEG format
01370      */
01371     void setPdfGrayscaleJPEGQuality(int newVal);
01372 
01373     /**
01374      * Effective when outputting to PDF.
01375      * Gets the value of method to downsample the grayscale image
01376      * @since 3.3
01377      *
01378      * @return  the value of method to downsample the grayscale image
01379      */
01380     XfoIMAGEDOWNSAMPLING getPdfGrayscaleImageDownSampling(void) const;
01381 
01382     /**
01383      * Effective when outputting to PDF.
01384      * Specifies the following either of method to downsample the grayscale image that is put into PDF.
01385      * @since 3.3
01386      *
01387      * <table border="0" cellspacing="0" cellpadding="0">
01388      *  <tr><td>IMGDOWNSAMPLING_NONE    </td><td>= 0 No downsampling </td></tr>
01389      *  <tr><td>IMGDOWNSAMPLING_AVERAGE </td><td>= 1 Average downsamplin</td></tr>
01390      *  <tr><td>IMGDOWNSAMPLING_BICUBIC </td><td>= 2 Bicubic downsampling</td></tr>
01391      *  <tr><td>IMGDOWNSAMPLING_SUBSAMPLING </td><td>= 3 Subsampling</td></tr>
01392      * </table>
01393      *
01394      * 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.
01395 This is the setting for the grayscale image. Spesify setPdfImageDownSampling for the color image, and setPdfMonochromeImageDownSampling for the monochrome image.
01396      *
01397      * @param   newVal  the value of method to downsample the grayscale image
01398      */
01399     void setPdfGrayscaleImageDownSampling(XfoIMAGEDOWNSAMPLING newVal);
01400 
01401     /**
01402      * Effective when outputting to PDF.
01403      * Gets resolution when the grayscale image is downsampled.
01404      * @since 3.3
01405      *
01406      * @return  the value of resolution.
01407      */
01408     int getPdfGrayscaleImageDownSamplingTarget(void) const;
01409 
01410     /**
01411      * Effective when outputting to PDF.
01412      * Set resolution when the grayscale image is downsampled.
01413      * @since 3.3
01414      *
01415      * @param   newVal  the value of resolution.
01416      */
01417     void setPdfGrayscaleImageDownSamplingTarget(int newVal);
01418 
01419     /**
01420      * Effective when outputting to PDF.
01421      * Gets resolution of the grayscale image which performs a downsampling.
01422      * @since 3.3
01423      *
01424      * @return  the value of resolution.
01425      */
01426     int getPdfGrayscaleImageDownSamplingDPI(void) const;
01427 
01428     /**
01429      * Effective when outputting to PDF.
01430      * Set resolution of the grayscale image which performs a downsampling.
01431      * @since 3.3
01432      *
01433      * @param   newVal  the value of resolution.
01434      */
01435     void setPdfGrayscaleImageDownSamplingDPI(int newVal);
01436 
01437     /**
01438      * Effective when outputting to PDF.
01439      * Gets the value of how to compress the monochrome images embedded in PDF.
01440      * @since 3.3
01441      *
01442      * <table border="0" cellspacing="0" cellpadding="0">
01443      *  <tr><td>MONOCMPR_CCITT4     </td><td>= 0 CCITTFaxDecode group 4 filter,default value</td></tr>
01444      *  <tr><td>MONOCMPR_CCITT3     </td><td>= 1 CCITTFaxDecode group 3 filter</td></tr>
01445      *  <tr><td>MONOCMPR_RUNLENGTH  </td><td>= 2 RunLengthDecode filter</td></tr>
01446      *  <tr><td>MONOCMPR_ZLIB       </td><td>= 3 FlateDecode filter</td></tr>
01447      *  <tr><td>MONOCMPR_OFF        </td><td>= 4 no filter</td></tr>
01448      * </table>
01449      *
01450      * @return  the value of how raster graphics are compressed and stored
01451      */
01452     XfoMONOCHROMECOMPRESSION getPdfMonochromeImageCompression(void) const;
01453 
01454     /**
01455      * Effective when outputting to PDF.
01456      * 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>
01457 This is the setting for the monochrome image. Spesify setPdfGrayscaleImageCompression for the grayscale image, and setPdfImageCompression for the color image.
01458      * @since 3.3
01459      *
01460      * <table border="0" cellspacing="0" cellpadding="0">
01461      *  <tr><td>MONOCMPR_CCITT4     </td><td>= 0 CCITTFaxDecode group 4 filter,default value</td></tr>
01462      *  <tr><td>MONOCMPR_CCITT3     </td><td>= 1 CCITTFaxDecode group 3 filter</td></tr>
01463      *  <tr><td>MONOCMPR_RUNLENGTH  </td><td>= 2 RunLengthDecode filter</td></tr>
01464      *  <tr><td>MONOCMPR_ZLIB       </td><td>= 3 FlateDecode filter</td></tr>
01465      *  <tr><td>MONOCMPR_OFF        </td><td>= 4 no filter</td></tr>
01466      * </table>
01467      *
01468      * @param   newVal  the value of how raster graphics are compressed and stored
01469      */
01470     void setPdfMonochromeImageCompression(XfoMONOCHROMECOMPRESSION newVal);
01471 
01472     /**
01473      * Effective when outputting to PDF.
01474      * Gets the value of method to downsample the monochrome image
01475      * @since 3.3
01476      *
01477      * @return  the value of method to downsample the monochrome image
01478      */
01479     XfoIMAGEDOWNSAMPLING getPdfMonochromeImageDownSampling(void) const;
01480 
01481     /**
01482      * Effective when outputting to PDF.
01483      * Specifies the following either of method to downsample the monochrome image that is put into PDF.
01484      * @since 3.3
01485      *
01486      * <table border="0" cellspacing="0" cellpadding="0">
01487      *  <tr><td>IMGDOWNSAMPLING_NONE    </td><td>= 0 No downsampling </td></tr>
01488      *  <tr><td>IMGDOWNSAMPLING_AVERAGE </td><td>= 1 Average downsamplin</td></tr>
01489      *  <tr><td>IMGDOWNSAMPLING_BICUBIC </td><td>= 2 Bicubic downsampling</td></tr>
01490      *  <tr><td>IMGDOWNSAMPLING_SUBSAMPLING </td><td>= 3 Subsampling</td></tr>
01491      * </table>
01492      *
01493      * 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.
01494 This is the setting for the monochrome image. Spesify setPdfImageDownSampling for the color image, and setPdfGrayscaleImageDownSampling for the grayscale image.
01495      *
01496      * @param   newVal  the value of method to downsample the monochrome image
01497      */
01498     void setPdfMonochromeImageDownSampling(XfoIMAGEDOWNSAMPLING newVal);
01499 
01500     /**
01501      * Effective when outputting to PDF.
01502      * Gets resolution when the monochrome image is downsampled.
01503      * @since 3.3
01504      *
01505      * @return  the value of resolution.
01506      */
01507     int getPdfMonochromeImageDownSamplingTarget(void) const;
01508 
01509     /**
01510      * Effective when outputting to PDF.
01511      * Set resolution when the monochrome image is downsampled.
01512      * @since 3.3
01513      *
01514      * @param   newVal  the value of resolution.
01515      */
01516     void setPdfMonochromeImageDownSamplingTarget(int newVal);
01517 
01518     /**
01519      * Effective when outputting to PDF.
01520      * Gets resolution of the monochrome image which performs a downsampling.
01521      * @since 3.3
01522      *
01523      * @return  the value of resolution.
01524      */
01525     int getPdfMonochromeImageDownSamplingDPI(void) const;
01526 
01527     /**
01528      * Effective when outputting to PDF.
01529      * Set resolution of the monochrome image which performs a downsampling.
01530      * @since 3.3
01531      *
01532      * @param   newVal  the value of resolution.
01533      */
01534     void setPdfMonochromeImageDownSamplingDPI(int newVal);
01535 
01536     /**
01537      * Gets the specification of two pass format.
01538      * @since 4.1
01539      *
01540      * @return  the specification of two pass format.
01541      */
01542     long getTwoPassFormatting() const;
01543 
01544     /**
01545      * Set the specification of two pass format.
01546      * @since 4.1
01547      *
01548      * @param   newVal   the specification of two pass format.
01549      */
01550     void setTwoPassFormatting(long newVal);
01551 
01552     /**
01553      * Effective when outputting to PDF.
01554      * Gets the value of whether to output Tagged PDF or not.
01555      * @since 4.0
01556      *
01557      * @return  the value of whether to output Tagged pdf or not.
01558      */
01559     long getPdfTag() const;
01560 
01561     /**
01562      * Effective when outputting to PDF.
01563      * Generates Tagged PDF. Ignored if PDF cannot be tagged depending on the PDF versions.
01564      * @since 4.0
01565      *
01566      * @param   newVal  If the value is 'true' is specified, output Tagged PDF.
01567      */
01568     void setPdfTag(long newVal);
01569 
01570     /**
01571      * Effective when outputting to PDF.
01572      * Gets the width of PDF to output.
01573      * @since 4.0
01574      *
01575      * @param   pVal        Pointer to the buffer that will receive the width of PDF. If the string is as long or longer than the buffer,
01576      *          the string is truncated and terminated with a NULL character.
01577      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01578      * @return  Returns the 'pVal'.
01579      */
01580     char* getPdfOutputWidth(char* pVal, int size) const;
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     wchar_t* getPdfOutputWidthW(wchar_t* pVal, int size) const;
01593 
01594     /**
01595      * Effective when outputting to PDF.
01596      * Scales the width of PDF to output. A value with a unit or % value can be specified as length.
01597      * @since 4.0
01598      *
01599      * @param   newVal  Pointer to a null-terminated string to be used as the width of PDF to output.
01600      */
01601     void setPdfOutputWidth(const char* newVal);
01602 
01603     /**
01604      * Effective when outputting to PDF.
01605      * Scales the width of PDF to output. A value with a unit or % value can be specified as length.
01606      * @since 4.0
01607      *
01608      * @param   newVal  Pointer to a null-terminated string to be used as the width of PDF to output.
01609      */
01610     void setPdfOutputWidthW(const wchar_t* newVal);
01611 
01612     /**
01613      * Effective when outputting to PDF.
01614      * Gets the height of PDF to output.
01615      * @since 4.0
01616      *
01617      * @param   pVal        Pointer to the buffer that will receive the height of PDF. If the string is as long or longer than the buffer,
01618      *          the string is truncated and terminated with a NULL character.
01619      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01620      * @return  Returns the 'pVal'.
01621      */
01622     char* getPdfOutputHeight(char* pVal, int size) const;
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     wchar_t* getPdfOutputHeightW(wchar_t* pVal, int size) const;
01635 
01636     /**
01637      * Effective when outputting to PDF.
01638      * Scales the height of PDF to output. A value with a unit or % value can be specified as length.
01639      * @since 4.0
01640      *
01641      * @param   newVal  Pointer to a null-terminated string to be used as the width of PDF to output.
01642      */
01643     void setPdfOutputHeight(const char* newVal);
01644 
01645     /**
01646      * Effective when outputting to PDF.
01647      * Scales the height of PDF to output. A value with a unit or % value can be specified as length.
01648      * @since 4.0
01649      *
01650      * @param   newVal  Pointer to a null-terminated string to be used as the width of PDF to output.
01651      */
01652     void setPdfOutputHeightW(const wchar_t* newVal);
01653 
01654     /**
01655      * Effective when outputting to PDF.
01656      * Gets the value of whether to issue error or not when PDF/X is generating.
01657      * @since 4.0
01658      *
01659      * @return  the value of whether to issue error.
01660      */
01661     long getPdfErrorOnPDFXFault();
01662 
01663     /**
01664      * Effective when outputting to PDF.
01665      * An error is not issued when PDF/X is generating.
01666      * @since 4.0
01667      *
01668      * @param   newVal  If the value is 'true' is specified, no error is issued.
01669      */
01670     void setPdfErrorOnPDFXFault(long newVal);
01671 
01672     /**
01673      * Effective when outputting to PDF.
01674      * Output reverse page or not.
01675      * @since 5.2
01676      *
01677      * @return  the value of whether to output reverse page or not.
01678      */
01679     bool getPdfReversePage() const;
01680 
01681     /**
01682      * Effective when outputting to PDF.
01683      * Output reverse page or not.
01684      * @since 5.2
01685      *
01686      * @param   newVal  If the value is 'true' is reverse page.
01687      */
01688     void setPdfReversePage(bool newVal);
01689 
01690     /**
01691      * Effective when outputting to PDF.
01692      * Import 3D annotations or not.
01693      * @since 5.2
01694      *
01695      * @return  the value of whether to import 3D annotations or not.
01696      */
01697     bool getPdfImport3DAnnotation() const;
01698 
01699     /**
01700      * Effective when outputting to PDF.
01701      * Import 3D annotations or not.
01702      * @since 5.2
01703      *
01704      * @param   newVal  If the value is 'true' is import 3D annotations.
01705      */
01706     void setPdfImport3DAnnotation(bool newVal);
01707 
01708     /**
01709      * Effective when outputting to PDF.
01710      * Convert image color space or not.
01711      * @since 5.2
01712      *
01713      * @return  the value of whether to convert image color space or not.
01714      */
01715     bool getPdfConvertImageColorSpace() const;
01716 
01717     /**
01718      * Effective when outputting to PDF.
01719      * Convert image color space or not.
01720      * @since 5.2
01721      *
01722      * @param   newVal  If the value is 'true' is convert image color space.
01723      */
01724     void setPdfConvertImageColorSpace(bool newVal);
01725 
01726     /**
01727      * Effective when outputting to SVG.
01728      * Get the version of SVG.
01729      * @since 3.3
01730      *
01731      * @return  the version of SVG.
01732      */
01733     XfoSVGVERSION   getSvgVersion() const;
01734 
01735     /**
01736      * Effective when outputting to SVG.
01737      * Enables specifying whether the version of SVG is 1.1, Basic or Tiny.
01738      * @since 3.3
01739      *
01740      * @param   newVal  Specifies the version of SVG.
01741      */
01742     void setSvgVersion(XfoSVGVERSION newVal);
01743 
01744     /**
01745      * Effective when outputting to SVG.
01746      * Gets the setting indicating whether to compress the outputted SVG into gzip format or not.
01747      * @since 3.3
01748      *
01749      * @return  whether gzip compression or not.
01750      */
01751     long getSvgGzipCompression() const;
01752 
01753     /**
01754      * Effective when outputting to SVG.
01755      * Specifies whether to compress the outputted SVG into gzip format or not.
01756      * @since 3.3
01757      *
01758      * @param   newVal      If the value is 'true' is specified, enables to compress data into gzip format.
01759      */
01760     void setSvgGzipCompression(long newVal);
01761 
01762     /**
01763      * Effective when outputting to SVG.
01764      * Gets the setting indicating whether to embed fonts in the outputted SVG.
01765      * @since 3.3
01766      *
01767      * @return  whether embeds fonts or not.
01768      */
01769     long getSvgEmbedAllFonts() const;
01770 
01771     /**
01772      * Effective when outputting to SVG.
01773      * Specifies whether to embed fonts in the outputted SVG.
01774      * @since 3.3
01775      *
01776      * @param   newVal      If the value is 'true' is specified, embeds fonts.
01777      */
01778     void setSvgEmbedAllFonts(long newVal);
01779 
01780     /**
01781      * Effective when outputting to SVG.
01782      * Gets the format for naming files when the outputted SVG becomes multiple.
01783      * @since 3.3
01784      *
01785      * @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.
01786      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01787      * @return  Returns the 'pVal'.
01788      */
01789     char* getSvgFormat(char* pVal, int size) const;
01790 
01791     /**
01792      * Effective when outputting to SVG.
01793      * Gets the format for naming files when the outputted SVG becomes multiple.
01794      * @since 3.3
01795      *
01796      * @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.
01797      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01798      * @return  Returns the 'pVal'.
01799      */
01800     wchar_t* getSvgFormatW(wchar_t* pVal, int size) const;
01801 
01802     /**
01803      * Effective when outputting to SVG.
01804      * Specifies the format for naming files when the outputted SVG becomes multiple.
01805      * @since 3.3
01806      *
01807      * @param   newVal  Pointer to a null-terminated string to be used as the SVG file name format.
01808      */
01809     void setSvgFormat(const char* newVal);
01810 
01811     /**
01812      * Effective when outputting to SVG.
01813      * Specifies the format for naming files when the outputted SVG becomes multiple.
01814      * @since 3.3
01815      *
01816      * @param   newVal  Pointer to a null-terminated string to be used as the SVG file name format.
01817      */
01818     void setSvgFormatW(const wchar_t* newVal);
01819 
01820     /**
01821      * Effective when outputting to SVG.
01822      * Gets the font specified to be embedded in SVG.
01823      * @since 3.3
01824      *
01825      * @param   pVal        Pointer to the buffer that will receive the fontnames. If the string is as long or longer than the buffer,
01826      *          the string is truncated and terminated with a NULL character.
01827      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01828      * @return  Returns the 'pVal'.
01829      */
01830     char* getSvgEmbedFonts(char* pVal, int size) const;
01831 
01832     /**
01833      * Effective when outputting to SVG.
01834      * Gets the font specified to be embedded in SVG.
01835      * @since 3.3
01836      *
01837      * @param   pVal        Pointer to the buffer that will receive the fontnames. If the string is as long or longer than the buffer,
01838      *          the string is truncated and terminated with a NULL character.
01839      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01840      * @return  Returns the 'pVal'.
01841      */
01842     wchar_t* getSvgEmbedFontsW(wchar_t* pVal, int size) const;
01843 
01844     /**
01845      * Effective when outputting to SVG.
01846      * Embeds the specified font in SVG to create. If you want to specify plural fonts, put commas between fonts.
01847      * @since 3.3
01848      *
01849      * @param   newVal  fonts specified to embed
01850      */
01851     void setSvgEmbedFonts(const char* newVal);
01852 
01853     /**
01854      * Effective when outputting to SVG.
01855      * Embeds the specified font in SVG to create. If you want to specify plural fonts, put commas between fonts.
01856      * @since 3.3
01857      *
01858      * @param   newVal  fonts specified to embed
01859      */
01860     void setSvgEmbedFontsW(const wchar_t* newVal);
01861 
01862     /**
01863      * Effective when outputting to SVG.
01864      * Gets the value of whether to issues the error when failing to embed fonts.
01865      * @since 3.3
01866      *
01867      * @return  the value of whether to issues the error
01868      */
01869     long getSvgErrorOnEmbedFault() const;
01870 
01871     /**
01872      * Effective when outputting to SVG.
01873      * An error is issued in case of failing to embed fonts.
01874      * @since 3.3
01875      *
01876      * @param   newVal  If the value is 'true' is specified, an error is issued.
01877      */
01878     void setSvgErrorOnEmbedFault(long newVal);
01879 
01880     /**
01881      * Effective when outputting to SVG.
01882      * Gets the value of how to compress the images embedded in SVG.
01883      * @since 3.3
01884      *
01885      * <table border="0" cellspacing="0" cellpadding="0">
01886      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 Auto conversion</td></tr>
01887      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG conversion</td></tr>
01888      *  <tr><td>IMGCMPR_PNG     </td><td>= 2 PNG conversion</td></tr>
01889      * </table>
01890      *
01891      * @return  the value of how raster graphics are compressed and stored
01892      */
01893     XfoIMAGECONVERSION getSvgImageConversion() const;
01894 
01895     /**
01896      * Effective when outputting to SVG.
01897      * Selects how to compress the images embedded in SVG to create from the following.
01898      * @since 3.3
01899      *
01900      * <table border="0" cellspacing="0" cellpadding="0">
01901      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 Auto conversion</td></tr>
01902      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG conversion</td></tr>
01903      *  <tr><td>IMGCMPR_PNG     </td><td>= 2 PNG conversion</td></tr>
01904      * </table>
01905      *
01906      * @param   newVal  the value of how raster graphics are compressed and stored
01907      */
01908     void setSvgImageConversion(XfoIMAGECONVERSION newVal);
01909 
01910     /**
01911      * Gets the value of the quality of JPEG format that is specified by setSvgImageConversion() stored in SVG.
01912      * @since 3.3
01913      *
01914      * @return  the value of the quality
01915      */
01916     int getSvgJPEGQuality() const;
01917 
01918     /**
01919      * Effective when outputting to SVG.
01920      * Specifies the quality of the Raster graphics when stored in JPEG format using the range of 1-100.
01921      * The quality becomes higher in proportion to the increase in the number; however the file size also becomes larger.
01922      * The initial value is 80.
01923      * @since 3.3
01924      *
01925      * @param   newVal  JPEG quality (1 to 100)
01926      */
01927     void setSvgJPEGQuality(int newVal);
01928 
01929     /**
01930      * Effective when outputting to SVG.
01931      * Gets specification how to treat the referred image.
01932      * @since 3.3
01933      *
01934      * <table border="0" cellspacing="0" cellpadding="0">
01935      *  <tr><td>IMGPT_EMBED_ALL </td><td>= 0 Embeds all images to SVG.</td></tr>
01936      *  <tr><td>IMGPT_COPY_ALL  </td><td>= 1 Copies all image files to the destination that is specified by setSvgImageCopyPath, and then links.</td></tr>
01937      *  <tr><td>IMGPT_LINK      </td><td>= 2 Links images that have been linked, and embeds the embedded image. However, the raster images other than JPEG and PNG are always embedded.</td></tr>
01938      *  <tr><td>IMGPT_COPY      </td><td>= 3 Copies images that have been linked to the destination that is specified by setSvgImageCopyPath, and links. The embedded image are embedded.</td></tr>
01939      * </table>
01940      *
01941      * @return  specification how to treat the referred image.
01942      */
01943     XfoIMAGEPROCTYPE getSvgImageProcessingType() const;
01944 
01945     /**
01946      * Effective when outputting to SVG.
01947      * Specifies how to treat the referred image.
01948      * @since 3.3
01949      *
01950      * <table border="0" cellspacing="0" cellpadding="0">
01951      *  <tr><td>IMGPT_EMBED_ALL </td><td>= 0 Embeds all images to SVG.</td></tr>
01952      *  <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>
01953      *  <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>
01954      *  <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>
01955      * </table>
01956      *
01957      * @param   newVal  specification how to treat the referred image.
01958      */
01959     void setSvgImageProcessingType(XfoIMAGEPROCTYPE newVal);
01960 
01961     /**
01962      * Effective when outputting to SVG.
01963      * Gets the copy destination of image as specifying IMGPT_COPY_ALL or IMGPT_COPY by setSvgImageProcessingType.
01964      * @since 3.3
01965      *
01966      * @param   pVal        Pointer to the buffer that will receive the image copy path. If the string is as long or longer than the buffer,
01967      *          the string is truncated and terminated with a NULL character.
01968      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01969      * @return  Returns the 'pVal'.
01970      */
01971     char* getSvgImageCopyPath(char* pVal, int size) const;
01972 
01973     /**
01974      * Effective when outputting to SVG.
01975      * Specifies the copy destination of image as specifying IMGPT_COPY_ALL or IMGPT_COPY by setSvgImageProcessingType.
01976      * @since 3.3
01977      *
01978      * @param   newVal  Pointer to a null-terminated string to be used as image copy path
01979      */
01980     void setSvgImageCopyPath(const char* newVal);
01981 
01982     /**
01983      * Effective when outputting to SVG.
01984      * Gets the copy destination of image as specifying IMGPT_COPY_ALL or IMGPT_COPY by setSvgImageProcessingType.
01985      * @since 3.3
01986      *
01987      * @param   pVal        Pointer to the buffer that will receive the image copy path. If the string is as long or longer than the buffer,
01988      *          the string is truncated and terminated with a NULL character.
01989      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01990      * @return  Returns the 'pVal'.
01991      */
01992     wchar_t* getSvgImageCopyPathW(wchar_t* pVal, int size) const;
01993 
01994     /**
01995      * Effective when outputting to SVG.
01996      * Specifies the copy destination of image as specifying IMGPT_COPY_ALL or IMGPT_COPY by setSvgImageProcessingType.
01997      * @since 3.3
01998      *
01999      * @param   newVal  Pointer to a null-terminated string to be used as image copy path
02000      */
02001     void setSvgImageCopyPathW(const wchar_t* newVal);
02002 
02003     /**
02004      * Effective when outputting to SVG.
02005      * Gets specification whether to divide into multiple SVG or to output as one SVG when the formatted result extends to multiple pages. <BR>
02006      * @since 3.3
02007      *
02008      * @return  specification whether to divide into multiple SVG or to output as one SVG when the formatted result extends to multiple pages.
02009      */
02010     long getSvgSingleFile() const;
02011 
02012     /**
02013      * Effective when outputting to SVG.
02014      * Specifies whether to divide into multiple SVG or to output as one SVG when the formatted result extends to multiple pages. <BR>
02015      * 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>
02016      * Effective only when outputting to the file. It is invalid in the output without the file name like the stream etc.
02017      * @since 3.3
02018      *
02019      * @param   newVal  specification whether to divide into multiple SVG or to output as one SVG when the formatted result extends to multiple pages.
02020      */
02021     void setSvgSingleFile(long newVal);
02022 
02023 #if !defined(_DOXYGEN)
02024     /**
02025      * @deprecated
02026      */
02027     char* getSvgSingleFileMaxHeight(char* pVal, int size) const;
02028 
02029     /**
02030      * @deprecated
02031      */
02032     wchar_t* getSvgSingleFileMaxHeightW(wchar_t* pVal, int size) const;
02033 
02034     /**
02035      * @deprecated
02036      */
02037     void setSvgSingleFileMaxHeight(const char* newVal);
02038 
02039     /**
02040      * @deprecated
02041      */
02042     void setSvgSingleFileMaxHeightW(const wchar_t* newVal);
02043 
02044     /**
02045      * @deprecated
02046      */
02047     int getSvgSingleFileMaxPages() const;
02048 
02049     /**
02050      * @deprecated
02051      */
02052     void setSvgSingleFileMaxPages(int newVal);
02053 
02054     /**
02055      * @deprecated
02056      */
02057     int getSvgImageDownsamplingDPI() const;
02058 
02059     /**
02060      * @deprecated
02061      */
02062     void setSvgImageDownsamplingDPI(int dpi);
02063 
02064     /**
02065      * @deprecated
02066      */
02067     int getSvgImageDownsamplingMethod() const;
02068 
02069     /**
02070      * @deprecated
02071      */
02072     void setSvgImageDownsamplingMethod(int type);
02073 #endif
02074 
02075     /**
02076      * Effective when outputting to SVG.
02077      * Gets specification whether to rename all file name to prefix specified by setSvgImagePrefix, or use original name.
02078      * @since 3.3
02079      *
02080      * @return  specification whether to rename all file name to prefix specified by setSvgImagePrefix, or use original name.
02081      */
02082     long getSvgImageRename() const;
02083 
02084     /**
02085      * Effective when outputting to SVG.
02086      * 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.
02087      * @since 3.3
02088      *
02089      * @param   newVal  specification whether to rename all file name to prefix specified by xfo_setSvgImagePrefix, or use original nam
02090      */
02091     void setSvgImageRename(long newVal);
02092 
02093     /**
02094      * Effective when outputting to SVG.
02095      * Gets the prefix of the file name when images are copied to the directory specified by setSvgImageCopyPath and processed.
02096      * @since 3.3
02097      *
02098      * @param   pVal        Pointer to the buffer that will receive the prefix. If the string is as long or longer than the buffer,
02099      *          the string is truncated and terminated with a NULL character.
02100      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02101      * @return  Returns the 'pVal'.
02102      */
02103     char* getSvgImagePrefix(char* pVal, int size) const;
02104 
02105     /**
02106      * Effective when outputting to SVG.
02107      * 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.
02108      * @since 3.3
02109      *
02110      * @param   newVal  the prefix of the file name.
02111      */
02112     void setSvgImagePrefix(const char* newVal);
02113 
02114     /**
02115      * Effective when outputting to SVG.
02116      * Gets the prefix of the file name when images are copied to the directory specified by setSvgImageCopyPath and processed.
02117      * @since 3.3
02118      *
02119      * @param   pVal        Pointer to the buffer that will receive the prefix. If the string is as long or longer than the buffer,
02120      *          the string is truncated and terminated with a NULL character.
02121      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02122      * @return  Returns the 'pVal'.
02123      */
02124     wchar_t* getSvgImagePrefixW(wchar_t* pVal, int size) const;
02125 
02126     /**
02127      * Effective when outputting to SVG.
02128      * 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.
02129      * @since 3.3
02130      *
02131      * @param   newVal  the prefix of the file name.
02132      */
02133     void setSvgImagePrefixW(const wchar_t* newVal);
02134 
02135     /**
02136      * Effective when outputting to SVG.
02137      * Gets specification whether to add sequential number to the output SVG even if it has only one-page.
02138      * @since 3.3
02139      *
02140      * @return  specification whether to add sequential number to the output SVG even if it has only one-page.
02141      */
02142     long getSvgSinglePageNumber() const;
02143 
02144     /**
02145      * Effective when outputting to SVG.
02146      * 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.
02147      * @since 3.3
02148      *
02149      * @param   newVal  specification whether to add sequential number to the output SVG even if it has only one-page.
02150      */
02151     void setSvgSinglePageNumber(long newVal);
02152 
02153 
02154 #if defined(_DOXYGEN) || (defined(_MSC_VER) && defined(_WIN32))
02155     /**
02156      * Effective when outputting to SVG.
02157      * Gets the value of the rasterised-resolution of the transformed raster images.
02158      * @since 3.3
02159      *
02160      * @return  Rasterised-resolution
02161      */
02162     int getSvgRasterizeResolution() const;
02163 
02164     /**
02165      * Effective when outputting to SVG.
02166      * 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.
02167      * This setting is effective only with Windows version.
02168      * @since 3.3
02169      *
02170      * @param   newVal  Rasterised-resolution (70 to 500)
02171      */
02172     void setSvgRasterizeResolution(int newVal);
02173 #endif
02174 
02175     /**
02176      * Get INX output mode.
02177      * @since 4.3
02178      *
02179      * @return  output mode of INX.
02180      */
02181     XfoINXOUTPUTMODE getInxOutputMode() const;
02182 
02183     /**
02184      * Set INX output mode.
02185      * @since 4.3
02186      *
02187      * @param   newVal  Output mode of INX.
02188      */
02189     void setInxOutputMode(XfoINXOUTPUTMODE newVal);
02190 
02191     /**
02192      * Get MIF output mode.
02193      * @since 4.3
02194      *
02195      * @return  Output mode of MIF.
02196      */
02197     XfoMIFOUTPUTMODE getMifOutputMode() const;
02198 
02199     /**
02200      * Set MIF output mode.
02201      * @since 4.3
02202      *
02203      * @param   newVal  Output mode of MIF.
02204      */
02205     void setMifOutputMode(XfoMIFOUTPUTMODE newVal);
02206 
02207     /**
02208      * Get MIF image processing mode.
02209      * @since 5.2
02210      *
02211      * @return  Image processing mode.
02212      */
02213     XfoMIFIMAGEPROCMODE getMifIpMode();
02214 
02215     /**
02216      * Set MIF image processing mode
02217      * @since 5.2
02218      *
02219      * @param   mode    Image processing mode
02220      */
02221     void setMifIpMode(XfoMIFIMAGEPROCMODE mode);
02222 
02223     /**
02224      * Get specifies of the FlashPartiallyOutput.
02225      * @since 6.0
02226      *
02227      * @return  specifies of FlashPartiallyOutput.
02228      */
02229     long getFlashPartiallyOutput() const;
02230 
02231     /**
02232      * When an error occurs within the document, the flash file in process will be outputted.
02233      * Effective when outputting to Flash.
02234      * @since 6.0
02235      *
02236      * @param   newVal  Specifies zero or nonzero.
02237      */
02238     void setFlashPartiallyOutput(long newVal);
02239 
02240     /**
02241      * Get specifies of the FlashHidePageButton.
02242      * @since 6.0
02243      *
02244      * @return  specifies of FlashHidePageButton.
02245      */
02246     long getFlashHidePageButton() const;
02247 
02248     /**
02249      * Output a no page button. Effective when outputting to Flash.
02250      * @since 6.0
02251      *
02252      * @param   newVal  If the value is 'true' is specified, output a no page button.
02253      */
02254     void setFlashHidePageButton(long newVal);
02255 
02256     /**
02257      * Get the start volume of document to output.
02258      * @since 3.2
02259      *
02260      * @return  start volume of document to output.
02261      */
02262     long getStartVolume() const;
02263 
02264     /**
02265      * Specifies the start volume of document to output.
02266      * If the start volume is omitted or the specified value is 0 or less, the start volume is
02267      * considered from the first volume.
02268      * If the setting is inconsistent, (for example, StartVolume=5 EndVolume=3) an error occurs.
02269      * @since 3.2
02270      *
02271      * @param   newVal  start volume of output.
02272      */
02273     void setStartVolume(long newVal);
02274 
02275     /**
02276      * Get the end volume of document to output.
02277      * @since 3.2
02278      *
02279      * @return  end volume of output.
02280      */
02281     long getEndVolume() const;
02282 
02283     /**
02284      * Specifies the end volume of document to output.
02285      * If the end volume is omitted or the specified value exceeds the actual volume, the end volume
02286      * is considered as the last volume.
02287      * If the setting is inconsistent, (for example, StartVolume=5 EndVolume=3) an error occurs.
02288      * @since 3.2
02289      *
02290      * @param   newVal  end volume of output.
02291      */
02292     void setEndVolume(long newVal);
02293 
02294     /**
02295      * Get multiple volume of PDF output.
02296      * @since 3.2
02297      *
02298      * @return  If zero is returned, multiple volume don't specified.
02299      *          If nonezero is returned, multiple volume specified.
02300      */
02301     long getMultiVolume() const;
02302 
02303     /**
02304      * Specifies multiple volume of PDF output.
02305      * @since 3.2
02306      *
02307      * @param   newVal  Specifies zero or nonzero.
02308      */
02309     void setMultiVolume(long newVal);
02310 
02311     /**
02312      * Gets the number of all the separate volumes when outputting PDF to multiple separate volumes.
02313      * @since 3.2
02314      *
02315      * @return  Returns total volume count.
02316      */
02317     long getTotalVolumeCount() const;
02318 
02319     /**
02320      * Gets the number of the actual separate volumes when outputting PDF to multiple separate volumes.
02321      * @since 3.2
02322      *
02323      * @return  Returns output volume count.
02324      */
02325     long getOutputVolumeCount() const;
02326 
02327     /**
02328      * Gets the split-by-pages setting
02329      * @since 6.1
02330      *
02331      * @return  split-by-pages setting (0:No split 1:Split by each page)
02332      */
02333     int getSplitPages() const;
02334 
02335     /**
02336      * Sets the split-by-pages setting
02337      * @since 6.1
02338      *
02339      * @param   newVal  split-by-pages setting (0:No split 1:Split by each page)
02340      */
02341     void setSplitPages(int newVal);
02342 
02343     /**
02344      * Gets the initial page number.
02345      * @since 6.1
02346      *
02347      * @return  initial page number
02348      */
02349     int getInitialPageNumber() const;
02350 
02351     /**
02352      * Sets the initial page number.
02353      * @since 6.1
02354      *
02355      * @param   newVal  initial page number
02356      */
02357     void setInitialPageNumber(int newVal);
02358 
02359     /**
02360      * Gets the initial volume number.
02361      * @since 6.1
02362      *
02363      * @return  initial volume number
02364      */
02365     int getInitialVolumeNumber() const;
02366 
02367     /**
02368      * Sets the initial volume number.
02369      * @since 6.1
02370      *
02371      * @param   newVal  initial volume number
02372      */
02373     void setInitialVolumeNumber(int newVal);
02374 
02375     /**
02376      * Gets the partial volume mode.
02377      * @since 6.1
02378      *
02379      * @return  partial volume mode
02380      */
02381     bool getPartialVolume() const;
02382 
02383     /**
02384      * Sets the partial volume mode.
02385      * @since 6.1
02386      *
02387      * @param   newVal  partial volume mode
02388      */
02389     void setPartialVolume(bool newVal);
02390 
02391 
02392     /**
02393      * Get the error level to abort formatting process.
02394      *
02395      * @return  Returns the error level.
02396      */
02397     XfoIfErrorLevel getExitLevel() const;
02398 
02399     /**
02400      * Error level to abort formatting process. AH Formatter will stop formatting when the detected
02401      * error level is equal to ExitLevel property or higher. The default value is 2 (Warning).
02402      * Thus if an error occurred and error level is 2 (Warning) or higher, formatting process will be
02403      * aborted. Please use the value from 1 to 4. When the value of 5 or more specified, it is considered
02404      * to be the value of 4. If a error-level:4 (fatal error) occurs, the formatting process will be
02405      * aborted unconditionally.
02406      * BTW : An error is not displayed no matter what value may be specified to be this property.
02407      *
02408      * <table border="0" cellspacing="0" cellpadding="0">
02409      *  <tr><td>ELVL_INFORMATION    </td><td>= 1 Information</td></tr>
02410      *  <tr><td>ELVL_WARNING        </td><td>= 2 Warning</td></tr>
02411      *  <tr><td>ELVL_RECOVERABLE    </td><td>= 3 Recoveable Error</td></tr>
02412      *  <tr><td>ELVL_FATAL          </td><td>= 4 Fatal Error</td></tr>
02413      * </table>
02414      *
02415      * @param   newVal  error level to abort formatting process.
02416      */
02417     void setExitLevel(XfoIfErrorLevel newVal);
02418 
02419     /**
02420      * Returns the error level of the error that occurred during the formatting process.
02421      *
02422      * <table border="0" cellspacing="0" cellpadding="0">
02423      *  <tr><td>ELVL_INFORMATION    </td><td>= 1 Information</td></tr>
02424      *  <tr><td>ELVL_WARNING        </td><td>= 2 Warning</td></tr>
02425      *  <tr><td>ELVL_RECOVERABLE    </td><td>= 3 Recoveable Error</td></tr>
02426      *  <tr><td>ELVL_FATAL          </td><td>= 4 Fatal Error</td></tr>
02427      * </table>
02428      *
02429      * @return  Returns the error level.
02430      */
02431     XfoIfErrorLevel getErrorLevel() const;
02432 
02433     /**
02434      * Returns the error code of the error that occurred during the formatting process.
02435      * Zero means no error. Non-zero indicates any error occurred.
02436      *
02437      * @return  Returns the error code.
02438      */
02439     XfoIfErrorCode getErrorCode() const;
02440 
02441     /**
02442      * Returns the error message of the error that occurred during the formatting process.
02443      *
02444      * @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.
02445      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02446      * @return  Returns the 'pVal'.
02447      */
02448     char* getErrorMessage(char* pVal, int size) const;
02449     /**
02450      * Returns the error message of the error that occurred during the formatting process.
02451      *
02452      * @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.
02453      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02454      * @return  Returns the 'pVal'.
02455      */
02456     wchar_t* getErrorMessageW(wchar_t* pVal, int size) const;
02457 
02458     /**
02459      * Sets the substitution of font name. This substitution acts on the font names existing in FO.
02460      * The font name 'fontName' is replaced to 'aliasName'.
02461      *
02462      * @param   src     Specifies the font name which is replaced.
02463      * @param   dst     Specifies the aliasName.
02464      */
02465     void setFontAlias(const char* src, const char* dst);
02466     /**
02467      * Sets the substitution of font name. This substitution acts on the font names existing in FO.
02468      * The font name 'fontName' is replaced to 'aliasName'.
02469      *
02470      * @param   src     Specifies the font name which is replaced.
02471      * @param   dst     Specifies the aliasName.
02472      */
02473     void setFontAliasW(const wchar_t* src, const wchar_t* dst);
02474 
02475     /**
02476      * Clear all substitutions of font name.
02477      *
02478      */
02479     void clearFontAlias();
02480 
02481     /**
02482      * Erase the substitution of font name 'fontName'.
02483      *
02484      * @param   src Specifies the font name which is replaced.
02485      */
02486     void eraseFontAlias(const char* src);
02487     /**
02488      * Erase the substitution of font name 'fontName'.
02489      *
02490      * @param   src Specifies the font name which is replaced.
02491      */
02492     void eraseFontAliasW(const wchar_t* src);
02493 
02494     /**
02495      * Execute formatting and output to a PDF specified in OutputFilePath or printer specified in PrinterName.
02496      *
02497      * @return  Returns the error code. Zero means no error. Non-zero indicates any error occurred.
02498      */
02499     XfoIfErrorCode execute(bool bNoThrow=false);
02500 
02501     /**
02502      * Executes the formatting of XSL-FO document specified for inputStream, and outputs it to outputStream in the output form specified for setPrinterName.
02503      * @since 3.3
02504      *
02505      * @param   src Specifies XSL-FO document.
02506      * @param   out the output destination of the formatting result.
02507      */
02508     void render(std::istream& src, std::ostream& out);
02509 
02510     /**
02511      * Initialize formatting engine.
02512      *
02513      */
02514     void clear();
02515 
02516     /**
02517      * Set parameter name and value for xsl:param.
02518      *
02519      * @param   paramName name.
02520      * @param   value   parameter value.
02521      */
02522     void setXSLTParam(const char* paramName, const char* value);
02523     /**
02524      * Set parameter name and value for xsl:param.
02525      *
02526      * @param   paramName name.
02527      * @param   value   parameter value.
02528      */
02529     void setXSLTParamW(const wchar_t* paramName, const wchar_t* value);
02530 
02531     /**
02532      * Clear all parameter name and value for xsl:param.
02533      *
02534      */
02535     void clearXSLTParam();
02536 
02537     /**
02538      * Register the MessageListener interface to the instance of implemented class
02539      * The error that occurred during the formatting process can be received as the event.
02540      *
02541      * @param   listener Pointer of the MessageListener instance.
02542      */
02543     void setMessageListener(MessageListener* listener);
02544 
02545     /**
02546      * Register the FormatPageListener interface to the instance of implemented class
02547      * The page number that formatted during the formatting process can be received as the event.
02548      *
02549      * @param   listener Pointer of the FormatPageListener instance.
02550      */
02551     void setFormatPageListener(FormatPageListener* listener);
02552 
02553     /**
02554      * Get the error output type.
02555      *
02556      * @return  Error output type.
02557      */
02558     XfoErrorStreamType getErrorStreamType() const;
02559 
02560     /**
02561      * Set the error output type.
02562      *
02563      * @param   type        Error output type.
02564      *  <table border="0" cellspacing="0" cellpadding="0">
02565      *  <tr><td>OST_NONE    </td><td>: No error output</td></tr>
02566      *  <tr><td>OST_STDOUT  </td><td>: Error output to stdout</td></tr>
02567      *  <tr><td>OST_STDERR  </td><td>: Error output to stderr</td></tr>
02568      *  </table>
02569      */
02570     void setErrorStreamType(XfoErrorStreamType type);
02571 
02572     /**
02573      * Get the printer name where the formatted result is outputted.
02574      *
02575      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02576      *          the string is truncated and terminated with a NULL character.
02577      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02578      * @return  Returns the 'pVal'.
02579      */
02580     char* getPrinterName(char* pVal, int size) const;
02581     /**
02582      * Get the printer name where the formatted result is outputted.
02583      *
02584      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02585      *          the string is truncated and terminated with a NULL character.
02586      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02587      * @return  Returns the 'pVal'.
02588      */
02589     wchar_t* getPrinterNameW(wchar_t* pVal, int size) const;
02590 
02591     /**
02592      * Specifies the output format or the printer name to output.
02593      * When a printer name is specified, the formatted result is outputted to that printer.
02594      * When "\@STDPRN" is specified, the formatted result is outputted to the currently used printer.
02595      * When "\@PDF" is specified, the formatted result is outputted to PDF.
02596      * When "\@SVG" is specified, the formatted result is outputted to SVG.
02597      * When "\@PS" is specified, the formatted result is outputted to PostScript.
02598      * When "\@INX" is specified, the formatted result is outputted to INX.
02599      * When "\@MIF" is specified, the formatted result is outputted to MIF.
02600      * When "\@TEXT" is specified, the formatted result is outputted to a text format file.
02601      * When "\@AreaTree" is specified, the AreaTree will be outputted.
02602      * When omitted, it is considered as "\@PDF" was specified.
02603      * It's impossible to output to the printer with any OS's other than Windows.
02604      *
02605      * @param   newVal  Pointer to a null-terminated string to be used as the printer name.
02606      */
02607     void setPrinterName(const char* newVal);
02608     /**
02609      * Specifies the output format or the printer name to output.
02610      * When a printer name is specified, the formatted result is outputted to that printer.
02611      * When "\@STDPRN" is specified, the formatted result is outputted to the currently used printer.
02612      * When "\@PDF" is specified, the formatted result is outputted to PDF.
02613      * When "\@SVG" is specified, the formatted result is outputted to SVG.
02614      * When "\@PS" is specified, the formatted result is outputted to PostScript.
02615      * When "\@INX" is specified, the formatted result is outputted to INX.
02616      * When "\@MIF" is specified, the formatted result is outputted to MIF.
02617      * When "\@TEXT" is specified, the formatted result is outputted to a text format file.
02618      * When "\@AreaTree" is specified, the AreaTree will be outputted.
02619      * When omitted, it is considered as "\@PDF" was specified.
02620      * It's impossible to output to the printer with any OS's other than Windows.
02621      *
02622      * @param   newVal  Pointer to a null-terminated string to be used as the printer name.
02623      */
02624     void setPrinterNameW(const wchar_t* newVal);
02625 
02626     /**
02627      * Get formatted total pages.
02628      * @since 3.2
02629      *
02630      * @return  the value of formatted total pages.
02631      */
02632     long getFormattedPages() const;
02633 
02634 #if defined(_DOXYGEN) || (defined(_MSC_VER) && defined(_WIN32))
02635 
02636     /**
02637      * Get the printer setting file URI.
02638      *
02639      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02640      *          the string is truncated and terminated with a NULL character.
02641      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02642      * @return  Returns the 'pVal'.
02643      */
02644     char* getPrinterSettingURI(char* pVal, int size) const;
02645     /**
02646      * Get the printer setting file URI.
02647      *
02648      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02649      *          the string is truncated and terminated with a NULL character.
02650      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02651      * @return  Returns the 'pVal'.
02652      */
02653     wchar_t* getPrinterSettingURIW(wchar_t* pVal, int size) const;
02654 
02655     /**
02656      * Specifies the printer setting file URI.
02657      * This setting is effective only with Windows version.
02658      *
02659      * @param   newVal  Pointer to a null-terminated string to be used as the printer name.
02660      */
02661     void setPrinterSettingURI(const char* newVal);
02662     /**
02663      * Specifies the printer setting file URI.
02664      * This setting is effective only with Windows version.
02665      *
02666      * @param   newVal  Pointer to a null-terminated string to be used as the printer name.
02667      */
02668     void setPrinterSettingURIW(const wchar_t* newVal);
02669 
02670     /**
02671      * Get the number of copies. Effective when outputting to printer.
02672      *
02673      * @return  Returns the number of copies.
02674      */
02675     long getPrnCopies() const;
02676 
02677     /**
02678      * Specifies the number of copies. Effective when outputting to printer.
02679      * If nothing is specified, the value is considered as 1.
02680      * This setting is effective only with Windows version.
02681      *
02682      * @param   newVal  the number of copies.
02683      */
02684     void setPrnCopies(long newVal);
02685 
02686     /**
02687      * Get collation of multiple copies.
02688      *
02689      * @return  If zero is returned, the same page is multi-copied continuously.
02690      *          If nonezero is returned, the pages specified from start to end are printed repeatedly.
02691      */
02692     long getPrnCollate() const;
02693 
02694     /**
02695      * Specifies collation of multiple copies. Effective when outputting to printer and the number of
02696      * copies is plural. If it is not specified or the value zero is specified, the same page is
02697      * multi-copied continuously.
02698      * If nonezero is specified, the pages specified from start to end are printed repeatedly.
02699      * This setting is effective only with Windows version.
02700      *
02701      * @param   newVal  Zpecifies zero or nonzero.
02702      */
02703     void setPrnCollate(long newVal);
02704 
02705     /**
02706      * Get the setting of whether print dialog box is displayed or not when printing
02707      *
02708      * @return  If zero, the print dialog box is displayed. If nonezero, the print dialog box is not displayed.
02709      */
02710     long getBatchPrint() const;
02711 
02712     /**
02713      * When the value 'false' is specified, the print dialog box is displayed when printing.
02714      * If the setting is omitted or the value 'true' is specified, the print dialog is not displayed.
02715      * This setting is effective only with Windows version.
02716      *
02717      * @param   newVal  If zero, the print dialog box is displayed. If nonezero, the print dialog box is not displayed.
02718      */
02719     void setBatchPrint(long newVal);
02720 
02721 #if !defined(_DOXYGEN)
02722     /**
02723      * @deprecated
02724      * Get the text of XML document you will format.
02725      * the use of this method is not recommended, use render method.
02726      * @since 3.1
02727      *
02728      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02729      *          the string is truncated and terminated with a NULL character.
02730      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02731      * @return  Returns the 'pVal'.
02732      */
02733     char* getDocumentText(char* pVal, int size) const;
02734 
02735     /**
02736      * @deprecated
02737      * Get the text of XML document you will format.
02738      * the use of this method is not recommended, use render method.
02739      * @since 3.1
02740      *
02741      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02742      *          the string is truncated and terminated with a NULL character.
02743      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02744      * @return  Returns the 'pVal'.
02745      */
02746     wchar_t* getDocumentTextW(wchar_t* pVal, int size) const;
02747 
02748     /**
02749      * @deprecated
02750      * Specifies the XML document you will format.
02751      * MSXML3/MSXML4 is required when formatting.
02752      * This setting is effective only with Windows version.
02753      * the use of this method is not recommended, use render method.
02754      * @since 3.1
02755      *
02756      * @param   newVal  Pointer to a null-terminated string to be used as the text of XML document.
02757      */
02758     void setDocumentText(const char* newVal);
02759 
02760     /**
02761      * @deprecated
02762      * Specifies the XML document you will format.
02763      * MSXML3/MSXML4 is required when formatting.
02764      * This setting is effective only with Windows version.
02765      * the use of this method is not recommended, use render method.
02766      * @since 3.1
02767      *
02768      * @param   newVal  Pointer to a null-terminated string to be used as the text of XML document.
02769      */
02770     void setDocumentTextW(const wchar_t* newVal);
02771 #endif
02772 
02773     /**
02774      * Get the text of XSL stylesheet for formatting.
02775      * @since 3.1
02776      *
02777      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02778      *          the string is truncated and terminated with a NULL character.
02779      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02780      * @return  Returns the 'pVal'.
02781      */
02782     char* getStylesheetText(char* pVal, int size) const;
02783 
02784     /**
02785      * Get the text of XSL stylesheet for formatting.
02786      * @since 3.1
02787      *
02788      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02789      *          the string is truncated and terminated with a NULL character.
02790      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02791      * @return  Returns the 'pVal'.
02792      */
02793     wchar_t* getStylesheetTextW(wchar_t* pVal, int size) const;
02794 
02795     /**
02796      * Specifies the text of XSL stylesheet for formatting.
02797      * If the specified XML document is FO, or the XML file contains the processing instruction
02798      * &lt;?xml-stylesheet ...?&gt; and the XSL stylesheet is specified, this setting is ignored.
02799      * Otherwise if there is no setting of this property, an error occurs.
02800      * MSXML3/MSXML4 is required when formatting.
02801      * This setting is effective only with Windows version.
02802      * @since 3.1
02803      *
02804      * @param   newVal  Pointer to a null-terminated string to be used as the text of XSL stylesheet.
02805      */
02806     void setStylesheetText(const char* newVal);
02807 
02808     /**
02809      * Specifies the text of XSL stylesheet for formatting.
02810      * If the specified XML document is FO, or the XML file contains the processing instruction
02811      * &lt;?xml-stylesheet ...?&gt; and the XSL stylesheet is specified, this setting is ignored.
02812      * Otherwise if there is no setting of this property, an error occurs.
02813      * MSXML3/MSXML4 is required when formatting.
02814      * This setting is effective only with Windows version.
02815      * @since 3.1
02816      *
02817      * @param   newVal  Pointer to a null-terminated string to be used as the text of XSL stylesheet.
02818      */
02819     void setStylesheetTextW(const wchar_t* newVal);
02820 
02821 #endif  /* WIN32 */
02822 
02823     /**
02824      * Get the version string of AH Formatter.
02825      * @since 4.0MR4
02826      *
02827      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02828      *          the string is truncated and terminated with a NULL character.
02829      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02830      * @return  Returns the 'pVal'.
02831      */
02832     char* getVersion(char* pVal, int size) const;
02833 
02834     /**
02835      * Get the version string of AH Formatter.
02836      * @since 4.0MR4
02837      *
02838      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02839      *          the string is truncated and terminated with a NULL character.
02840      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02841      * @return  Returns the 'pVal'.
02842      */
02843     wchar_t* getVersionW(wchar_t* pVal, int size) const;
02844 
02845 #if defined(_DOXYGEN) || (defined(_MSC_VER) && defined(_WIN32))
02846     /**
02847      * Acquires the setting of the smoothing processing to text.
02848      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02849      *
02850      * @return  Specify whether to perform the smoothing processing to text.
02851      */
02852     bool getGdiTextAntialias() const;
02853 
02854     /**
02855      * Performs the smoothing processing to text.
02856      * Effective only when printing and outputting images.
02857      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02858      *
02859      * @param   newVal  Smoothing value.
02860      */
02861     void setGdiTextAntialias(bool newVal);
02862 
02863     /**
02864      * Acquires the setting of the smoothing processing to borders.
02865      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02866      *
02867      * @return  Specify whether to perform the smoothing processing to borders.
02868      */
02869     bool getGdiLineartSmoothing() const;
02870 
02871     /**
02872      * Performs the smoothing processing to borders.
02873      * Effective only when printing and outputting images.
02874      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02875      *
02876      * @param   newVal  Smoothing value.
02877      */
02878     void setGdiLineartSmoothing(bool newVal);
02879 
02880     /**
02881      * Acquires the setting of the smoothing processing to images.
02882      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02883      *
02884      * @return  Specify whether to perform the smoothing processing to images.
02885      */
02886     bool getGdiImageSmoothing() const;
02887 
02888     /**
02889      * Performs the smoothing processing to images.
02890      * Effective only when printing and outputting images.
02891      * This setting is effective only with Windows XP or later / Windows Server2003 or later.
02892      *
02893      * @param   newVal  Smoothing value.
02894      */
02895     void setGdiImageSmoothing(bool newVal);
02896 #endif
02897 
02898     /**
02899      * Get the watermark text on each page.
02900      *
02901      * @param   pVal
02902      *      Pointer to the buffer that will receive the text.
02903      *      If the string is as long or longer than the buffer,
02904      *      the string is truncated and terminated with a NULL character.
02905      * @param   size
02906      *      Specifies the number of the 'pVal' buffer, including the NULL character.
02907      *      If the text exceeds this limit, it is truncated.
02908      * @return  Returns the 'pVal'.
02909      */
02910     char* getWatermarkText(char* pVal, int size) const;
02911 
02912     /**
02913      * Get watermark text on each page.
02914      *
02915      * @param   pVal
02916      *      Pointer to the buffer that will receive the text.
02917      *      If the string is as long or longer than the buffer,
02918      *      the string is truncated and terminated with a NULL character.
02919      * @param   size
02920      *      Specifies the number of the 'pVal' buffer, including the NULL character.
02921      *      If the text exceeds this limit, it is truncated.
02922      * @return  Returns the 'pVal'.
02923      */
02924     wchar_t* getWatermarkTextW(wchar_t* pVal, int size) const;
02925 
02926     /**
02927      * Displays the specified watermark text on each page.
02928      * Possible to make it multiple lines by delimiting with the line feed \n.
02929      * This setting is invalid with the evaluation version.
02930      *
02931      * @param   newVal
02932      *      Pointer to a null-terminated string.
02933      */
02934     void setWatermarkText(const char* newVal);
02935 
02936     /**
02937      * Displays the specified watermark text on each page.
02938      * Possible to make it multiple lines by delimiting with the line feed \n.
02939      * This setting is invalid with the evaluation version.
02940      *
02941      * @param   newVal
02942      *      Pointer to a null-terminated string.
02943      */
02944     void setWatermarkTextW(const wchar_t* newVal);
02945 
02946     /**
02947      * Get the font family of the watermark text.
02948      *
02949      * @param   pVal
02950      *      Pointer to the buffer that will receive the text.
02951      *      If the string is as long or longer than the buffer,
02952      *      the string is truncated and terminated with a NULL character.
02953      * @param   size
02954      *      Specifies the number of the 'pVal' buffer, including the NULL character.
02955      *      If the text exceeds this limit, it is truncated.
02956      * @return  Returns the 'pVal'.
02957      */
02958     char* getWatermarkFontFamily(char* pVal, int size) const;
02959 
02960     /**
02961      * Get the font family of the watermark text.
02962      *
02963      * @param   pVal
02964      *      Pointer to the buffer that will receive the text.
02965      *      If the string is as long or longer than the buffer,
02966      *      the string is truncated and terminated with a NULL character.
02967      * @param   size
02968      *      Specifies the number of the 'pVal' buffer, including the NULL character.
02969      *      If the text exceeds this limit, it is truncated.
02970      * @return  Returns the 'pVal'.
02971      */
02972     wchar_t* getWatermarkFontFamilyW(wchar_t* pVal, int size) const;
02973 
02974     /**
02975      * Specifies the font family to the character string which you set to watermark-text.
02976      *
02977      * @param   newVal
02978      *      Pointer to a null-terminated string.
02979      */
02980     void setWatermarkFontFamily(const char* newVal);
02981 
02982     /**
02983      * Specifies the font family to the character string which you set to watermark-text.
02984      *
02985      * @param   newVal
02986      *      Pointer to a null-terminated string.
02987      */
02988     void setWatermarkFontFamilyW(const wchar_t* newVal);
02989 
02990     /**
02991      * Get the font weight of the watermark text.
02992      *
02993      * @param   pVal
02994      *      Pointer to the buffer that will receive the text.
02995      *      If the string is as long or longer than the buffer,
02996      *      the string is truncated and terminated with a NULL character.
02997      * @param   size
02998      *      Specifies the number of the 'pVal' buffer, including the NULL character.
02999      *      If the text exceeds this limit, it is truncated.
03000      * @return  Returns the 'pVal'.
03001      */
03002     char* getWatermarkFontWeight(char* pVal, int size) const;
03003 
03004     /**
03005      * Get the font weight of the watermark text.
03006      *
03007      * @param   pVal
03008      *      Pointer to the buffer that will receive the text.
03009      *      If the string is as long or longer than the buffer,
03010      *      the string is truncated and terminated with a NULL character.
03011      * @param   size
03012      *      Specifies the number of the 'pVal' buffer, including the NULL character.
03013      *      If the text exceeds this limit, it is truncated.
03014      * @return  Returns the 'pVal'.
03015      */
03016     wchar_t* getWatermarkFontWeightW(wchar_t* pVal, int size) const;
03017 
03018     /**
03019      * Specifies the font weight to the character string which you set to watermark-text.
03020      * Possible to specify normal, bold or the numerical value from 100 to 900.
03021      *
03022      * @param   newVal
03023      *      Pointer to a null-terminated string.
03024      */
03025     void setWatermarkFontWeight(const char* newVal);
03026 
03027     /**
03028      * Specifies the font weight to the character string which you set to watermark-text.
03029      * Possible to specify normal, bold or the numerical value from 100 to 900.
03030      *
03031      * @param   newVal
03032      *      Pointer to a null-terminated string.
03033      */
03034     void setWatermarkFontWeightW(const wchar_t* newVal);
03035 
03036     /**
03037      * Get the font style of the watermark text.
03038      *
03039      * @param   pVal
03040      *      Pointer to the buffer that will receive the text.
03041      *      If the string is as long or longer than the buffer,
03042      *      the string is truncated and terminated with a NULL character.
03043      * @param   size
03044      *      Specifies the number of the 'pVal' buffer, including the NULL character.
03045      *      If the text exceeds this limit, it is truncated.
03046      * @return  Returns the 'pVal'.
03047      */
03048     char* getWatermarkFontStyle(char* pVal, int size) const;
03049 
03050     /**
03051      * Get the font style of the watermark text.
03052      *
03053      * @param   pVal
03054      *      Pointer to the buffer that will receive the text.
03055      *      If the string is as long or longer than the buffer,
03056      *      the string is truncated and terminated with a NULL character.
03057      * @param   size
03058      *      Specifies the number of the 'pVal' buffer, including the NULL character.
03059      *      If the text exceeds this limit, it is truncated.
03060      * @return  Returns the 'pVal'.
03061      */
03062     wchar_t* getWatermarkFontStyleW(wchar_t* pVal, int size) const;
03063 
03064     /**
03065      * Specifies the font style to the character string which you set to watermark-text.
03066      *
03067      * @param   newVal
03068      *      Pointer to a null-terminated string.
03069      */
03070     void setWatermarkFontStyle(const char* newVal);
03071 
03072     /**
03073      * Specifies the font style to the character string which you set to watermark-text.
03074      *
03075      * @param   newVal
03076      *      Pointer to a null-terminated string.
03077      */
03078     void setWatermarkFontStyleW(const wchar_t* newVal);
03079 
03080     /**
03081      * Get the opacity of the watermark text.
03082      *
03083      * @param   pVal
03084      *      Pointer to the buffer that will receive the text.
03085      *      If the string is as long or longer than the buffer,
03086      *      the string is truncated and terminated with a NULL character.
03087      * @param   size
03088      *      Specifies the number of the 'pVal' buffer, including the NULL character.
03089      *      If the text exceeds this limit, it is truncated.
03090      * @return  Returns the 'pVal'.
03091      */
03092     char* getWatermarkOpacity(char* pVal, int size) const;
03093 
03094     /**
03095      * Get the opacity of the watermark text.
03096      *
03097      * @param   pVal
03098      *      Pointer to the buffer that will receive the text.
03099      *      If the string is as long or longer than the buffer,
03100      *      the string is truncated and terminated with a NULL character.
03101      * @param   size
03102      *      Specifies the number of the 'pVal' buffer, including the NULL character.
03103      *      If the text exceeds this limit, it is truncated.
03104      * @return  Returns the 'pVal'.
03105      */
03106     wchar_t* getWatermarkOpacityW(wchar_t* pVal, int size) const;
03107 
03108     /**
03109      * Specifies the opacity to the character string which you set to watermark-text.
03110      *
03111      * @param   newVal
03112      *      Pointer to a null-terminated string.
03113      */
03114     void setWatermarkOpacity(const char* newVal);
03115 
03116     /**
03117      * Specifies the opacity to the character string which you set to watermark-text.
03118      *
03119      * @param   newVal
03120      *      Pointer to a null-terminated string.
03121      */
03122     void setWatermarkOpacityW(const wchar_t* newVal);
03123 
03124 };
03125 
03126 
03127 /***************************************************************
03128  * Exception class that returns the error information in the formatting process.
03129  */
03130 class XFOINTERFACE_API XfoException
03131 {
03132 public:
03133     /**
03134      * Constructor
03135      */
03136     XfoException(XfoIfErrorLevel errorLevel, XfoIfErrorCode errorCode, const wchar_t* errorMessage);
03137 
03138     /**
03139      * Copy constructor
03140      */
03141     XfoException(const XfoException &e);
03142 
03143     /**
03144      * Destructor
03145      */
03146     ~XfoException();
03147 
03148 private:
03149     XfoIfErrorLevel m_errorLevel;           /* Error level */
03150     XfoIfErrorCode  m_errorCode;            /* Error code */
03151     wchar_t*        m_errorMessage;         /* Error message */
03152 
03153 public:
03154     /**
03155      * Get the error level.
03156      *
03157      * @return  Returns the error level.
03158      */
03159     XfoIfErrorLevel getErrorLevel() const;
03160 
03161     /**
03162      * Get the error code.
03163      *
03164      * @return  Returns the error code.
03165      */
03166     XfoIfErrorCode getErrorCode() const;
03167 
03168     /**
03169      * Get the error message.
03170      *
03171      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
03172      *          the string is truncated and terminated with a NULL character.
03173      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
03174      * @return  Returns the 'pVal'.
03175      */
03176     char* getErrorMessage(char* pVal, int size) const;
03177 
03178     /**
03179      * Get the error message.
03180      *
03181      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
03182      *          the string is truncated and terminated with a NULL character.
03183      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
03184      * @return  Returns the 'pVal'.
03185      */
03186     wchar_t* getErrorMessageW(wchar_t* pVal, int size) const;
03187 };
03188 
03189 
03190 }
03191 
03192 #endif  /* XFOIFC_H__ */

Generated on 18 Mar 2016 for AHFormatter C/C++ Interface by Doxygen 1.3-rc2